/**
 * 
 * Pil style
 * 
 */
a,li,ul,p,span{
    outline: 0;
}
a:hover,li:hover,ul:hover,p:hover,span:hover{
    text-decoration: none;
    outline: none;
}


a:visited,a:active,button:focus{
    outline: 0;
    border: none;
}


/**header**/
@media only screen and (min-width: 981px) {
    header .lev{
        position: relative;
        width: 100%;
        float: left;
        text-align: center;
        padding:5px;
    }
    header .third-level{
        background-color: #eee;
	margin-top:10px!important;
	padding:10px 0;
    }
    header .second-level{
        margin-top:5px;
    }

}
/**header**/
@media only screen and (max-width: 980px) {

    header .second-level{
        width: 100%;
        text-align: center;
        padding-top: 18px;
        position: absolute;
        left: 0;
        z-index: 3;
    }
    header .third-level{
        position: absolute;
        top: 60px;
        left: 0;
        right: 0;
    }

}

/**bottoni GT**/
.btn-gt{
    display: inline-block;
    height: 50px;
    line-height: 50px;
    padding: 0 40px;
    text-transform: uppercase;
}
.btn-gt .btn-icon{
    display: inherit;
    width: 20px;    
    margin-right: 12px;
}
.btn-gt-black{
    background: #000;
    color:#fff;
}

.btn-gt-black a{
    color:#fff;
}


/**
 * HOMEPAGE
 */

.cms-home .main-container{
    max-width: 100%;
}
.cms-home .page .main-container{
    padding-top:0;
}
/** Slider */
.slick-arrow{ 
    color: transparent;
    width: 30px;
    height: 30px;
    background-color: #fff;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
}
.slick-next{
    background-image: url(../images/arrow_left.png);
}
.slick-prev{
    background-image: url(../images/arrow_right.png);
}
.slick-dots button{
    color: transparent;
    width: 40px;
    height: 2px;
    background-color: rgba(0,0,0,0.2);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 5px;
}
.slick-active button{
    background-color: #000;
}
.slick-dots li{
    display: inline-block;
}
.cms-home .std ul li{
    margin-left:0px;
}
.block-influencer{
    max-width: 1368px;
    margin: 50px auto;
    text-align: center;
}
.block-preview-ego ul li{
    list-style-type: none;
}
.block_home.influencer-slider .item{
    width: 440px;
    margin: 15px 8px;
}
.block_home.influencer-slider .slider_info{
    margin-top: 20px;
}
.block_home.main-slider button{
    display:none !important;
}
.block_home.main-slider .slider_info{
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    bottom:30px;
    text-align: center;
}
.main-slider img{
    width: 100%;
}
.block-testate{
    background-color: #FAF9F7;
    text-align:center;
    padding:26px;
}
.block-testate img{
    margin:0 auto;
    width: 100px;
}
.block-testate .slick-list{
    width: 80%;
    margin: 0 auto;
}
.frase-testata{
    margin-top: 34px;
}
.testate-slider .slick-arrow{
    position: absolute;
    top: 31px;
    border-radius: 50%;
}
.testate-slider .slick-prev{
    left: 0;
}
.testate-slider .slick-next{
    right: 0;
}
.block-preview-ego{
    width: 100%;
    position: relative;
    float:left;
    padding: 70px 0;
}
.block-preview-ego .ego-sx,.block-preview-ego .ego-dx{
    width: 50%;
    position: relative;
    float:left;
}
.block-preview-ego .visore,.block-preview-ego .ego-slider{
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
.block-preview-ego .visore{
    margin: 0 5% 0 15%;
}
.block-preview-ego .ego-slider{
    margin: 0 15% 0 5%;
}
.block-preview-ego .visore-info{
    text-align: center;
    bottom: 40px;
    position: absolute;
    width: 80%;
    margin: 0 5% 0 15%;
    padding: 0 5%;
}
.ego-slider ul{
    margin: 0;
    list-style-type: none;
}
.ego-slider .item-ego{
    width: 45%;
    float: left;
    text-align: center;
    margin-bottom: 7%;
}
.ego-slider .item-ego:nth-child(odd){
    margin-right:5%;
}
.ego-slider .item-ego img{
    margin-bottom: 7%;
}

.block-preview-about{
    width: 100%;
    position: relative;
    float:left;
}
.about-sx{
    width:60%;
    position: relative;
    float: left;
}
.about-dx{
    width:40%;
    position: relative;
    float: left;
    text-align: center;
}
.about-dx .visore-info{
    display: table;
    width: 100%;
    height: 100%;
    padding-top:48%;
}
.about-dx .content-info{
    display: table-cell;
    vertical-align: middle;
}
.block-preview-about .visore{
    width:100%;
}
.slick-slide img{
    margin:0 auto;
}

.catalog-category-view .page-title.category-title h1{
	text-align:center;
	font-weight:700;
        font-size: 18px;
	margin-bottom:10px;
}
.catalog-category-view .category-description.std {
	text-align:center;
}
@media only screen and (max-width: 980px){
    .btn-gt-black{
        border:1px solid #fff;
    }
    .slider_info{
        max-width: 250px;
        margin:0 auto;
    }
    .influencer-slider .slick-list,.ego-slider .slick-list{
        max-width: 80%;
        margin:0 auto;
        display:inline-block;
    }
    .block-preview-ego .ego-sx,.block-preview-ego .ego-dx{
        width: 100%;
    }
    .block-preview-ego .visore-info {
        padding: 0;
        margin: 0 15%;
        width: 70%;
        bottom: 20px;
    }
    .block-preview-ego .visore,.block-preview-ego .ego-slider{
        margin:0 auto;
    }
    .ego-slider .item-ego:nth-child(odd){
        margin-right:0;
        padding-right:5px;
    }
    .ego-slider .item-ego:nth-child(even){
        padding-left:5px;
    }
    .ego-slider .item-ego{
        margin-bottom: 10px;
    }
    .block-preview-ego .ego-slider{
        width:100%;
    }
    .block-preview-ego .ego-dx{
        margin-top: 20px;
    }
    .about-dx,.about-sx{
        width: 100%;
    }
    .about-dx .visore-info{
        padding-top: 20px;
    }
}


/* 
*
* COLLECTION
*
*/
.intro-coll{
    width: 65%;
    margin: 0 auto;
    text-align: center;
}

.intro-coll .title{
    font-size: 14px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.btn-variant{
    display: block;
    width: 150px;
    background: #fff;
    margin: 0 auto;
    padding:10px;
    text-align: center;
}
.btn-variant .btn-icon{
    display: inline-block;
}
.btn-variant b{
    display: inline-block;
    padding-left: 5px;
    text-transform: uppercase;
    font-size: 12px;
}
@media only screen and (max-width: 980px){
    .intro-coll{
        width: 90%;
        margin:5%;
    }
    .intro-coll .title{
        margin-bottom:30px;
    }
}

/* 
*
* HEADER
*
*/
.nav-primary li.level0{
    width: 20% !important;
}
span.icon.account-icon{
    background-image: url(../images/account.svg);
    background-position: center;
    width: 20px;
    position: relative;
    float: left;
    height: 16px;
    background-size: contain;
    margin-right: 5px;
}
.skip-content.skip-active .assistance-mobile{
    display: block;
    background: #FAF9F7;
    padding: 10px 20px;
}

.skip-content.skip-active .assistance-mobile li{
    text-transform: uppercase;
    line-height: 40px;
    margin-bottom: 20px;
    float: left;
    width: 100%;
}  
.skip-content.skip-active .assistance-mobile li a{
    display: block;
    border: 1px solid #000;
    line-height: 45px;
    text-align: center;
    font-size: 11px;
}
.skip-content.skip-active .assistance-mobile li img{
    display: inline-block;
    height: 15px;
    margin-right: 10px;
}
.skip-content.skip-active .assistance-mobile li.cambio-l li{
    width:45%;
}
.skip-content.skip-active .assistance-mobile li.cambio-l li:nth-child(odd){
    margin-right:5%;
}
.skip-content.skip-active .assistance-mobile li.cambio-l li:nth-child(even){
    margin-left:5%;
}
.skip-content.skip-active .assistance-mobile li.cambio-l li.active a{
    background: #000;
    color: #fff;
}
.header-minicart .product-details .product-name{
    margin-bottom: 10px;
    font-size: 16px !important;
    font-weight: bold;
}

@media only screen and (max-width: 980px){
    #header-nav #nav .nav-primary li.level0 {
        width: 100% !important;
    }
}


/* 
*
* FOOTER
*
*/
.footer-container {
    width: 100%;
    background-color:#000;
    padding-top: 40px;
    font-size: 11px;
    float:left;
}
.footer-content{
    max-width: 1030px;
    margin: 0 auto;
    display: block;
}
.footer_help{
    width: 100%;
    float: left;
}
.footer_help a.footer-btn{
    text-transform: uppercase;
}
.footer-btn:focus {
    outline-color: transparent;
    color: #fff !important;
}
.footer-title{
    color: #fff;
    margin-bottom:20px;
}
.footer-btn{
    border: 1px solid #fff;
    padding: 15px;
    width: 30%;
    float:left;
    color:#fff;
    text-align: center;
}
.footer-btn.b2{
    margin:0 5%; 
}
.footer_info{
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    float: left;
    width: 100%;
    margin-top: 35px;
    padding: 30px 0;
}
.footer_info li{
    width: 25%;
    float:left;
}
.footer_info li h4,.footer_info li a{
    color:#fff;
    width: 100%;
    float: left;
    margin-bottom:15px;
}
.footer-credits{
    background-color: #FAF9F7;
    color: #000;
    float: left;
    position: relative;
    width: 100%;
    display: block;
    padding: 15px;
    margin-top: 40px;
}
.footer_lnk{
    width:70%;
}
.footer_contact{
    width:30%;
    float:right;
}
.footer_coll{
    width:100%;
    float:left;
    padding-top: 30px;
}
.footer_coll h4,.footer_coll p{
    color:#fff;
}
.footer_mop{
    width:70%;
    float:left;
}
.footer_mop_content .verified{
    display: inline-block;
    width:17px;
    margin-right: 3px;
}
.footer_mop_content .carte{
    display: inline-block;
    width:40px;
    margin-right: 5px;
}
.footer_mop_content p{
    display: inline-block;
    margin-right: 5px;
}
.footer_social{
    width: 30%;
    float: left;
}
.footer_social ul{
    width: 100%;
    float:left;
}
.footer_social li{
    width: 33.333%;
    float:left;
}
.footer_social a{
    color: #fff;
    display: block;
    line-height: 18px;
}
.footer_social .logo-social{
    margin-right: 15px;
    display: inline-block;
}

@media only screen and (min-width: 981px){
    .footer_contact .footer-btn{
        width: 100%;
        margin: 0;
        text-align: left;
        padding: 0;
        border: 0;
        margin-bottom: 15px;
    }
    .footer_contact .footer-btn span{
        margin-right: 15px; 
    }
    .footer-credits .credits{
        position: absolute;
        right: 15px;
    }
}
@media only screen and (max-width: 980px){
    .footer-content{
        width: auto;
        margin: 0 20px;
        float: left;
    }
    .footer-btn{
        width:100%;
    }
    .footer-btn.b2{
        margin:10px 0;
    }
    .footer_info {
        border-top: none;
        border-bottom: none;
        padding: 0;
    }
    .footer_info .footer-btn{
        text-align: right;
    }
    .footer_info .footer-btn span{
        float: left;
    }
    .footer_lnk,.footer_contact,.footer_mop,.footer_social{
        float: left;
        width:100%;
    }
    .footer_info li{
        width: 50%;
    }
    .footer_info li:nth-child(3){
        clear: left;
        margin-top: 10px;
    }
    .footer_lnk{
        margin-top:30px;
    }
    .footer_mop_content{
        border:1px solid #fff;
        padding:20px;
    }
    .footer_social{
        margin-top:35px;
    }
    .footer_social a{
        border:1px solid #fff;
        padding:20px;
        text-align: center;
    }
    .footer_social li{
        width: 100%;
    }
    .footer_social li:nth-child(2){
        margin:10px 0;
    }
    .footer_mop_content p{
        width: 80%;
        margin-bottom: 10px;
    }
    .footer_mop_content .carte{
        width: 28px;
        margin: 6px;
    }
}


/* 
*
* ABOUT
*
*/
.block-about{
    text-align: center;
}
.block-about .blk-abt{
    width: 100%;
    float: left;
    margin: 40px 0;
}
.block-about .blk-abt .about-info h1{
    margin-bottom: 60px;
}
/*
.block-about .blk-abt .about-info h1{
    margin-bottom: 25px;
    padding-bottom: 25px;   
}

.block-about .blk-abt .about-info h1:after {
    content: '';
    position: absolute;
    left: 50%;
    height: 1px;
    background-color: #000;
    width: 60px;
    transform: translate(-50%, 45px);
}
*/

.block-about .blk-abt:nth-child(odd) img{
    width:50%;
    float:right;
}
.block-about .blk-abt:nth-child(odd) .about-info{
    width: 40%;
    margin: 10% 5%;
    float:right;
}

.block-about .blk-abt:nth-child(even) img{
    width: 50%;
    float:left;
}
.block-about .blk-abt:nth-child(even) .about-info{
    width: 40%;
    margin: 10% 5%;
    float:left;
}

.block-about .blk-abt:nth-child(1) img{
    width: 100%;
    float:left;
}
.block-about .blk-abt:nth-child(1) .about-info{
    width: 100%;
    margin: auto;
    padding: 0 20%;
    padding-top: 40px;
}

@media only screen and (max-width: 980px){
    .block-about .blk-abt .about-info h1{
        margin-bottom: 20px;
        margin-top: 20px;
    }
    .block-about .blk-abt:nth-child(odd) img{
        width:1000%;
        float:left;
    }
    .block-about .blk-abt:nth-child(odd) .about-info{
        width: 100%;
        margin:0;
        float:left;
        padding:20px;
    }
    .block-about .blk-abt:nth-child(even) img{
        width: 100%;
    }
    .block-about .blk-abt:nth-child(even) .about-info{
        width: 100%;
        margin: 0;
        padding:20px;
    }
    .block-about .blk-abt:nth-child(1) .about-info{
        padding:20px;
    }
}

/* 
*
* Popup discover product view
*
*/
.popup-discover{
    position: fixed;
    z-index: 1;
    background: transparent;
    top:0;
    bottom:0;
    left:0;
    right:0;
    visibility:hidden;
}
.popup-discover.visible{
    z-index:999;
    visibility: visible;
}
.popup-discover .bg{
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}
.popup-discover .popup-discover-content{
    position: absolute;
    background-color: #fff;
    top:20px;
    bottom:20px;
    left:20px;
    right:20px;
    overflow: hidden;
}
.popup-discover .popup-discover-container{
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}
.popup-discover .discover-ego, .popup-discover .inside-ego{
    width: 100%;
    float: left;
    position: relative;
    text-align: center;
}
.popup-discover .discover-ego{
    background-color: #F9F8F6;
    padding:20px;
}
.popup-discover .discover-ego .slider, .popup-discover .discover-ego .discover-info{
    width: 50%;
    float: left;
    position: relative;
    text-align: center;
}
.popup-discover .discover-ego .slider .slick-list{
    width: 80%;
    margin:0 auto;
    display: inline-block;
}
.popup-discover .discover-ego .slider .slick-arrow{
    border-radius: 50%;
    transform: translate(0,-700%);
}
.popup-discover .discover-ego .discover-info{
    transform: translate(0, 5%);
    padding: 10%;
}
.popup-discover .discover-ego .discover-info h2{
    margin-bottom: 40px;
}
.popup-discover .discover-ego .discover-info .short-description i{
    font-weight: bold;
    width:100%;
    float:left;
}
.popup-discover .inside-ego h1{
    margin: 50px 0;
}
.popup-discover .inside-ego .infografica,.popup-discover .inside-ego .text-container{
    max-width: 750px;
    margin:0 auto;
}
.popup-discover .inside-ego .text-container{
    margin-top: 40px;
    margin-bottom: 60px;
    display: flex;
}
.popup-discover .inside-ego .text-container .text-block{
    width: 50%;
    float: left;
    text-align: left;
    padding: 17px;
}
.popup-discover .inside-ego .text-container .text-block:nth-child(odd){
    clear: left;
}
.popup-discover .close-popup{
    position: absolute;
    top: 4px;
    right: 12px;
    z-index: 10;
    font-size: 17px;
    cursor:pointer;
}
.variant-slider{
    width:50%;
    float:left;
}
.variant-slider .slick-list{
    width:80%;
    float: left;
    display: inline-block;
}
.variant-slider .slick-arrow{
    width:10%;
    float: left;
    display: inline-block;  
    transform: translate(0px, 700%);
}
@media only screen and (max-width: 980px){
    .popup-discover .discover-ego .slider, .popup-discover .discover-ego .discover-info{
        width:100%;
        padding:10px 0;
    }
    .popup-discover .discover-ego .slider .slick-list{
        width:100%;
    }
    .popup-discover .discover-ego .slider .slick-arrow{
        position:absolute;
        bottom:-40px;
        transform: translate(0,0);
        z-index:100;
    }
    .popup-discover .discover-ego .slider .slick-next{
        right:0;
    }
    .popup-discover .inside-ego .infografica, .popup-discover .inside-ego .text-container{
        width:100%;
    }
    .variant-slider{
        width:100%;
        margin-top:40px;
    }
    .popup-discover .inside-ego .text-container .text-block{
        width:100%;
        padding:15px;
    }
    .popup-discover .discover-ego .discover-info h2{
        margin:20px 0;
    }
    .popup-discover .close-popup{
        right:7px;
    }
}


/* 
*
* Newsletter popup
*
*/
#newsletter-validate-detail .check-terms label {
    line-height: 12px;
    font-size: 10px;
    display: inline;
    font-family: "Montserrat", serif;
}
.cms-newsletter .std .text-container > div .block-subscribe .actions {
    max-width: 100% !important;
    width: 100%;
}
.cms-newsletter .std .text-container > div .block-subscribe .actions button{
    background-color: #000;
    color: #fff;
}

#newsletter-validate-detail .newsletter-res{
    font-size: 14px;
    margin-top: 20px;
    float: left;
}


/* 
*
* Checkout
*
*/
.one-step-checkout{
    padding: 0 20px !important;
}


@media only screen and (min-width: 981px) {
.block_home.slider.main-slider, .main-container .main, header .lev {
	max-width:1368px;
	margin:0 auto;
}

.catalog-category-view .category-products-gttheme {
	max-width:100%!important;
	margin:0!important;
}

.page .main-container {
	margin:130px 0!important;
}

header .lev {
	float:inherit;
}

header .lev.third-level {
	max-width:100%;
}

.page-header {
	height:auto!important;
}

.nav-primary li.level0 {
	border:0!important;
}
}

.btn-gt-black:focus {
	color:#fff;
}

#card-details-label {clear:both!important; float:inherit!important;}

.assistance-sections .title {text-transform:none!important;}
/**
 * Swiper 6.3.4
*/

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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') format('woff');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size)/ 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
@charset "UTF-8";
@font-face {
    font-family: Ringside;
    src: url(../fonts/Ringside-Book.otf); }

@font-face {
    font-family: 'Hoefler Text';
    src: url(../fonts/hoeflertext-roman-webfont.ttf) format("truetype"); }

@font-face {
    font-family: 'Hoefler Text';
    src: url(../fonts/hoeflertext-italic-webfont.ttf) format("truetype");
    font-style: italic; }

/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*
// ----------------------------------------------
// Usage example:
// For IE set $mq-support to false.
// Set the fixed value.
// Then use mixins to test whether styles should be applied.
// ----------------------------------------------

$mq-support: false;
$mq-fixed-value: 1024;

// Renders at fixed value
@include bp (min-width, 300px) { 
    div { color:#000; }
}

// Doesn't render without MQ support
@include bp (min-width, 1200px) { 
    div { color:#FFF; }
}

// Doesn't render without MQ support
@include bp (max-width, 300px) { 
    div { color:#444; }
}

// Renders at fixed value
@include bp (max-width, 1200px) { 
    div { color:#888; }
}

// ----------------------------------------------
*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
/* line 221, bower_components/foundation-sites/scss/_global.scss */
html {
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */ }

/**
   * Remove default margin.
   */
/* line 231, bower_components/foundation-sites/scss/_global.scss */
body {
    margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
/* line 245, bower_components/foundation-sites/scss/_global.scss */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
/* line 266, bower_components/foundation-sites/scss/_global.scss */
audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
/* line 279, bower_components/foundation-sites/scss/_global.scss */
audio:not([controls]) {
    display: none;
    height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
/* line 289, bower_components/foundation-sites/scss/_global.scss */
[hidden],
template {
    display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
/* line 301, bower_components/foundation-sites/scss/_global.scss */
a {
    background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
/* line 310, bower_components/foundation-sites/scss/_global.scss */
a:active,
a:hover {
    outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
/* line 322, bower_components/foundation-sites/scss/_global.scss */
abbr[title] {
    border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
/* line 330, bower_components/foundation-sites/scss/_global.scss */
b,
strong {
    font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
/* line 339, bower_components/foundation-sites/scss/_global.scss */
dfn {
    font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
/* line 348, bower_components/foundation-sites/scss/_global.scss */
h1 {
    font-size: 2em;
    margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
/* line 357, bower_components/foundation-sites/scss/_global.scss */
mark {
    background: #ff0;
    color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
/* line 366, bower_components/foundation-sites/scss/_global.scss */
small {
    font-size: 80%; }

/**
   * Prevent `sub` and `sup` affecting `line-height` in all browsers.
   */
/* line 374, bower_components/foundation-sites/scss/_global.scss */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }

/* line 382, bower_components/foundation-sites/scss/_global.scss */
sup {
    top: -0.5em; }

/* line 386, bower_components/foundation-sites/scss/_global.scss */
sub {
    bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
/* line 397, bower_components/foundation-sites/scss/_global.scss */
img {
    border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
/* line 405, bower_components/foundation-sites/scss/_global.scss */
svg:not(:root) {
    overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
/* line 416, bower_components/foundation-sites/scss/_global.scss */
figure {
    margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
/* line 424, bower_components/foundation-sites/scss/_global.scss */
hr {
    box-sizing: content-box;
    height: 0; }

/**
   * Contain overflow in all browsers.
   */
/* line 433, bower_components/foundation-sites/scss/_global.scss */
pre {
    overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
/* line 441, bower_components/foundation-sites/scss/_global.scss */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
/* line 464, bower_components/foundation-sites/scss/_global.scss */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
/* line 478, bower_components/foundation-sites/scss/_global.scss */
button {
    overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
/* line 489, bower_components/foundation-sites/scss/_global.scss */
button,
select {
    text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
/* line 502, bower_components/foundation-sites/scss/_global.scss */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
/* line 514, bower_components/foundation-sites/scss/_global.scss */
button[disabled],
html input[disabled] {
    cursor: not-allowed; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
/* line 523, bower_components/foundation-sites/scss/_global.scss */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
/* line 534, bower_components/foundation-sites/scss/_global.scss */
input {
    line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
/* line 546, bower_components/foundation-sites/scss/_global.scss */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
/* line 558, bower_components/foundation-sites/scss/_global.scss */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
/* line 568, bower_components/foundation-sites/scss/_global.scss */
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    box-sizing: content-box;
    /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
/* line 579, bower_components/foundation-sites/scss/_global.scss */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
/* line 600, bower_components/foundation-sites/scss/_global.scss */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
/* line 609, bower_components/foundation-sites/scss/_global.scss */
textarea {
    overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
/* line 618, bower_components/foundation-sites/scss/_global.scss */
optgroup {
    font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
/* line 629, bower_components/foundation-sites/scss/_global.scss */
table {
    border-collapse: collapse;
    border-spacing: 0; }

/* line 634, bower_components/foundation-sites/scss/_global.scss */
td,
th {
    padding: 0; }

/* line 120, bower_components/foundation-sites/scss/_global.scss */
.foundation-mq {
    font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

/* line 124, bower_components/foundation-sites/scss/_global.scss */
html {
    font-size: 100%;
    box-sizing: border-box; }

/* line 130, bower_components/foundation-sites/scss/_global.scss */
*,
*::before,
*::after {
    box-sizing: inherit; }

/* line 137, bower_components/foundation-sites/scss/_global.scss */
body {
    padding: 0;
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: #000000;
    background: #fefefe;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

/* line 152, bower_components/foundation-sites/scss/_global.scss */
img {
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
    display: inline-block;
    vertical-align: middle; }

/* line 164, bower_components/foundation-sites/scss/_global.scss */
textarea {
    height: auto;
    min-height: 50px;
    border-radius: 0; }

/* line 171, bower_components/foundation-sites/scss/_global.scss */
select {
    width: 100%;
    border-radius: 0; }

/* line 181, bower_components/foundation-sites/scss/_global.scss */
#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
    max-width: none !important; }

/* line 189, bower_components/foundation-sites/scss/_global.scss */
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    padding: 0;
    border: 0;
    border-radius: 0;
    line-height: 1; }
/* line 173, bower_components/foundation-sites/scss/util/_mixins.scss */
[data-whatinput='mouse'] button {
    outline: 0; }

/* line 201, bower_components/foundation-sites/scss/_global.scss */
.is-visible {
    display: block !important; }

/* line 205, bower_components/foundation-sites/scss/_global.scss */
.is-hidden {
    display: none !important; }

/* line 26, bower_components/foundation-sites/scss/grid/_classes.scss */
.row {
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
    content: '';
    display: table;
    clear: both; }
/* line 31, bower_components/foundation-sites/scss/grid/_classes.scss */
.row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
/* line 37, bower_components/foundation-sites/scss/grid/_classes.scss */
.row .row {
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
@media screen and (min-width: 40em) {
    /* line 37, bower_components/foundation-sites/scss/grid/_classes.scss */
    .row .row {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem; } }
/* line 40, bower_components/foundation-sites/scss/grid/_classes.scss */
.row .row.collapse {
    margin-left: 0;
    margin-right: 0; }
/* line 47, bower_components/foundation-sites/scss/grid/_classes.scss */
.row.expanded {
    max-width: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_classes.scss */
.row.expanded .row {
    margin-left: auto;
    margin-right: auto; }

/* line 58, bower_components/foundation-sites/scss/grid/_classes.scss */
.column, .columns {
    width: 100%;
    float: left;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
@media screen and (min-width: 40em) {
    /* line 58, bower_components/foundation-sites/scss/grid/_classes.scss */
    .column, .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem; } }
/* line 82, bower_components/foundation-sites/scss/grid/_column.scss */
.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
/* line 49, bower_components/foundation-sites/scss/grid/_position.scss */
.column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

/* line 70, bower_components/foundation-sites/scss/grid/_classes.scss */
.column.row.row, .row.row.columns {
    float: none; }

/* line 75, bower_components/foundation-sites/scss/grid/_classes.scss */
.row .column.row.row, .row .row.row.columns {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-1 {
    width: 8.33333%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-1 {
    position: relative;
    left: 8.33333%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-1 {
    position: relative;
    left: -8.33333%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-0 {
    margin-left: 0%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-2 {
    width: 16.66667%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-2 {
    position: relative;
    left: 16.66667%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-2 {
    position: relative;
    left: -16.66667%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-1 {
    margin-left: 8.33333%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-3 {
    width: 25%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-3 {
    position: relative;
    left: 25%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-3 {
    position: relative;
    left: -25%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-2 {
    margin-left: 16.66667%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-4 {
    width: 33.33333%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-4 {
    position: relative;
    left: 33.33333%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-4 {
    position: relative;
    left: -33.33333%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-3 {
    margin-left: 25%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-5 {
    width: 41.66667%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-5 {
    position: relative;
    left: 41.66667%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-5 {
    position: relative;
    left: -41.66667%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-4 {
    margin-left: 33.33333%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-6 {
    width: 50%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-6 {
    position: relative;
    left: 50%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-6 {
    position: relative;
    left: -50%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-5 {
    margin-left: 41.66667%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-7 {
    width: 58.33333%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-7 {
    position: relative;
    left: 58.33333%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-7 {
    position: relative;
    left: -58.33333%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-6 {
    margin-left: 50%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-8 {
    width: 66.66667%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-8 {
    position: relative;
    left: 66.66667%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-8 {
    position: relative;
    left: -66.66667%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-7 {
    margin-left: 58.33333%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-9 {
    width: 75%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-9 {
    position: relative;
    left: 75%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-9 {
    position: relative;
    left: -75%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-8 {
    margin-left: 66.66667%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-10 {
    width: 83.33333%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-10 {
    position: relative;
    left: 83.33333%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-10 {
    position: relative;
    left: -83.33333%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-9 {
    margin-left: 75%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-11 {
    width: 91.66667%; }

/* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-push-11 {
    position: relative;
    left: 91.66667%; }

/* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-pull-11 {
    position: relative;
    left: -91.66667%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-10 {
    margin-left: 83.33333%; }

/* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-12 {
    width: 100%; }

/* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-offset-11 {
    margin-left: 91.66667%; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-1 > .column, .small-up-1 > .columns {
    width: 100%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-2 > .column, .small-up-2 > .columns {
    width: 50%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-3 > .column, .small-up-3 > .columns {
    width: 33.33333%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-4 > .column, .small-up-4 > .columns {
    width: 25%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-5 > .column, .small-up-5 > .columns {
    width: 20%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-6 > .column, .small-up-6 > .columns {
    width: 16.66667%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-7 > .column, .small-up-7 > .columns {
    width: 14.28571%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

/* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-8 > .column, .small-up-8 > .columns {
    width: 12.5%;
    float: left; }
/* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
/* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
/* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

/* line 117, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-collapse > .column, .small-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }

/* line 119, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-collapse .row {
    margin-left: 0;
    margin-right: 0; }

/* line 125, bower_components/foundation-sites/scss/grid/_classes.scss */
.expanded.row .small-collapse.row {
    margin-left: 0;
    margin-right: 0; }

/* line 133, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-uncollapse > .column, .small-uncollapse > .columns {
    padding-left: 0.625rem;
    padding-right: 0.625rem; }

/* line 137, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-centered {
    margin-left: auto;
    margin-right: auto; }
/* line 20, bower_components/foundation-sites/scss/grid/_position.scss */
.small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

/* line 142, bower_components/foundation-sites/scss/grid/_classes.scss */
.small-uncentered,
.small-push-0,
.small-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; }

@media screen and (min-width: 40em) {
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-1 {
        width: 8.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-1 {
        position: relative;
        left: 8.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-1 {
        position: relative;
        left: -8.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-0 {
        margin-left: 0%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-2 {
        width: 16.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-2 {
        position: relative;
        left: 16.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-2 {
        position: relative;
        left: -16.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-1 {
        margin-left: 8.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-3 {
        width: 25%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-3 {
        position: relative;
        left: 25%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-3 {
        position: relative;
        left: -25%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-2 {
        margin-left: 16.66667%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-4 {
        width: 33.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-4 {
        position: relative;
        left: 33.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-4 {
        position: relative;
        left: -33.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-3 {
        margin-left: 25%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-5 {
        width: 41.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-5 {
        position: relative;
        left: 41.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-5 {
        position: relative;
        left: -41.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-4 {
        margin-left: 33.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-6 {
        width: 50%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-6 {
        position: relative;
        left: 50%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-6 {
        position: relative;
        left: -50%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-5 {
        margin-left: 41.66667%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-7 {
        width: 58.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-7 {
        position: relative;
        left: 58.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-7 {
        position: relative;
        left: -58.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-6 {
        margin-left: 50%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-8 {
        width: 66.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-8 {
        position: relative;
        left: 66.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-8 {
        position: relative;
        left: -66.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-7 {
        margin-left: 58.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-9 {
        width: 75%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-9 {
        position: relative;
        left: 75%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-9 {
        position: relative;
        left: -75%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-8 {
        margin-left: 66.66667%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-10 {
        width: 83.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-10 {
        position: relative;
        left: 83.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-10 {
        position: relative;
        left: -83.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-9 {
        margin-left: 75%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-11 {
        width: 91.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-push-11 {
        position: relative;
        left: 91.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-pull-11 {
        position: relative;
        left: -91.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-10 {
        margin-left: 83.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-12 {
        width: 100%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-offset-11 {
        margin-left: 91.66667%; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-1 > .column, .medium-up-1 > .columns {
        width: 100%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-2 > .column, .medium-up-2 > .columns {
        width: 50%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-3 > .column, .medium-up-3 > .columns {
        width: 33.33333%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-4 > .column, .medium-up-4 > .columns {
        width: 25%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-5 > .column, .medium-up-5 > .columns {
        width: 20%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-6 > .column, .medium-up-6 > .columns {
        width: 16.66667%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-7 > .column, .medium-up-7 > .columns {
        width: 14.28571%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-8 > .column, .medium-up-8 > .columns {
        width: 12.5%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
        float: left; }
    /* line 117, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-collapse > .column, .medium-collapse > .columns {
        padding-left: 0;
        padding-right: 0; }
    /* line 119, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-collapse .row {
        margin-left: 0;
        margin-right: 0; }
    /* line 125, bower_components/foundation-sites/scss/grid/_classes.scss */
    .expanded.row .medium-collapse.row {
        margin-left: 0;
        margin-right: 0; }
    /* line 133, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-uncollapse > .column, .medium-uncollapse > .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem; }
    /* line 137, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-centered {
        margin-left: auto;
        margin-right: auto; }
    /* line 20, bower_components/foundation-sites/scss/grid/_position.scss */
    .medium-centered, .medium-centered:last-child:not(:first-child) {
        float: none;
        clear: both; }
    /* line 142, bower_components/foundation-sites/scss/grid/_classes.scss */
    .medium-uncentered,
    .medium-push-0,
    .medium-pull-0 {
        position: static;
        margin-left: 0;
        margin-right: 0;
        float: left; } }

@media screen and (min-width: 64em) {
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-1 {
        width: 8.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-1 {
        position: relative;
        left: 8.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-1 {
        position: relative;
        left: -8.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-0 {
        margin-left: 0%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-2 {
        width: 16.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-2 {
        position: relative;
        left: 16.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-2 {
        position: relative;
        left: -16.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-1 {
        margin-left: 8.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-3 {
        width: 25%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-3 {
        position: relative;
        left: 25%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-3 {
        position: relative;
        left: -25%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-2 {
        margin-left: 16.66667%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-4 {
        width: 33.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-4 {
        position: relative;
        left: 33.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-4 {
        position: relative;
        left: -33.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-3 {
        margin-left: 25%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-5 {
        width: 41.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-5 {
        position: relative;
        left: 41.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-5 {
        position: relative;
        left: -41.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-4 {
        margin-left: 33.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-6 {
        width: 50%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-6 {
        position: relative;
        left: 50%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-6 {
        position: relative;
        left: -50%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-5 {
        margin-left: 41.66667%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-7 {
        width: 58.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-7 {
        position: relative;
        left: 58.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-7 {
        position: relative;
        left: -58.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-6 {
        margin-left: 50%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-8 {
        width: 66.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-8 {
        position: relative;
        left: 66.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-8 {
        position: relative;
        left: -66.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-7 {
        margin-left: 58.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-9 {
        width: 75%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-9 {
        position: relative;
        left: 75%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-9 {
        position: relative;
        left: -75%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-8 {
        margin-left: 66.66667%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-10 {
        width: 83.33333%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-10 {
        position: relative;
        left: 83.33333%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-10 {
        position: relative;
        left: -83.33333%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-9 {
        margin-left: 75%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-11 {
        width: 91.66667%; }
    /* line 91, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-push-11 {
        position: relative;
        left: 91.66667%; }
    /* line 95, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-pull-11 {
        position: relative;
        left: -91.66667%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-10 {
        margin-left: 83.33333%; }
    /* line 85, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-12 {
        width: 100%; }
    /* line 103, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-offset-11 {
        margin-left: 91.66667%; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-1 > .column, .large-up-1 > .columns {
        width: 100%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-2 > .column, .large-up-2 > .columns {
        width: 50%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-3 > .column, .large-up-3 > .columns {
        width: 33.33333%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-4 > .column, .large-up-4 > .columns {
        width: 25%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-5 > .column, .large-up-5 > .columns {
        width: 20%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-6 > .column, .large-up-6 > .columns {
        width: 16.66667%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-7 > .column, .large-up-7 > .columns {
        width: 14.28571%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
        float: left; }
    /* line 22, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-8 > .column, .large-up-8 > .columns {
        width: 12.5%;
        float: left; }
    /* line 46, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
        clear: none; }
    /* line 50, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
        clear: both; }
    /* line 54, bower_components/foundation-sites/scss/grid/_layout.scss */
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
        float: left; }
    /* line 117, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-collapse > .column, .large-collapse > .columns {
        padding-left: 0;
        padding-right: 0; }
    /* line 119, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-collapse .row {
        margin-left: 0;
        margin-right: 0; }
    /* line 125, bower_components/foundation-sites/scss/grid/_classes.scss */
    .expanded.row .large-collapse.row {
        margin-left: 0;
        margin-right: 0; }
    /* line 133, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-uncollapse > .column, .large-uncollapse > .columns {
        padding-left: 0.9375rem;
        padding-right: 0.9375rem; }
    /* line 137, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-centered {
        margin-left: auto;
        margin-right: auto; }
    /* line 20, bower_components/foundation-sites/scss/grid/_position.scss */
    .large-centered, .large-centered:last-child:not(:first-child) {
        float: none;
        clear: both; }
    /* line 142, bower_components/foundation-sites/scss/grid/_classes.scss */
    .large-uncentered,
    .large-push-0,
    .large-pull-0 {
        position: static;
        margin-left: 0;
        margin-right: 0;
        float: left; } }

/* line 27, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown {
    position: relative;
    overflow: hidden; }
/* line 31, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown li {
    display: block !important; }

/* line 37, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown-submenu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: -1;
    width: 100%;
    background: #fefefe;
    transition: -webkit-transform 0.15s linear;
    transition: transform 0.15s linear;
    transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
/* line 47, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%); }
/* line 53, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%); }

/* line 59, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown-submenu-parent > a {
    position: relative; }
/* line 62, bower_components/foundation-sites/scss/components/_drilldown.scss */
.is-drilldown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

/* line 71, bower_components/foundation-sites/scss/components/_drilldown.scss */
.js-drilldown-back > a::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    border-left-width: 0;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.75rem; }

/* line 62, bower_components/foundation-sites/scss/components/_visibility.scss */
.hide {
    display: none !important; }

/* line 66, bower_components/foundation-sites/scss/components/_visibility.scss */
.invisible {
    visibility: hidden; }

@media screen and (max-width: 39.9375em) {
    /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-small-only {
        display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
    /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-small-only {
        display: none !important; } }

@media screen and (min-width: 40em) {
    /* line 73, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-medium {
        display: none !important; } }

@media screen and (max-width: 39.9375em) {
    /* line 77, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-medium {
        display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-medium-only {
        display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
    /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-medium-only {
        display: none !important; } }

@media screen and (min-width: 64em) {
    /* line 73, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-large {
        display: none !important; } }

@media screen and (max-width: 63.9375em) {
    /* line 77, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-large {
        display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
    /* line 82, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-large-only {
        display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
    /* line 86, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-large-only {
        display: none !important; } }

/* line 93, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-for-sr,
.show-on-focus {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0); }

/* line 100, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-on-focus:active, .show-on-focus:focus {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }

/* line 107, bower_components/foundation-sites/scss/components/_visibility.scss */
.show-for-landscape,
.hide-for-portrait {
    display: block !important; }
@media screen and (orientation: landscape) {
    /* line 107, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-landscape,
    .hide-for-portrait {
        display: block !important; } }
@media screen and (orientation: portrait) {
    /* line 107, bower_components/foundation-sites/scss/components/_visibility.scss */
    .show-for-landscape,
    .hide-for-portrait {
        display: none !important; } }

/* line 120, bower_components/foundation-sites/scss/components/_visibility.scss */
.hide-for-landscape,
.show-for-portrait {
    display: none !important; }
@media screen and (orientation: landscape) {
    /* line 120, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-landscape,
    .show-for-portrait {
        display: none !important; } }
@media screen and (orientation: portrait) {
    /* line 120, bower_components/foundation-sites/scss/components/_visibility.scss */
    .hide-for-landscape,
    .show-for-portrait {
        display: block !important; } }

/* line 114, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion {
    list-style-type: none;
    background: #fefefe;
    margin-left: 0; }

/* line 54, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion-item:first-child > :first-child {
    border-radius: 0 0 0 0; }

/* line 58, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion-item:last-child > :last-child {
    border-radius: 0 0 0 0; }

/* line 122, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion-title {
    display: block;
    padding: 1.25rem 1rem;
    line-height: 1;
    font-size: 0.75rem;
    color: #2199e8;
    position: relative;
    border: 1px solid #e6e6e6;
    border-bottom: 0; }
/* line 74, bower_components/foundation-sites/scss/components/_accordion.scss */
:last-child:not(.is-active) > .accordion-title {
    border-radius: 0 0 0 0;
    border-bottom: 1px solid #e6e6e6; }
/* line 79, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
/* line 85, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
/* line 93, bower_components/foundation-sites/scss/components/_accordion.scss */
.is-active > .accordion-title::before {
    content: '–'; }

/* line 126, bower_components/foundation-sites/scss/components/_accordion.scss */
.accordion-content {
    padding: 1rem;
    display: none;
    border: 1px solid #e6e6e6;
    border-bottom: 0;
    background-color: #fefefe;
    color: #000000; }
/* line 108, bower_components/foundation-sites/scss/components/_accordion.scss */
:last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

/* line 46, bower_components/foundation-sites/scss/components/_off-canvas.scss */
html,
body {
    height: 100%; }

/* line 51, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas-wrapper {
    width: 100%;
    overflow-x: hidden;
    position: relative;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-overflow-scrolling: auto; }

/* line 59, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas-wrapper-inner {
    content: '';
    display: table;
    clear: both;
    position: relative;
    width: 100%;
    min-height: 100%;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease; }

/* line 68, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas-content,
.off-canvas-content {
    min-height: 100%;
    background: #fefefe;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    padding-bottom: 0.1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }

/* line 83, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.js-off-canvas-exit {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(254, 254, 254, 0.25);
    cursor: pointer;
    transition: background 0.5s ease; }

/* line 157, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas {
    position: absolute;
    background: #e6e6e6;
    z-index: -1;
    max-height: 100%;
    overflow-y: auto;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }
/* line 173, bower_components/foundation-sites/scss/util/_mixins.scss */
[data-whatinput='mouse'] .off-canvas {
    outline: 0; }
/* line 160, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
/* line 125, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.is-open-left {
    -webkit-transform: translateX(250px);
    -ms-transform: translateX(250px);
    transform: translateX(250px); }
/* line 161, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
/* line 125, bower_components/foundation-sites/scss/components/_off-canvas.scss */
.is-open-right {
    -webkit-transform: translateX(-250px);
    -ms-transform: translateX(-250px);
    transform: translateX(-250px); }

@media screen and (min-width: 40em) {
    /* line 168, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-medium {
        left: 0;
        z-index: auto;
        position: fixed; }
    /* line 148, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-medium ~ .off-canvas-content {
        margin-left: 250px; }
    /* line 172, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-medium {
        right: 0;
        z-index: auto;
        position: fixed; }
    /* line 148, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-medium ~ .off-canvas-content {
        margin-right: 250px; } }

@media screen and (min-width: 64em) {
    /* line 168, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-large {
        left: 0;
        z-index: auto;
        position: fixed; }
    /* line 148, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-left.reveal-for-large ~ .off-canvas-content {
        margin-left: 250px; }
    /* line 172, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-large {
        right: 0;
        z-index: auto;
        position: fixed; }
    /* line 148, bower_components/foundation-sites/scss/components/_off-canvas.scss */
    .position-right.reveal-for-large ~ .off-canvas-content {
        margin-right: 250px; } }

/* line 113, bower_components/foundation-sites/scss/components/_reveal.scss */
body.is-reveal-open {
    overflow: hidden; }

/* line 117, bower_components/foundation-sites/scss/components/_reveal.scss */
html.is-reveal-open,
html.is-reveal-open body {
    min-height: 100%;
    overflow: hidden;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }

/* line 125, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal-overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1005;
    background-color: rgba(10, 10, 10, 0.45);
    overflow-y: scroll; }

/* line 130, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal {
    display: none;
    z-index: 1006;
    padding: 1rem;
    border: 1px solid #cacaca;
    background-color: #fefefe;
    border-radius: 0;
    position: relative;
    top: 100px;
    margin-left: auto;
    margin-right: auto;
    overflow-y: auto; }
/* line 173, bower_components/foundation-sites/scss/util/_mixins.scss */
[data-whatinput='mouse'] .reveal {
    outline: 0; }
@media screen and (min-width: 40em) {
    /* line 130, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal {
        min-height: 0; } }
/* line 70, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal .column, .reveal .columns,
.reveal .columns {
    min-width: 0; }
/* line 76, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal > :last-child {
    margin-bottom: 0; }
@media screen and (min-width: 40em) {
    /* line 130, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal {
        width: 600px;
        max-width: 75rem; } }
@media screen and (min-width: 40em) {
    /* line 142, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal .reveal {
        left: auto;
        right: auto;
        margin: 0 auto; } }
/* line 150, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal.collapse {
    padding: 0; }
@media screen and (min-width: 40em) {
    /* line 155, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal.tiny {
        width: 30%;
        max-width: 75rem; } }
@media screen and (min-width: 40em) {
    /* line 156, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal.small {
        width: 50%;
        max-width: 75rem; } }
@media screen and (min-width: 40em) {
    /* line 157, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal.large {
        width: 90%;
        max-width: 75rem; } }
/* line 160, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
@media screen and (max-width: 39.9375em) {
    /* line 130, bower_components/foundation-sites/scss/components/_reveal.scss */
    .reveal {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        height: 100vh;
        min-height: 100vh;
        max-width: none;
        margin-left: 0;
        border: 0;
        border-radius: 0; } }
/* line 168, bower_components/foundation-sites/scss/components/_reveal.scss */
.reveal.without-overlay {
    position: fixed; }

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
/* line 11, scss/vendor/_normalize.scss */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block; }

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
/* line 29, scss/vendor/_normalize.scss */
audio,
canvas,
video {
    display: inline-block; }

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
/* line 40, scss/vendor/_normalize.scss */
audio:not([controls]) {
    display: none;
    height: 0; }

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
/* line 49, scss/vendor/_normalize.scss */
[hidden] {
    display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
/* line 63, scss/vendor/_normalize.scss */
html {
    font-family: sans-serif;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -ms-text-size-adjust: 100%;
    /* 2 */ }

/*
 * Removes default margin.
 */
/* line 73, scss/vendor/_normalize.scss */
body {
    margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
/* line 85, scss/vendor/_normalize.scss */
a:focus {
    outline: thin dotted; }

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */
/* line 93, scss/vendor/_normalize.scss */
a:active,
a:hover {
    outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
/* line 107, scss/vendor/_normalize.scss */
h1 {
    font-size: 2em; }

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
/* line 115, scss/vendor/_normalize.scss */
abbr[title] {
    border-bottom: 1px dotted; }

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
/* line 123, scss/vendor/_normalize.scss */
b,
strong {
    font-weight: bold; }

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */
/* line 132, scss/vendor/_normalize.scss */
dfn {
    font-style: italic; }

/*
 * Addresses styling not present in IE 8/9.
 */
/* line 140, scss/vendor/_normalize.scss */
mark {
    background: #ff0;
    color: #000; }

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
/* line 150, scss/vendor/_normalize.scss */
code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em; }

/*
 * Improves readability of pre-formatted text in all browsers.
 */
/* line 162, scss/vendor/_normalize.scss */
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word; }

/*
 * Sets consistent quote types.
 */
/* line 172, scss/vendor/_normalize.scss */
q {
    quotes: "\201C" "\201D" "\2018" "\2019"; }

/*
 * Addresses inconsistent and variable font size in all browsers.
 */
/* line 180, scss/vendor/_normalize.scss */
small {
    font-size: 80%; }

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
/* line 188, scss/vendor/_normalize.scss */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }

/* line 196, scss/vendor/_normalize.scss */
sup {
    top: -0.5em; }

/* line 200, scss/vendor/_normalize.scss */
sub {
    bottom: -0.25em; }

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
/* line 212, scss/vendor/_normalize.scss */
img {
    border: 0; }

/*
 * Corrects overflow displayed oddly in IE 9.
 */
/* line 220, scss/vendor/_normalize.scss */
svg:not(:root) {
    overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
/* line 232, scss/vendor/_normalize.scss */
figure {
    margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
/* line 244, scss/vendor/_normalize.scss */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em; }

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
/* line 255, scss/vendor/_normalize.scss */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */ }

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
/* line 266, scss/vendor/_normalize.scss */
button,
input,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 2 */
    margin: 0;
    /* 3 */ }

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
/* line 280, scss/vendor/_normalize.scss */
button,
input {
    line-height: normal; }

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */
/* line 293, scss/vendor/_normalize.scss */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */ }

/*
 * Re-set default cursor for disabled elements.
 */
/* line 305, scss/vendor/_normalize.scss */
button[disabled],
input[disabled] {
    cursor: default; }

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
/* line 315, scss/vendor/_normalize.scss */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */ }

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
/* line 327, scss/vendor/_normalize.scss */
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    /* 2 */
    box-sizing: content-box; }

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
/* line 339, scss/vendor/_normalize.scss */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/*
 * Removes inner padding and border in Firefox 4+.
 */
/* line 348, scss/vendor/_normalize.scss */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0; }

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */
/* line 359, scss/vendor/_normalize.scss */
textarea {
    overflow: auto;
    /* 1 */
    vertical-align: top;
    /* 2 */ }

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
/* line 372, scss/vendor/_normalize.scss */
table {
    border-collapse: collapse;
    border-spacing: 0; }

/* ============================================ *
 * Reset
 * ============================================ */
/* line 30, scss/core/_reset.scss */
*,
*:before,
*:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0; }

/* line 38, scss/core/_reset.scss */
html {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    /* Prevent tap highlight on iOS/Android */
    -webkit-text-size-adjust: 100%;
    /* Prevent automatic scaling on iOS */ }

/* line 43, scss/core/_reset.scss */
body {
    background: #FFFFFF;
    color: #000000;
    line-height: 1; }

/* line 49, scss/core/_reset.scss */
html,
body,
img,
fieldset,
abbr,
acronym {
    border: 0; }

/* line 58, scss/core/_reset.scss */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal; }

/* line 68, scss/core/_reset.scss */
th,
code,
cite,
caption {
    font-weight: normal;
    font-style: normal;
    text-align: left; }

/* line 77, scss/core/_reset.scss */
address {
    font-style: normal; }

/* line 81, scss/core/_reset.scss */
fieldset {
    margin: 0;
    padding: 0;
    border: 0; }

/* line 87, scss/core/_reset.scss */
img {
    display: block; }

/* line 91, scss/core/_reset.scss */
ol,
ul {
    list-style: none; }

/* line 96, scss/core/_reset.scss */
q:before,
q:after {
    content: ''; }

/* line 102, scss/core/_reset.scss */
input:focus,
input[type="search"]:focus {
    outline-offset: -2px; }

/* line 108, scss/core/_reset.scss */
input[type="search"] {
    -webkit-appearance: none;
    /* 1 */
    /* 2 */
    box-sizing: border-box; }

/* line 29, scss/core/_common.scss */
.zEWidget-launcher.zEWidget-launcher--active {
    right: 0 !important;
    left: unset !important; }

/* line 36, scss/core/_common.scss */
#credits-popup {
    max-width: 500px;
    background: white;
    border-radius: 20px;
    padding: 20px;
    margin: auto; }
/* line 42, scss/core/_common.scss */
#credits-popup ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around; }

/* ============================================ *
 * Base Styles
 * ============================================ */
/* line 54, scss/core/_common.scss */
.page .column:last-child:not(:first-child), .page .columns:last-child:not(:first-child), .page .columns:last-child:not(:first-child) {
    float: unset; }

/* line 57, scss/core/_common.scss */
.page .mask-overlay {
    display: none;
    content: "";
    position: fixed;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0.8;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 998; }

/* line 69, scss/core/_common.scss */
.page .block-viewed, .page .block-reorder {
    display: none; }

@-ms-viewport {
    width: device-width; }

@viewport {
    width: device-width; }

/* line 87, scss/core/_common.scss */
a, button {
    -ms-touch-action: manipulation;
    touch-action: manipulation; }

/* line 92, scss/core/_common.scss */
body,
button,
input,
select,
table,
textarea {
    font-family: "Montserrat", serif;
    color: #000000;
    font-size: 14px;
    line-height: 1.5; }

/* line 104, scss/core/_common.scss */
a {
    color: #000000;
    text-decoration: none; }

/* line 109, scss/core/_common.scss */
a:hover {
    text-decoration: underline; }

/* line 113, scss/core/_common.scss */
a:focus {
    outline-color: transparent;
    color: #000000; }

/* line 118, scss/core/_common.scss */
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0; }

/* line 125, scss/core/_common.scss */
.wrapper {
    height: 100%; }

/* line 128, scss/core/_common.scss */
.page {
    padding: 0;
    min-height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
/* line 133, scss/core/_common.scss */
.page .main-container {
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    margin-top: 100px;
    width: 100%; }

.page .main-container {
    margin:100px 0;
    padding-top:20px;
} 
@media only screen and (max-width: 979px) {
    /* line 133, scss/core/_common.scss */
    .page .main-container {
        margin-top: 40px; } }


/* ============================================ *
 * Typography
 * ============================================ */
/* line 157, scss/core/_common.scss */
h1, .h1 {
    margin: 0;
    margin-bottom: 5px;
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 18px;
    font-weight: 700;
    font-style: normal;
    line-height: 22px;
    text-rendering: optimizeLegibility;
    text-transform: uppercase;
}

/* line 159, scss/core/_common.scss */
h2, .h2 {
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 18px;
    font-weight: 700;
    font-style: normal;
    line-height: 22px;
    text-rendering: optimizeLegibility;
}

/* line 161, scss/core/_common.scss */
h3, .h3 {
    margin: 0;
    margin-bottom: 16px;
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 12px;
    font-weight: 300;
    font-style: normal;
    line-height: 15px;
    text-rendering: optimizeLegibility;
}

/* line 163, scss/core/_common.scss */
h4, .h4 {
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
    line-height: 15px;
    text-rendering: optimizeLegibility;
    text-transform: uppercase;
}

/* line 165, scss/core/_common.scss */
h5, .h5 {
    margin: 0;
    margin-bottom: 16px;
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 12px;
    font-weight: 300;
    font-style: normal;
    line-height: 15px;
    text-rendering: optimizeLegibility;
    text-transform: uppercase;
}

/* line 167, scss/core/_common.scss */
h6, .h6 {
    margin: 0;
    margin-bottom: 5px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase; }

/* ============================================ *
 * Shared Classes
 * ============================================ */
/* line 173, scss/core/_common.scss */
.address-list address {
    margin-bottom: 1em; }

/* line 177, scss/core/_common.scss */
.availability {
    margin-bottom: 0;
    font-size: 13px;
    text-transform: uppercase; }

/* line 183, scss/core/_common.scss */
.availability .label {
    display: none; }

/* line 187, scss/core/_common.scss */
.availability.in-stock {
    color: #11B400; }

/* line 191, scss/core/_common.scss */
.availability.available-soon,
.availability.out-of-stock {
    color: #DF280A; }

/* line 196, scss/core/_common.scss */
.availability-only {
    color: #DF280A;
    margin-bottom: 10px; }

/* -------------------------------------------- *
 * Page Titles
 */
/* line 205, scss/core/_common.scss */
.page-title h1,
.page-title h2{
    font-size: 19px;
    font-family: "Montserrat", serif;
    font-weight: 300;
    color: #000000;
    padding-bottom: 3px;
    margin-bottom: 40px;
    text-transform: initial; }

/* -------------------------------------------- *
 * Block Module
 */
/* line 216, scss/core/_common.scss */
.block,
.col-left-first {
    margin-bottom: 20px; }

/* line 221, scss/core/_common.scss */
.col-left-first .block:last-of-type {
    margin-bottom: 0; }

/* line 225, scss/core/_common.scss */
.block-title {
    position: relative;
    padding: 10px 0 0;
    margin-bottom: 5px; }
/* line 230, scss/core/_common.scss */
.block-title h2,
.block-title h3,
.block-title strong {
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 0;
    text-transform: uppercase;
    font-weight: 600; }
/* line 239, scss/core/_common.scss */
.block-title small {
    font-size: 100%;
    font-weight: normal;
    color: #A0A0A0; }

/* line 247, scss/core/_common.scss */
body:not(.customer-account) .block:first-child .block-title {
    border-top: none;
    padding-top: 0; }

/* line 252, scss/core/_common.scss */
.block-subtitle {
    font-weight: bold;
    margin-bottom: 7px; }

/* line 257, scss/core/_common.scss */
.block-content {
    margin-top: 5px; }

/* line 261, scss/core/_common.scss */
.block-content.unpad {
    padding: 0; }

/* line 265, scss/core/_common.scss */
.block-content li.item {
    margin: 0 0 10px 9px; }

/* line 269, scss/core/_common.scss */
.block-content li.item:last-child {
    margin-bottom: 0; }

/* line 273, scss/core/_common.scss */
.block .actions {
    margin: 10px 0 0; }
/* line 276, scss/core/_common.scss */
.block .actions:after {
    content: '';
    display: table;
    clear: both; }
/* line 280, scss/core/_common.scss */
.block .actions a {
    float: left; }
/* line 283, scss/core/_common.scss */
.block .actions .button {
    float: right; }

/* line 291, scss/core/_common.scss */
.col-left .block .actions .button ~ a,
.col-right .block .actions .button ~ a {
    line-height: 33px;
    margin-right: 5px; }

@media only screen and (max-width: 770px) {
    /* line 301, scss/core/_common.scss */
    .sidebar .block:not(.block-layered-nav) {
        margin-bottom: 0; }
    /* line 304, scss/core/_common.scss */
    .sidebar .block:not(.block-layered-nav) .block-title {
        padding: 0;
        margin-top: 0;
        border-bottom: none;
        border-top: none;
        margin-bottom: 0; }
    /* line 311, scss/core/_common.scss */
    .sidebar .block:not(.block-layered-nav) .block-title > strong {
        margin: 0;
        margin-bottom: 10px;
        color: #000000;
        font-family: "Montserrat", sans-serif;
        font-size: 14px;
        font-weight: bold;
        font-style: normal;
        line-height: 1.4;
        text-rendering: optimizeSpeed;
        text-transform: uppercase;
        -moz-user-select: none;
        -ms-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
        user-select: none;
        font-weight: normal;
        margin-bottom: 0px;
        padding: 7px 10px 7px 24px;
        border-width: 1px;
        border-style: solid;
        border-color: #CCCCCC;
        position: relative;
        background-color: #F4F4F4;
        display: block;
        width: 100%;
        cursor: pointer;
        border-bottom: 0; }
    /* line 110, scss/mixin/_toggle-content.scss */
    .sidebar .block:not(.block-layered-nav) .block-title > strong:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 4px solid #000000;
        border-right: none;
        left: 10px;
        top: 50%;
        margin-top: -3px; }
    /* line 117, scss/mixin/_toggle-content.scss */
    .sidebar .block:not(.block-layered-nav) .block-title > strong:hover {
        background-color: #ededed; }
    /* line 320, scss/core/_common.scss */
    .sidebar .block:not(.block-layered-nav) .block-title.active > strong {
        margin: 0;
        margin-bottom: 10px;
        color: #000000;
        font-family: "Montserrat", sans-serif;
        font-size: 14px;
        font-weight: bold;
        font-style: normal;
        line-height: 1.4;
        text-rendering: optimizeSpeed;
        text-transform: uppercase;
        -moz-user-select: none;
        -ms-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
        user-select: none;
        font-weight: normal;
        margin-bottom: 0px;
        padding: 7px 10px 7px 24px;
        border-width: 1px;
        border-style: solid;
        border-color: #CCCCCC;
        position: relative;
        background-color: #F4F4F4; }
    /* line 110, scss/mixin/_toggle-content.scss */
    .sidebar .block:not(.block-layered-nav) .block-title.active > strong:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        border-top: 4px solid #000000;
        border-bottom: none;
        left: 10px;
        top: 50%;
        margin-top: -3px; }
    /* line 117, scss/mixin/_toggle-content.scss */
    .sidebar .block:not(.block-layered-nav) .block-title.active > strong:hover {
        background-color: #ededed; }
    /* line 326, scss/core/_common.scss */
    .sidebar .block:not(.block-layered-nav) .block-content {
        padding: 10px;
        margin-top: 0;
        border-width: 0 1px;
        border-style: solid;
        border-color: #CCCCCC; }
    /* line 336, scss/core/_common.scss */
    .sidebar .block:last-of-type {
        border-bottom: 1px solid #CCCCCC; } }

/* -------------------------------------------- *
 * Secondary Navigation
 */
/* line 348, scss/core/_common.scss */
.block-account .block-title,
.block-cms-menu .block-title {
    padding-top: 0;
    border-top: none; }

/* line 353, scss/core/_common.scss */
.block-account li,
.block-cms-menu li {
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    margin: 7px 0; }
/* line 358, scss/core/_common.scss */
.block-account li strong,
.block-cms-menu li strong {
    font-weight: 400;
    color: #000000; }
/* line 363, scss/core/_common.scss */
.block-account li a,
.block-cms-menu li a {
    color: #000000; }
/* line 366, scss/core/_common.scss */
.block-account li a:hover,
.block-cms-menu li a:hover {
    color: #000000; }

/* ============================================ *
 * Buttons
 * ============================================ */
/* Secondary Buttons */
/* line 378, scss/core/_common.scss */
.cart .buttons-set .button,
.cart-table .button,
.sidebar .actions .button,
.button.button-secondary {
    background: #DDDDDD;
    color: #000000;
    padding: 7px 15px; }
/* line 386, scss/core/_common.scss */
.cart .buttons-set .button:hover,
.cart-table .button:hover,
.sidebar .actions .button:hover,
.button.button-secondary:hover {
    background: #d0d0d0;
    cursor: pointer; }
/* line 391, scss/core/_common.scss */
.cart .buttons-set .button:active,
.cart-table .button:active,
.sidebar .actions .button:active,
.button.button-secondary:active {
    background: #c4c4c4;
    color: #000000; }
/* line 396, scss/core/_common.scss */
.cart .buttons-set .button:focus,
.cart-table .button:focus,
.sidebar .actions .button:focus,
.button.button-secondary:focus {
    color: #000000;
    background: #c4c4c4;
    outline: none; }

/* line 403, scss/core/_common.scss */
.sidebar .actions button.button {
    white-space: normal; }

/* Primary Buttons */
/* line 409, scss/core/_common.scss */
.button,
.cart-table .product-cart-actions .button,
#co-shipping-method-form .buttons-set .button,
.footer .button {
    background: #000000;
    display: inline-block;
    padding: 7px 15px;
    border: 0;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: normal;
    font-family: "Montserrat", sans-serif;
    line-height: 19px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap; }
/* line 427, scss/core/_common.scss */
.button:hover,
.cart-table .product-cart-actions .button:hover,
#co-shipping-method-form .buttons-set .button:hover,
.footer .button:hover {
    cursor: pointer; }
/* line 430, scss/core/_common.scss */
.button:active,
.cart-table .product-cart-actions .button:active,
#co-shipping-method-form .buttons-set .button:active,
.footer .button:active {
    color: #FFFFFF; }
/* line 433, scss/core/_common.scss */
.button:focus,
.cart-table .product-cart-actions .button:focus,
#co-shipping-method-form .buttons-set .button:focus,
.footer .button:focus {
    outline: none; }

/* Disabled - class for anchor, state for form elements */
/* line 439, scss/core/_common.scss */
.button.disabled,
.button:disabled {
    background: #C8C8C8;
    opacity: 0.6;
    cursor: not-allowed; }

/* Adjacent buttons */
/* line 447, scss/core/_common.scss */
.button + .button {
    margin-left: 5px; }

/* line 460, scss/core/_common.scss */
.button2 {
    border: 0;
    padding: 0 5px;
    margin: 0;
    background: transparent;
    cursor: pointer;
    vertical-align: middle; }

/* line 469, scss/core/_common.scss */
.button2:focus {
    outline: none; }

/* line 473, scss/core/_common.scss */
.button2 span,
.button2 span span {
    line-height: 30px;
    height: 30px;
    text-decoration: underline;
    text-transform: uppercase;
    display: inline-block;
    color: #000000;
    font-family: "Montserrat", sans-serif; }
/* line 483, scss/core/_common.scss */
.button2 span:hover,
.button2 span span:hover {
    text-decoration: none;
    color: #246b8f; }

@media only screen and (max-width: 770px) {
    /* line 491, scss/core/_common.scss */
    .col2-set .buttons-set .button,
    .col2-set .buttons-set .button2 {
        float: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0; }
    /* line 498, scss/core/_common.scss */
    .col2-set .buttons-set .back-link {
        display: none; }
    /* line 501, scss/core/_common.scss */
    .col2-set .buttons-set .required {
        display: none; } }

@media only screen and (max-width: 479px) {
    /* line 509, scss/core/_common.scss */
    .buttons-set .button {
        float: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 7px; }
    /* line 516, scss/core/_common.scss */
    .buttons-set .back-link {
        display: none; }
    /* line 519, scss/core/_common.scss */
    .buttons-set .required {
        display: none; } }

/* -------------------------------------------- *
 * Paypal Button
 */
/* line 529, scss/core/_common.scss */
.paypal-logo.paypal-after {
    float: left; }

/* line 533, scss/core/_common.scss */
.paypal-after .paypal-or {
    float: left; }

/* line 537, scss/core/_common.scss */
.paypal-or {
    line-height: 34px;
    margin: 0px 10px 5px; }

/* line 542, scss/core/_common.scss */
.paypal-after .paypal-button {
    float: left; }

/* line 546, scss/core/_common.scss */
.paypal-button {
    line-height: 0px; }

/* line 550, scss/core/_common.scss */
.paypal-button img {
    display: inline; }

@media only screen and (max-width: 740px) {
    /* line 555, scss/core/_common.scss */
    .paypal-or {
        line-height: 20px; }
    /* line 559, scss/core/_common.scss */
    .paypal-logo,
    .paypal-or,
    .paypal-button {
        text-align: center;
        width: 100%;
        display: block;
        margin-right: 0;
        margin-left: 0;
        float: none; } }

/* -------------------------------------------- *
 * Button Sets
 */
/* line 575, scss/core/_common.scss */
.buttons-set {
    clear: both;
    margin: 10px 0 0;
    padding-top: 10px;
    text-align: right; }
/* line 581, scss/core/_common.scss */
.buttons-set p.required {
    margin: 0;
    margin-left: 10px;
    line-height: 33px;
    float: right; }
/* line 587, scss/core/_common.scss */
.buttons-set .back-link {
    float: left;
    margin: 0;
    line-height: 33px;
    font-family: "Montserrat", serif;
    font-size: 14px; }
/* line 594, scss/core/_common.scss */
.buttons-set a:not(.button) {
    line-height: 20px;
    display: inline-block;
    padding: 5px; }
/* line 599, scss/core/_common.scss */
.buttons-set button.button {
    float: right;
    margin-left: 5px;
    max-width: 140px; }
/* line 605, scss/core/_common.scss */
.buttons-set:after {
    content: '';
    display: table;
    clear: both; }

@media only screen and (max-width: 599px) {
    /* line 612, scss/core/_common.scss */
    .buttons-set button.button {
        max-width: 100%; } }

/* -------------------------------------------- *
 * Icons
 */
/* line 622, scss/core/_common.scss */
.icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .sort-by .sort-by-switcher, .sorter > .view-mode .grid,
.sorter > .view-mode .list, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before, .account-link .icon, .skip-cart .icon, .product-view .sharing-links a, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
    background-image: url(../images/icon_sprite.png);
    background-repeat: no-repeat;
    text-indent: -9999px; }

@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
    /* line 629, scss/core/_common.scss */
    .icon-sprite, .btn-remove2, .ratings .rating-box, .ratings .rating-box .rating, .sorter > .sort-by .sort-by-switcher, .sorter > .view-mode .grid,
    .sorter > .view-mode .list, .skip-nav .icon, .skip-search .icon, #search_mini_form .search-button:before, .account-link .icon, .skip-cart .icon, .product-view .sharing-links a, .review-summary-table .rating-box .rating-number:after, .ratings-table .rating-box, .ratings-table .rating-box .rating {
        background-image: url(../images/icon_sprite@2x.png);
        background-size: 100px 1000px; } }

/* -------------------------------------------- *
 * Breadcrumbs
 */
/* line 639, scss/core/_common.scss */
.breadcrumbs {
    margin: 0 15px 40px 15px; }

/* line 645, scss/core/_common.scss */
.breadcrumbs li {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    text-transform: uppercase; }

/* line 651, scss/core/_common.scss */
.breadcrumbs a {
    float: left; }

/* line 655, scss/core/_common.scss */
.breadcrumbs strong {
    font-weight: normal; }

/* line 659, scss/core/_common.scss */
.breadcrumbs span {
    float: left;
    padding: 0 7px; }

@media only screen and (max-width: 770px) {
    /* line 666, scss/core/_common.scss */
    .breadcrumbs {
        display: none; } }

/* -------------------------------------------- *
 * Button - Remove / Previous
 */
/* line 676, scss/core/_common.scss */
.btn-remove,
.btn-previous {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #EDEDED;
    text-align: center;
    /* Hide text */
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    position: relative; }
/* line 689, scss/core/_common.scss */
.btn-remove:hover,
.btn-previous:hover {
    background-color: #000000;
    border-color: #000000; }

/* line 696, scss/core/_common.scss */
.btn-remove:after {
    content: 'X';
    color: #000000;
    height: 20px;
    line-height: 20px;
    width: 100%;
    font-size: 10px;
    font-family: Arial, "Helvetica Neue", Verdana, Arial, sans-serif;
    font-weight: bold; }

/* line 706, scss/core/_common.scss */
.btn-remove:hover:after {
    color: #FFFFFF;
    text-decoration: none; }

/* line 712, scss/core/_common.scss */
.btn-remove2 {
    background-position: 4px -648px;
    border: none;
    vertical-align: top; }
/* line 719, scss/core/_common.scss */
.btn-remove2:after {
    display: none; }
/* line 722, scss/core/_common.scss */
.btn-remove2:hover {
    background-color: transparent;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8; }

/* line 729, scss/core/_common.scss */
.btn-previous:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 4px solid #000000;
    border-left: none;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -2px;
    margin-top: -4px; }

/* line 737, scss/core/_common.scss */
.btn-previous:hover:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 4px solid #FFFFFF;
    border-left: none; }

/* line 746, scss/core/_common.scss */
.block-layered-nav .currently .btn-remove,
.block-layered-nav .currently .btn-previous,
.mini-products-list .btn-remove,
.mini-products-list .btn-previous,
#compare-items .btn-remove,
#compare-items .btn-previous {
    float: right;
    margin-left: 6px; }

/* -------------------------------------------- *
 * Checkout Agreements
 */
/* line 757, scss/core/_common.scss */
.checkout-agreements li {
    margin-bottom: 20px; }

/* line 761, scss/core/_common.scss */
.checkout-agreements .agreement-content {
    overflow-y: auto;
    max-width: 670px;
    max-height: 125px;
    margin-bottom: 10px;
    padding: 10px;
    border: 1px solid #CCCCCC;
    background: #F4F4F4; }

/* -------------------------------------------- *
 * CVV Security Code
 */
/* line 775, scss/core/_common.scss */
.cvv-what-is-this {
    margin-left: 10px;
    font-size: 13px;
    line-height: 24px; }

/* -------------------------------------------- *
 * Container
 */
/* line 785, scss/core/_common.scss */
.main-container {
    position: relative;
    margin: 0 auto; }
/* line 790, scss/core/_common.scss */
.main-container:after {
    content: '';
    display: table;
    clear: both; }

/* -------------------------------------------- *
 * Column Layouts
 */
/* line 800, scss/core/_common.scss */
.main:after,
.col-wrapper:after {
    content: '';
    display: table;
    clear: both; }

/* line 805, scss/core/_common.scss */
.col-left,
.col-right,
.col-main {
    padding: 0 10px; }

/* line 811, scss/core/_common.scss */
.col-left {
    float: left;
    width: 25%;
    padding-left: 0;
    /* Remove the 15px padding */
    clear: left; }
/* line 817, scss/core/_common.scss */
.col-left img {
    max-width: 100%; }

/* line 822, scss/core/_common.scss */
.col-right {
    float: right;
    width: 25%;
    padding-right: 0;
    /* Remove the 15px padding */ }
/* line 827, scss/core/_common.scss */
.col-right img {
    max-width: 100%; }

/* line 832, scss/core/_common.scss */
.col-main {
    float: left;
    width: 75%; }

/* line 838, scss/core/_common.scss */
.col1-layout .col-main {
    float: none;
    width: auto;
    padding: 0;
    /* Remove the 15px padding */ }

/* line 846, scss/core/_common.scss */
.col2-left-layout .col-main {
    float: right;
    padding-right: 0;
    /* Remove the 15px padding */ }

/* line 853, scss/core/_common.scss */
.col2-right-layout .col-main {
    padding-left: 0;
    /* Remove the 15px padding */ }

/* line 859, scss/core/_common.scss */
.col3-layout .col-right {
    width: 20.83333%; }

/* line 863, scss/core/_common.scss */
.col3-layout .col-wrapper {
    float: left;
    width: 79.16667%; }
/* line 867, scss/core/_common.scss */
.col3-layout .col-wrapper .col-main {
    float: right;
    width: 73.68421%; }
/* line 872, scss/core/_common.scss */
.col3-layout .col-wrapper .col-left {
    width: 26.31579%; }

@media only screen and (max-width: 1000px) {
    /* line 880, scss/core/_common.scss */
    .col3-layout .col-right {
        float: left;
        clear: left;
        padding-left: 0;
        padding-right: 10px;
        width: 25%; }
    /* line 888, scss/core/_common.scss */
    .col3-layout .col-wrapper {
        float: right;
        width: 100%; }
    /* line 892, scss/core/_common.scss */
    .col3-layout .col-wrapper .col-main {
        float: right;
        width: 75%; }
    /* line 897, scss/core/_common.scss */
    .col3-layout .col-wrapper .col-left {
        width: 25%; } }

@media only screen and (max-width: 770px) {
    /* line 905, scss/core/_common.scss */
    .col-left,
    .col-right,
    .col-main,
    .col1-layout .col-left,
    .col1-layout .col-right,
    .col1-layout .col-main,
    .col2-left-layout .col-left,
    .col2-left-layout .col-right,
    .col2-left-layout .col-main,
    .col2-right-layout .col-left,
    .col2-right-layout .col-right,
    .col2-right-layout .col-main,
    .col3-layout .col-wrapper .col-left,
    .col3-layout .col-right,
    .col3-layout .col-wrapper .col-main {
        padding: 0;
        margin-bottom: 10px;
        float: none;
        width: auto; }
    /* line 926, scss/core/_common.scss */
    .col3-layout .col-wrapper {
        float: none;
        width: auto; }
    /* line 931, scss/core/_common.scss */
    .col-main {
        float: none;
        width: auto; }
    /* line 936, scss/core/_common.scss */
    .col-main .col-left {
        padding: 0;
        /* On product listing pages, the left column gets moved inside col-main on small viewports */ } }

/* Content Columns */
/* line 943, scss/core/_common.scss */
.col2-set {
    width: 100%; }
/* line 946, scss/core/_common.scss */
.col2-set .col-1,
.col2-set .col-2 {
    width: 50%;
    padding: 20px; }
@media only screen and (max-width: 770px) {
    /* line 946, scss/core/_common.scss */
    .col2-set .col-1,
    .col2-set .col-2 {
        padding: 10px; } }
/* line 956, scss/core/_common.scss */
.col2-set .col-1 {
    float: left;
    padding-left: 0; }
/* line 961, scss/core/_common.scss */
.col2-set .col-2 {
    float: right;
    padding-right: 0; }
@media only screen and (max-width: 479px) {
    /* line 967, scss/core/_common.scss */
    .col2-set .col-1,
    .col2-set .col-2 {
        float: none;
        width: auto;
        border: 0;
        padding-right: 0;
        padding-left: 0; } }
/* line 977, scss/core/_common.scss */
.col2-set .narrow {
    width: 33%; }
/* line 981, scss/core/_common.scss */
.col2-set .wide {
    width: 65%; }
/* line 985, scss/core/_common.scss */
.col2-set:after {
    content: '';
    display: table;
    clear: both; }

/* -------------------------------------------- *
 * Top Container
 */
@media only screen and (min-width: 771px) {
    /* line 994, scss/core/_common.scss */
    .top-container {
        max-width: 1900px;
        margin: 0 auto;
        padding: 0 30px; } }

/* -------------------------------------------- *
 * Global Site Notice
 */
/* line 1005, scss/core/_common.scss */
.global-site-notice {
    background: #676157;
    color: #E6E6E6;
    font-size: 11px; }
/* line 1010, scss/core/_common.scss */
.global-site-notice .notice-inner {
    padding-left: 120px;
    width: 100%;
    max-width: 1840px;
    margin-left: auto;
    margin-right: auto;
    line-height: 11px;
    min-height: 40px;
    padding-top: 14.5px;
    padding-bottom: 14.5px;
    background-image: url("../images/demo-logo.png");
    background-position: left;
    background-repeat: no-repeat; }
/* line 1025, scss/core/_common.scss */
.global-site-notice p {
    margin-bottom: 0; }

/* -------------------------------------------- *
 * Promotional Message Banner
 */
/* line 1034, scss/core/_common.scss */
.promo-msg {
    color: #000000;
    text-align: center;
    margin: 10px;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif; }

/* -------------------------------------------- *
 * Grid
 */
/* line 1046, scss/core/_common.scss */
.grid:after {
    content: '';
    display: table;
    clear: both; }

/* -------------------------------------------- *
 * Messages
 */
/* line 1053, scss/core/_common.scss */
.success {
    color: #11B400; }

/* line 1057, scss/core/_common.scss */
.error {
    color: #DF280A;
    font-weight: bold; }

/* line 1062, scss/core/_common.scss */
.notice {
    color: #E26703;
    font-weight: bold; }

/* -------------------------------------------- *
 * Messages
 */
/* line 1071, scss/core/_common.scss */
.messages {
    margin-bottom: 10px; }

/* line 1075, scss/core/_common.scss */
.messages li li {
    position: relative;
    margin-bottom: 5px;
    padding: 7px 10px 7px 20px;
    background: #F4F4F4;
    font-size: 15px; }

/* line 1083, scss/core/_common.scss */
.messages li li:before {
    top: 50%;
    left: 0;
    margin-top: -6px; }

/* line 1089, scss/core/_common.scss */
.messages .error-msg li {
    color: #000000;
    border-left: 5px solid #DF280A;
    background-color: #FAEBE7; }

/* line 1095, scss/core/_common.scss */
.messages .error-msg li:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #DF280A;
    border-right: none; }

/* line 1099, scss/core/_common.scss */
.messages .notice-msg li {
    color: #000000;
    border-left: 5px solid #E26703;
    background-color: #F9EBE6; }

/* line 1105, scss/core/_common.scss */
.messages .notice-msg li:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #E26703;
    border-right: none; }

/* line 1109, scss/core/_common.scss */
.messages .success-msg li {
    color: #000000;
    border-left: 5px solid #11B400;
    background-color: #EFF5EA; }



@media only screen and (min-width: 915px) {
    /* line 1123, scss/core/_common.scss */
    .order-list-grid .col-1 {
        width: 30%; }
    /* line 1127, scss/core/_common.scss */
    .order-list-grid .col-2 {
        width: 50%;
        padding-right: 20px; }
    /* line 1132, scss/core/_common.scss */
    .order-list-grid .col-3 {
        clear: none;
        width: 20%;
        padding-top: 0; } }

/* -------------------------------------------- *
 * Page Popup
 */
/* line 1144, scss/core/_common.scss */
.page-popup {
    padding: 20px;
    background: #FFFFFF;
    height: auto; }

/* line 1150, scss/core/_common.scss */
.page-popup h1 {
    margin: 0 0 0.5em;
    font-size: 36px; }

/* -------------------------------------------- *
 * Payment Methods
 */
/* line 1159, scss/core/_common.scss */
.payment-methods {
    margin-bottom: 20px; }

/* line 1163, scss/core/_common.scss */
.payment-methods dt {
    padding: 5px 0; }

/* line 1167, scss/core/_common.scss */
.payment-methods dd {
    padding-top: 10px; }

/* line 1171, scss/core/_common.scss */
.payment-methods .form-list {
    position: relative;
    display: inline-block;
    max-width: 100%;
    margin: 5px 15px 15px;
    padding: 15px;
    border: 1px solid #CCCCCC;
    background: #F4F4F4; }

/* line 1181, scss/core/_common.scss */
.payment-methods .form-list:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #CCCCCC;
    border-top: none;
    top: -11px;
    left: 30px; }

/* line 1187, scss/core/_common.scss */
.payment-methods .form-list:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #F4F4F4;
    border-top: none;
    top: -10px;
    left: 30px; }

/* line 1193, scss/core/_common.scss */
.payment-methods .form-list li:last-child {
    margin-bottom: 0; }

/* -------------------------------------------- *
 * Please Wait (Loading Indicator)
 */
/* line 1201, scss/core/_common.scss */
.please-wait {
    display: inline-block;
    margin-left: 10px;
    margin-top: 5px;
    line-height: 24px;
    height: 24px;
    white-space: nowrap;
    /* Prevent the linebreak in the HTML from causing layout issues */ }
/* line 1209, scss/core/_common.scss */
.please-wait img {
    float: left;
    margin-right: 5px;
    width: 24px; }

/* -------------------------------------------- *
 * Price Box - Standard
 */
/* line 1220, scss/core/_common.scss */
.price-box {
    margin: 7px 0;
    font-family: "Montserrat", sans-serif; }

/* line 1225, scss/core/_common.scss */
.price-box p {
    margin-bottom: 0; }

/* line 1229, scss/core/_common.scss */
.price-notice {
    color: #A0A0A0; }

/* line 1233, scss/core/_common.scss */
.price-box .price {
    color: #000000;
    font-size: 16px; }

/* line 1238, scss/core/_common.scss */
.price-box .price,
.price {
    font-family: "Montserrat", sans-serif; }

/* line 1243, scss/core/_common.scss */
.price-box .price-label {
    color: #A0A0A0;
    white-space: nowrap;
    font-family: "Montserrat", sans-serif; }

/* line 1249, scss/core/_common.scss */
.price-box .minimal-price-link {
    padding-left: 1em;
    color: #000000;
    display: block;
    /* We want this to show on its own line, otherwise the layout looks funky */ }
/* line 1254, scss/core/_common.scss */
.price-box .minimal-price-link .label {
    color: #A0A0A0; }

/* -------------------------------------------- *
 * Price Box - Special
 */
/* line 1263, scss/core/_common.scss */
.price-box .old-price,
.price-box .special-price {
    display: inline-block; }
/* line 1267, scss/core/_common.scss */
.price-box .old-price .price-label,
.price-box .special-price .price-label {
    display: none; }
/* line 1271, scss/core/_common.scss */
.price-box .old-price .price,
.price-box .special-price .price {
    display: inline-block; }

/* line 1277, scss/core/_common.scss */
.price-box .old-price .price {
    color: #A0A0A0;
    text-decoration: line-through; }

/* line 1283, scss/core/_common.scss */
.price-box .special-price {
    color: #000000;
    padding-left: 1em; }
/* line 1287, scss/core/_common.scss */
.price-box .special-price .price-label {
    color: #D84D3C; }

/* -------------------------------------------- *
 * Price Box - Taxes
 */
/* line 1296, scss/core/_common.scss */
.price-box .price-excluding-tax,
.price-box .price-including-tax {
    display: block; }

/* line 1301, scss/core/_common.scss */
span.weee {
    display: block; }

/* -------------------------------------------- *
 * Tier Prices
 */
/* line 1309, scss/core/_common.scss */
.product-pricing,
.tier-prices,
.tier-prices-grouped {
    display: inline-block;
    padding: 4px 8px;
    background: #FBF4DE;
    border: 1px solid #E2D4C7;
    margin-top: 7px; }
/* line 1318, scss/core/_common.scss */
.product-pricing li,
.tier-prices li,
.tier-prices-grouped li {
    font-size: 12px; }
/* line 1321, scss/core/_common.scss */
.product-pricing .benefit,
.tier-prices .benefit,
.tier-prices-grouped .benefit {
    font-style: italic; }
/* line 1324, scss/core/_common.scss */
.product-pricing .price,
.tier-prices .price,
.tier-prices-grouped .price {
    font-weight: bold; }

/* ============================================ *
 * Item Options
 * ============================================ */
/* line 1333, scss/core/_common.scss */
.item-options {
    font-size: 14px;
    font-family: "Montserrat", sans-serif; }
/* line 1337, scss/core/_common.scss */
.item-options:after {
    content: '';
    display: table;
    clear: both; }
/* line 1341, scss/core/_common.scss */
.item-options dt {
    float: left;
    clear: left;
    font-weight: 600;
    padding-right: 5px;
    font-style: italic; }
/* line 1348, scss/core/_common.scss */
.item-options dt:after {
    content: ': '; }
/* line 1353, scss/core/_common.scss */
.item-options dd {
    float: left;
    padding-left: 10px;
    margin: 0 0 6px; }

/* line 1360, scss/core/_common.scss */
.truncated,
.truncated a.dots {
    cursor: help; }

/* line 1365, scss/core/_common.scss */
.truncated a.details {
    cursor: help;
    height: 16px;
    line-height: 16px; }
/* line 1370, scss/core/_common.scss */
.truncated a.details:hover {
    text-decoration: none; }

/* line 1375, scss/core/_common.scss */
.truncated .truncated_full_value {
    position: relative;
    z-index: 300; }

/* line 1380, scss/core/_common.scss */
.truncated .truncated_full_value .item-options {
    display: none;
    position: absolute;
    z-index: 300;
    width: 200px;
    padding: 8px;
    border: 1px solid #000000;
    background-color: #F6F6F6;
    top: 21px;
    left: -100px; }
/* line 1391, scss/core/_common.scss */
.truncated .truncated_full_value .item-options:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #000000;
    border-top: none;
    left: 97px;
    top: -7px; }

/* line 1398, scss/core/_common.scss */
.truncated .truncated_full_value .item-options > p {
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 8px; }

/* line 1404, scss/core/_common.scss */
.truncated .show .item-options {
    display: block; }

@media only screen and (max-width: 479px) {
    /* line 1410, scss/core/_common.scss */
    .truncated {
        cursor: inherit; }
    /* line 1413, scss/core/_common.scss */
    .truncated a.details {
        display: none; }
    /* line 1418, scss/core/_common.scss */
    .truncated .truncated_full_value .item-options {
        display: block;
        position: static;
        z-index: 1;
        width: 100%;
        border: none;
        background-color: transparent; }
    /* line 1426, scss/core/_common.scss */
    .truncated .truncated_full_value .item-options p {
        float: none; }
    /* line 1430, scss/core/_common.scss */
    .truncated .truncated_full_value .item-options:after {
        display: none; } }

/* -------------------------------------------- *
 * Printer Friendly Page
 */
/* line 1443, scss/core/_common.scss */
.page-print {
    width: 6.5in;
    margin: 20px;
    background: #FFFFFF; }

/* -------------------------------------------- *
 * Add to links
 */
/* line 1453, scss/core/_common.scss */
.add-to-links {
    margin: 7px 0; }
/* line 1456, scss/core/_common.scss */
.add-to-links a {
    display: inline-block;
    padding: 0px 3px 3px; }

/* line 1462, scss/core/_common.scss */
.add-to-links .separator {
    display: none; }

/* -------------------------------------------- *
 * Product Image
 */
/* line 1470, scss/core/_common.scss */
.product-image,
.no-touch .product-img-box .product-image:not(.zoom-available):hover {
    position: relative;
    display: block; }


/* -------------------------------------------- *
 * Ratings
 */
/* line 1491, scss/core/_common.scss */
.ratings {
    margin: 7px 0; }
/* line 1494, scss/core/_common.scss */
.ratings .rating-box,
.ratings .rating-links {
    margin: 5px 0; }
/* line 1499, scss/core/_common.scss */
.ratings .rating-box {
    width: 65px;
    height: 13px;
    background-repeat: repeat-x;
    background-position: 0 -615px;
    overflow: hidden; }
/* line 1507, scss/core/_common.scss */
.ratings .rating-box .rating {
    float: left;
    height: 13px;
    background-repeat: repeat-x;
    background-position: 0 -600px; }
/* line 1514, scss/core/_common.scss */
.ratings .amount {
    display: block;
    margin: 5px auto; }
/* line 1520, scss/core/_common.scss */
.ratings .rating-links .separator {
    margin: 0 3px; }

/* -------------------------------------------- *
 * Standard Formatted Text Block
 */
/* line 1530, scss/core/_common.scss */
.std p {
    margin: 0 0 1.5em; }

/* line 1534, scss/core/_common.scss */
.std ol {
    list-style: decimal outside;
    margin-bottom: 1.5em; }

/* line 1539, scss/core/_common.scss */
.std ol li {
    margin-left: 2em; }

/* line 1543, scss/core/_common.scss */
.std ul {
    list-style: disc outside;
    margin-bottom: 1.5em; }

/* line 1548, scss/core/_common.scss */
.std ul li {
    margin-left: 2em; }

/* line 1552, scss/core/_common.scss */
.std .note {
    color: #A0A0A0;
    font-size: 13px; }

/* -------------------------------------------- *
 * Tabs
 */
/* line 1561, scss/core/_common.scss */
.tabs {
    margin-bottom: 10px;
    background: #FFFFFF; }

/* -------------------------------------------- *
 * Toolbar
 */
/* line 1570, scss/core/_common.scss */
.toolbar {
    margin-top: 10px;
    margin-bottom: 15px;
    border-bottom: 1px solid #CCCCCC;
    border-top: 1px solid #CCCCCC;
    background: #F4F4F4;
    padding: 5px 10px 0px 10px; }
/* line 1578, scss/core/_common.scss */
.toolbar:after {
    content: '';
    display: table;
    clear: both; }

/* line 1583, scss/core/_common.scss */
.pager-no-toolbar {
    margin-bottom: 10px; }

/* line 1588, scss/core/_common.scss */
.pager-no-toolbar ~ .pager-no-toolbar {
    margin-top: 10px; }

/* line 1592, scss/core/_common.scss */
.toolbar,
.pager {
    font-family: "Montserrat", sans-serif;
    color: #000000;
    line-height: 30px;
    font-size: 12px; }

/* line 1600, scss/core/_common.scss */
.toolbar label,
.pager-no-toolbar label {
    font-weight: normal;
    text-transform: uppercase; }

/* line 1608, scss/core/_common.scss */
.sorter {
    float: left;
    margin-bottom: 5px; }
/* line 1612, scss/core/_common.scss */
.sorter label {
    float: left;
    margin-right: 5px; }
/* line 1616, scss/core/_common.scss */
.sorter label:after {
    content: ':'; }

/* line 1622, scss/core/_common.scss */
.sorter > .sort-by {
    float: left;
    margin-right: 5px;
    height: 30px; }
/* line 1627, scss/core/_common.scss */
.sorter > .sort-by .sort-by-switcher {
    width: 30px;
    height: 30px;
    display: inline-block; }
/* line 1633, scss/core/_common.scss */
.sorter > .sort-by .sort-by-switcher--asc {
    background-position: 4px -542px; }
/* line 1635, scss/core/_common.scss */
.sorter > .sort-by .sort-by-switcher--asc:hover {
    background-position: -46px -542px; }
/* line 1639, scss/core/_common.scss */
.sorter > .sort-by .sort-by-switcher--desc {
    background-position: 4px -567px; }
/* line 1641, scss/core/_common.scss */
.sorter > .sort-by .sort-by-switcher--desc:hover {
    background-position: -46px -567px; }

/* line 1647, scss/core/_common.scss */
.sorter > .view-mode {
    float: right; }
/* line 1650, scss/core/_common.scss */
.sorter > .view-mode .grid,
.sorter > .view-mode .list {
    float: left;
    width: 30px;
    height: 30px; }
/* line 1657, scss/core/_common.scss */
.sorter > .view-mode .grid {
    margin-right: 5px;
    background-position: 8px -492px; }
/* line 1661, scss/core/_common.scss */
.sorter > .view-mode strong.grid,
.sorter > .view-mode a.grid:hover {
    background-position: -42px -492px; }
/* line 1665, scss/core/_common.scss */
.sorter > .view-mode .list {
    background-position: 11px -517px; }
/* line 1669, scss/core/_common.scss */
.sorter > .view-mode strong.list,
.sorter > .view-mode a.list:hover {
    background-position: -39px -517px; }

/* line 1675, scss/core/_common.scss */
.pager {
    float: right;
    overflow: hidden; }
/* line 1679, scss/core/_common.scss */
.pager > .count-container {
    float: left; }
/* line 1683, scss/core/_common.scss */
.pager .amount {
    float: left;
    font-family: "Montserrat", sans-serif;
    white-space: nowrap;
    margin: 0 15px 0 0; }
/* line 1690, scss/core/_common.scss */
.pager .limiter {
    float: left;
    height: 30px;
    line-height: 30px; }
/* line 1695, scss/core/_common.scss */
.pager .limiter > label {
    padding-right: 5px; }
/* line 1698, scss/core/_common.scss */
.pager .limiter > label:after {
    content: ':'; }
/* line 1704, scss/core/_common.scss */
.pager .amount,
.pager .limiter,
.pager .pages {
    margin-bottom: 5px; }

/* line 1712, scss/core/_common.scss */
.pages {
    float: right;
    overflow: hidden;
    margin-left: 15px; }
/* line 1717, scss/core/_common.scss */
.pages strong {
    display: none; }

/* line 1722, scss/core/_common.scss */
.pages li {
    float: left; }

/* line 1726, scss/core/_common.scss */
.pages a,
.pages .current {
    display: inline-block;
    border: 0;
    font-size: 13px;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
    line-height: 30px;
    width: 25px;
    height: 30px;
    padding: 0;
    color: #000000;
    font-family: "Montserrat", sans-serif; }

/* line 1743, scss/core/_common.scss */
.pages .current,
.pages .current:hover {
    color: #000000;
    border: 1px solid #CCCCCC;
    width: 30px;
    background-color: #FFFFFF;
    cursor: default; }

/* line 1752, scss/core/_common.scss */
.pages .next,
.pages .previous {
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    background-color: transparent;
    position: relative; }
/* line 1761, scss/core/_common.scss */
.pages .next:hover,
.pages .previous:hover {
    border: 1px solid #000000; }

/* line 1767, scss/core/_common.scss */
.pages .next:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #000000;
    border-right: none;
    top: 50%;
    margin-top: -3px;
    left: 50%;
    margin-left: -2px; }

/* line 1774, scss/core/_common.scss */
.pages .next:hover:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #246b8f;
    border-right: none; }

/* line 1780, scss/core/_common.scss */
.pages .previous:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 4px solid #000000;
    border-left: none;
    top: 50%;
    margin-top: -3px;
    left: 50%;
    margin-left: -2px; }

/* line 1787, scss/core/_common.scss */
.pages .previous:hover:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 4px solid #246b8f;
    border-left: none; }

@media only screen and (max-width: 479px) {
    /* line 1795, scss/core/_common.scss */
    .pager .amount--has-pages {
        display: none; }
    /* line 1799, scss/core/_common.scss */
    .pages {
        float: left; }
    /* line 1804, scss/core/_common.scss */
    .limiter label {
        display: none; } }

@media only screen and (max-width: 770px) {
    /* line 1812, scss/core/_common.scss */
    .col1-layout .sorter,
    .col1-layout .pager {
        width: 100%; }
    /* line 1817, scss/core/_common.scss */
    .col1-layout .pager {
        float: left;
        clear: both; }
    /* line 1821, scss/core/_common.scss */
    .col1-layout .pager .pages {
        float: left;
        margin-left: 0; }
    /* line 1826, scss/core/_common.scss */
    .col1-layout .pager .count-container {
        float: right; } }

@media only screen and (max-width: 979px) {
    /* line 1838, scss/core/_common.scss */
    .col2-left-layout .sorter,
    .col2-left-layout .pager,
    .col2-right-layout .sorter,
    .col2-right-layout .pager,
    .col3-layout .sorter,
    .col3-layout .pager {
        width: 100%; }
    /* line 1843, scss/core/_common.scss */
    .col2-left-layout .pager,
    .col2-right-layout .pager,
    .col3-layout .pager {
        float: left;
        clear: both; }
    /* line 1847, scss/core/_common.scss */
    .col2-left-layout .pager .pages,
    .col2-right-layout .pager .pages,
    .col3-layout .pager .pages {
        float: left;
        margin-left: 0; }
    /* line 1852, scss/core/_common.scss */
    .col2-left-layout .pager .count-container,
    .col2-right-layout .pager .count-container,
    .col3-layout .pager .count-container {
        float: right; } }

@media only screen and (max-width: 1279px) {
    /* line 1861, scss/core/_common.scss */
    .toolbar .view-mode > label {
        display: none; } }

/* ============================================ *
 * Tax - Full Tax Summary
 * ============================================ */
/* line 1873, scss/core/_common.scss */
#checkout-review-table .summary-collapse,
#shopping-cart-totals-table .summary-collapse,
body.customer-account .data-table .summary-collapse {
    position: relative;
    cursor: pointer; }
/* line 1877, scss/core/_common.scss */
#checkout-review-table .summary-collapse:before,
#shopping-cart-totals-table .summary-collapse:before,
body.customer-account .data-table .summary-collapse:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-top: 7px solid #000000;
    border-bottom: none;
    position: static;
    display: inline-block;
    margin-right: 5px; }
/* line 1883, scss/core/_common.scss */
#checkout-review-table .summary-collapse:hover:before,
#shopping-cart-totals-table .summary-collapse:hover:before,
body.customer-account .data-table .summary-collapse:hover:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-top: 7px solid #246b8f;
    border-bottom: none;
    position: static;
    display: inline-block;
    margin-right: 5px; }

/* line 1893, scss/core/_common.scss */
#checkout-review-table .show-details .summary-collapse:before,
#shopping-cart-totals-table .show-details .summary-collapse:before,
body.customer-account .data-table .show-details .summary-collapse:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #000000;
    border-top: none;
    position: static;
    display: inline-block;
    margin-right: 5px; }

/* line 1899, scss/core/_common.scss */
#checkout-review-table .show-details .summary-collapse:hover:before,
#shopping-cart-totals-table .show-details .summary-collapse:hover:before,
body.customer-account .data-table .show-details .summary-collapse:hover:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #246b8f;
    border-top: none;
    position: static;
    display: inline-block;
    margin-right: 5px; }

/* line 1911, scss/core/_common.scss */
#shopping-cart-totals-table tfoot td .summary-collapse:before, #shopping-cart-totals-table tfoot td .summary-collapse:hover:before {
    margin-bottom: 5px; }

/* ============================================ *
 * Magento Helpers
 * ============================================ */
/* line 1921, scss/core/_common.scss */
.a-center {
    text-align: center; }

/* line 1925, scss/core/_common.scss */
.a-right,
.align-right {
    text-align: right; }

/* line 1930, scss/core/_common.scss */
.no-display {
    display: none !important; }

/* line 1934, scss/core/_common.scss */
.nobr,
.nowrap {
    white-space: nowrap; }

/* line 1939, scss/core/_common.scss */
.width-full {
    width: 100%; }

/* ============================================ *
 * Custom Helpers
 * ============================================ */
/* line 1947, scss/core/_common.scss */
.hidden {
    display: none; }

/* ============================================ *
 * Print Styles
 * ============================================ */
/* line 1955, scss/core/_common.scss */
.page-print .print-head {
    margin: 0 0 15px; }

/* line 1959, scss/core/_common.scss */
.page-print .print-head .logo {
    float: none;
    max-height: 50px;
    width: auto; }

/* ============================================ *
 * Actions
 * ============================================ */
/* line 1969, scss/core/_common.scss */
.btn-primary {
    min-height: 40px;
    line-height: 40px;
    padding: 0px 30px;
    float: left;
    min-width: 180px;
    width: 100%;
    white-space: normal;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    background-color: #fefefe;
    border: 1px solid #0a0a0a;
    padding: 5px 15px; }
/* line 1985, scss/core/_common.scss */
.btn-primary:hover {
    color: #fefefe;
    background-color: #000000; }

/* line 1990, scss/core/_common.scss */
.btn-secondary {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    border: 1px solid #0a0a0a;
    padding: 5px 15px;
    text-decoration: underline;
    width: 140px;
    background-color: transparent; }

@media only screen and (max-width: 599px) {
    /* line 1995, scss/core/_common.scss */
    .btn-secondary {
        width: 100%; }
    /* line 1998, scss/core/_common.scss */
    #credits-popup ul {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        text-align: center; }
    /* line 2001, scss/core/_common.scss */
    #credits-popup ul li > img {
        margin: auto; } }

@media only screen and (max-width: 770px) {
    /* line 2008, scss/core/_common.scss */
    .btn-primary {
        background: #0a0a0a;
        color: #fefefe; }
    /* line 2011, scss/core/_common.scss */
    .btn-primary:hover {
        background: #fefefe;
        color: #000000; } }

/* ============================================ *
 * FORMS - COMMON
 * ============================================ */
/* -------------------------------------------- *
 * Fieldsets
 */
/* line 36, scss/core/_form.scss */
.fieldset p {
    margin-bottom: 7px; }

/* line 40, scss/core/_form.scss */
.fieldset p.required {
    margin-bottom: 5px;
    float: right;
    font-size: 12px;
    font-family: "Montserrat", serif;
    margin-top: 0px; }

/* line 49, scss/core/_form.scss */
.fieldset + .fieldset {
    margin-top: 5px; }

/* line 53, scss/core/_form.scss */
form .legend {
    margin-bottom: 15px;
    padding-bottom: 7px;
    border-bottom: 1px solid #EDEDED; }

/* line 60, scss/core/_form.scss */
form .buttons-set {
    max-width: 400px; }

/* -------------------------------------------- *
 * Input Box
 */
/* line 68, scss/core/_form.scss */
.input-box {
    padding-top: 2px; }
/* line 71, scss/core/_form.scss */
.input-box:after {
    content: '';
    display: table;
    clear: both; }

/* line 77, scss/core/_form.scss */
li.centinel-logos div.input-box img {
    display: inline;
    vertical-align: middle; }

/* For adjacent select inputs. */
/* Example: credit card expiration month and year. */
/* line 86, scss/core/_form.scss */
.input-box .v-fix {
    float: left;
    margin-right: 5px;
    max-width: 100%; }

/* -------------------------------------------- *
 * Labels
 */
/* line 96, scss/core/_form.scss */
form label {
    line-height: 25px;
      
    font-weight: 300; }

/* line 100, scss/core/_form.scss */
label {
    display: inline-block;
    font-size: 11px;
    font-family: "Montserrat", sans-serif;
    color: #000000;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none; }

/* line 109, scss/core/_form.scss */
label.required:after,
span.required:after {
    content: ' *';
    color: #000000;
    font-weight: normal;
    font-family: "Montserrat", sans-serif;
    font-size: 13px; }

/* line 119, scss/core/_form.scss */
label.required em,
span.required em {
    display: none; }

/* -------------------------------------------- *
 * Hints
 */
/* line 128, scss/core/_form.scss */
.input-hint {
    color: #A0A0A0;
    font-size: 12px; }

/* -------------------------------------------- *
 * Select
 */
/* line 137, scss/core/_form.scss */
select {
    font-size: 14px; }

/* line 141, scss/core/_form.scss */
select + select {
    margin-left: 5px; }

/* line 145, scss/core/_form.scss */
select[multiple] {
    width: 270px;
    border: 1px solid #C0C0C0;
    font-size: 15px;
    padding: 5px; }

/* -------------------------------------------- *
 * Textarea
 */
/* line 156, scss/core/_form.scss */
textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 450px;
    padding: 5px; }

/* -------------------------------------------- *
 * Inputs
 */
/* line 167, scss/core/_form.scss */
.input-text {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 2px;
    border: 1px solid #C0C0C0;
    background: #FFFFFF;
    font-size: 15px; }
/* line 174, scss/core/_form.scss */
.input-text:focus {
    border: 1px solid #000000; }

/* line 179, scss/core/_form.scss */
.input-text.validation-failed {
    border-color: #DF280A; }

/* line 184, scss/core/_form.scss */
.input-text.validation-failed:focus {
    outline-color: #ef9485; }

/* line 188, scss/core/_form.scss */
input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
    height: 38px;
    padding: 0 8px; }

/* line 198, scss/core/_form.scss */
input[type=email],
input[type=search],
input[type=number],
input[type=password],
input[type=tel],
input[type=text] {
    width: 100%;
    border-color: #000000;
    max-width: 100%;
    font-family: "Montserrat", sans-serif;
    color: #000000;
    font-size: 13px; }



/* line 227, scss/core/_form.scss */
.ie8 .input-text {
    max-width: none; }

/* -------------------------------------------- *
 * Inputs - Quantity
 */
/* line 235, scss/core/_form.scss */
input[type=number].qty,
input[type=text].qty {
    width: 3em;
    text-align: center;
    vertical-align: middle; }

/* -------------------------------------------- *
 * Placeholder
 */
/* line 246, scss/core/_form.scss */
::-webkit-input-placeholder {
    color: #A0A0A0; }

/* line 250, scss/core/_form.scss */
input:-moz-placeholder {
    color: #A0A0A0; }

/* -------------------------------------------- *
 * Checkbox And Radio
 */
/* line 258, scss/core/_form.scss */
.checkbox,
.radio {
    position: relative;
    top: -1px;
    display: inline-block; }

/* line 265, scss/core/_form.scss */
.checkbox + label,
.radio + label {
    width: auto;
    max-width: 85%;
    padding: 0 0 0 8px;
    font-size: 14px;
    font-weight: normal;
    vertical-align: top; }

/* -------------------------------------------- *
 * Validation
 */
/* line 279, scss/core/_form.scss */
p.required,
.validation-advice {
    margin: 5px 0;
    color: #DF280A;
    font-size: 13px;
    font-family: "Montserrat", serif; }

/* ============================================ *
 * Form List
 * ============================================ */
/* line 291, scss/core/_form.scss */
.form-list {
    max-width: 400px; }
/* line 293, scss/core/_form.scss */
.form-list > li {
    margin-bottom: 10px; }
/* line 296, scss/core/_form.scss */
.form-list select {
    margin-top: 4px;
    width: 365px;
    max-width: 100%; }
/* line 302, scss/core/_form.scss */
.form-list .input-range .input-text {
    width: 74px; }
/* line 306, scss/core/_form.scss */
.form-list .field,
.form-list .wide,
.form-list .control {
    margin-bottom: 20px; }

/* Turn the label of controls (radio/checkbox) into a button style that wraps the input */
/* line 314, scss/core/_form.scss */
.form-list .control,
.sp-methods dt,
#checkout-shipping-method-load .sp-methods dd,
#co-shipping-method-form .sp-methods dd,
.product-options ul.options-list {
    /* When a label is next to an input that is set to not display, we should style the label in a non-clickable state */ }
/* line 320, scss/core/_form.scss */
.form-list .control div.input-box,
.sp-methods dt div.input-box,
#checkout-shipping-method-load .sp-methods dd div.input-box,
#co-shipping-method-form .sp-methods dd div.input-box,
.product-options ul.options-list div.input-box {
    display: inline;
    float: left; }
/* line 324, scss/core/_form.scss */
.form-list .control div.input-box:after,
.sp-methods dt div.input-box:after,
#checkout-shipping-method-load .sp-methods dd div.input-box:after,
#co-shipping-method-form .sp-methods dd div.input-box:after,
.product-options ul.options-list div.input-box:after {
    display: none; }
/* line 329, scss/core/_form.scss */
.form-list .control input.radio,
.form-list .control input.checkbox,
.sp-methods dt input.radio,
.sp-methods dt input.checkbox,
#checkout-shipping-method-load .sp-methods dd input.radio,
#checkout-shipping-method-load .sp-methods dd input.checkbox,
#co-shipping-method-form .sp-methods dd input.radio,
#co-shipping-method-form .sp-methods dd input.checkbox,
.product-options ul.options-list input.radio,
.product-options ul.options-list input.checkbox {
    float: left;
    margin-right: -40px;
    margin-top: 14px; }
/* line 337, scss/core/_form.scss */
.form-list .control label,
.sp-methods dt label,
#checkout-shipping-method-load .sp-methods dd label,
#co-shipping-method-form .sp-methods dd label,
.product-options ul.options-list label {
    color: #000000;
    padding: 5px 10px;
    display: inline-block;
    width: auto;
    max-width: none;
    min-width: 250px;
    float: none;
    padding: 6px 10px 6px 20px; }
/* line 346, scss/core/_form.scss */
.form-list .control label:hover,
.sp-methods dt label:hover,
#checkout-shipping-method-load .sp-methods dd label:hover,
#co-shipping-method-form .sp-methods dd label:hover,
.product-options ul.options-list label:hover {
    text-decoration: underline; }
/* line 352, scss/core/_form.scss */
.form-list .control .no-display + label,
.sp-methods dt .no-display + label,
#checkout-shipping-method-load .sp-methods dd .no-display + label,
#co-shipping-method-form .sp-methods dd .no-display + label,
.product-options ul.options-list .no-display + label {
    padding-left: 10px;
    background-color: transparent; }
/* line 356, scss/core/_form.scss */
.form-list .control .no-display + label:hover,
.sp-methods dt .no-display + label:hover,
#checkout-shipping-method-load .sp-methods dd .no-display + label:hover,
#co-shipping-method-form .sp-methods dd .no-display + label:hover,
.product-options ul.options-list .no-display + label:hover {
    background-color: transparent; }

/* line 363, scss/core/_form.scss */
.product-options ul.options-list label,
.col2-set .form-list .control label {
    min-width: inherit;
    width: 250px;
    max-width: 100%; }

/* line 371, scss/core/_form.scss */
.form-list .control.remember-me-box label {
    width: auto;
    max-width: none;
    min-width: inherit; }

/* line 378, scss/core/_form.scss */
.form-list .control {
    margin-top: 10px; }
/* line 381, scss/core/_form.scss */
.form-list .control label {
    float: none;
    line-height: 25px;
      
    font-weight: 300;
    font-size: 11px; }
/* line 386, scss/core/_form.scss */
.form-list .control .radio,
.form-list .control .checkbox {
    margin-right: 6px; }
/* line 390, scss/core/_form.scss */
.form-list .control .input-box {
    clear: none;
    display: inline-block;
    width: auto;
    padding: 0; }

/* line 399, scss/core/_form.scss */
form .form-instructions {
    font-family: "Montserrat", serif;
    font-size: 14px;
    color: #000000;
    margin-bottom: 35px; }

/* -------------------------------------------- *
 * Select 2
 */
/* line 411, scss/core/_form.scss */
.select2-container--default .select2-selection--single {
    border-radius: 0;
    height: 38px; }
/* line 414, scss/core/_form.scss */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase; }
/* line 419, scss/core/_form.scss */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px; }

@media only screen and (max-width: 770px) {
    /* line 430, scss/core/_form.scss */
    input[type=text], input[type=password], input[type=tel], input[type=fax] {
        width: 100%; }
    /* line 433, scss/core/_form.scss */
    .form-list {
        max-width: 100%; } }

/* -------------------------------------------- *
 * Inline Radio Box
 */
/* line 444, scss/core/_form.scss */
.radio-box.inline {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }

/* line 449, scss/core/_form.scss */
.radio-box .radio-button {
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }

/* line 452, scss/core/_form.scss */
.radio-box .radio-button label {
    margin-left: 10px; }

/* ============================================ *
 * Table Helpers
 * ============================================ */
/* line 30, scss/core/_table.scss */
.hide-th {
    text-indent: -9999px; }

/* ============================================ *
 * Data Table
 * ============================================ */
/* line 38, scss/core/_table.scss */
.table-caption {
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    text-transform: uppercase; }

/* line 44, scss/core/_table.scss */
.data-table {
    width: 100%; }

/* line 48, scss/core/_table.scss */
.data-table td,
.data-table th {
    padding: 10px;
    vertical-align: top; }

/* line 54, scss/core/_table.scss */
.data-table th {
    background: #F4F4F4;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    line-height: 1.4;
    white-space: nowrap;
    font-size: 11px; }

/* line 63, scss/core/_table.scss */
.data-table thead th,
.data-table tbody td {
    border-bottom: 1px solid #707070; }

/* line 68, scss/core/_table.scss */
.data-table tbody td,
.data-table tfoot td {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    line-height: 25px;
    font-weight: 300;
    font-size: 11px; }

/* line 84, scss/core/_table.scss */
.data-table tbody td .item-options dt:after {
    content: ':'; }

/* ============================================ *
 * Generic Info Table
 * ============================================ */
/* line 93, scss/core/_table.scss */
.info-box {
    border: 1px solid #707070;
    padding: 12px 15px;
    margin: 0 0 15px; }
/* line 98, scss/core/_table.scss */
.info-box h2 {
    font-weight: bold;
    font-size: 13px; }

/* line 104, scss/core/_table.scss */
.info-table th,
.info-table td {
    vertical-align: top; }

/* line 109, scss/core/_table.scss */
.info-table th {
    font-weight: bold;
    padding: 4px 20px 4px 0; }

/* line 114, scss/core/_table.scss */
.info-table td {
    padding: 4px 0; }

/* ============================================ *
 * Zebra-Stripe Table
 * ============================================ */
/* line 123, scss/core/_table.scss */
.zebra-table tr:first-child,
.zebra-table th:first-child {
    border-top: 1px solid #707070; }

/* line 128, scss/core/_table.scss */
.zebra-table td,
.zebra-table th {
    border-bottom: 1px solid #707070;
    padding: 6px;
    background-color: transparent; }

/* line 135, scss/core/_table.scss */
.zebra-table tr {
    background-color: #EEEDED; }

/* line 139, scss/core/_table.scss */
.zebra-table tr:nth-child(odd) {
    background-color: #F8F7F5; }

/* ============================================ *
 * Linearize Table
 * ============================================ */
@media only screen and (max-width: 479px) {
    /* line 250, scss/core/_table.scss */
    .linearize-table {
        /* Helpers */ }
    /* line 150, scss/core/_table.scss */
    .linearize-table tr,
    .linearize-table th,
    .linearize-table td {
        display: block; }
    /* line 156, scss/core/_table.scss */
    .linearize-table thead th {
        border-right: 0;
        border-left: 0; }
    /* line 161, scss/core/_table.scss */
    .linearize-table thead th.lin-hide {
        display: none; }
    /* line 165, scss/core/_table.scss */
    .linearize-table thead th:nth-child(1n+2) {
        display: none; }
    /* line 169, scss/core/_table.scss */
    .linearize-table tbody tr {
        position: relative;
        border-bottom: 1px solid #CCCCCC; }
    /* line 174, scss/core/_table.scss */
    .linearize-table tbody td {
        padding: 0 10px 4px;
        border-right: 0;
        border-bottom: 0; }
    /* line 180, scss/core/_table.scss */
    .linearize-table tbody td.lin-hide {
        display: none; }
    /* line 184, scss/core/_table.scss */
    .linearize-table tbody td:first-child {
        padding-top: 10px; }
    /* line 188, scss/core/_table.scss */
    .linearize-table tbody td:first-child,
    .linearize-table tbody td:first-child h3 {
        font-weight: bold; }
    /* line 193, scss/core/_table.scss */
    .linearize-table tbody td[data-rwd-label] {
        text-align: left;
        padding-left: 30px; }
    /* line 198, scss/core/_table.scss */
    .linearize-table tbody td[data-rwd-label]:before {
        content: attr(data-rwd-label) ":";
        font-size: 12px;
        font-family: "Montserrat", serif;
        padding-right: 5px;
        text-transform: uppercase; }
    /* line 206, scss/core/_table.scss */
    .linearize-table tfoot tr {
        display: block;
        text-align: right; }
    /* line 211, scss/core/_table.scss */
    .linearize-table tfoot tr:after {
        content: '';
        display: table;
        clear: both; }
    /* line 215, scss/core/_table.scss */
    .linearize-table tfoot td {
        display: block;
        float: left; }
    /* line 220, scss/core/_table.scss */
    .linearize-table tfoot td.lin-hide {
        display: none; }
    /* line 224, scss/core/_table.scss */
    .linearize-table tfoot td:nth-child(odd) {
        clear: left;
        width: 60%; }
    /* line 229, scss/core/_table.scss */
    .linearize-table tfoot td:nth-child(even) {
        text-align: left;
        width: 40%; }
    /* line 236, scss/core/_table.scss */
    .linearize-table .linearize-hide {
        display: none; }
    /* line 240, scss/core/_table.scss */
    .linearize-table .linearize-unpad {
        padding: 0; }
    /* line 244, scss/core/_table.scss */
    .linearize-table .linearize-show {
        display: block; } }

@media only screen and (max-width: 599px) {
    /* line 256, scss/core/_table.scss */
    .linearize-table-large {
        /* Helpers */ }
    /* line 150, scss/core/_table.scss */
    .linearize-table-large tr,
    .linearize-table-large th,
    .linearize-table-large td {
        display: block; }
    /* line 156, scss/core/_table.scss */
    .linearize-table-large thead th {
        border-right: 0;
        border-left: 0; }
    /* line 161, scss/core/_table.scss */
    .linearize-table-large thead th.lin-hide {
        display: none; }
    /* line 165, scss/core/_table.scss */
    .linearize-table-large thead th:nth-child(1n+2) {
        display: none; }
    /* line 169, scss/core/_table.scss */
    .linearize-table-large tbody tr {
        position: relative;
        border-bottom: 1px solid #CCCCCC; }
    /* line 174, scss/core/_table.scss */
    .linearize-table-large tbody td {
        padding: 0 10px 4px;
        border-right: 0;
        border-bottom: 0; }
    /* line 180, scss/core/_table.scss */
    .linearize-table-large tbody td.lin-hide {
        display: none; }
    /* line 184, scss/core/_table.scss */
    .linearize-table-large tbody td:first-child {
        padding-top: 10px; }
    /* line 188, scss/core/_table.scss */
    .linearize-table-large tbody td:first-child,
    .linearize-table-large tbody td:first-child h3 {
        font-weight: bold; }
    /* line 193, scss/core/_table.scss */
    .linearize-table-large tbody td[data-rwd-label] {
        text-align: left;
        padding-left: 30px; }
    /* line 198, scss/core/_table.scss */
    .linearize-table-large tbody td[data-rwd-label]:before {
        content: attr(data-rwd-label) ":";
        font-size: 12px;
        font-family: "Montserrat", serif;
        padding-right: 5px;
        text-transform: uppercase; }
    /* line 206, scss/core/_table.scss */
    .linearize-table-large tfoot tr {
        display: block;
        text-align: right; }
    /* line 211, scss/core/_table.scss */
    .linearize-table-large tfoot tr:after {
        content: '';
        display: table;
        clear: both; }
    /* line 215, scss/core/_table.scss */
    .linearize-table-large tfoot td {
        display: block;
        float: left; }
    /* line 220, scss/core/_table.scss */
    .linearize-table-large tfoot td.lin-hide {
        display: none; }
    /* line 224, scss/core/_table.scss */
    .linearize-table-large tfoot td:nth-child(odd) {
        clear: left;
        width: 60%; }
    /* line 229, scss/core/_table.scss */
    .linearize-table-large tfoot td:nth-child(even) {
        text-align: left;
        width: 40%; }
    /* line 236, scss/core/_table.scss */
    .linearize-table-large .linearize-hide {
        display: none; }
    /* line 240, scss/core/_table.scss */
    .linearize-table-large .linearize-unpad {
        padding: 0; }
    /* line 244, scss/core/_table.scss */
    .linearize-table-large .linearize-show {
        display: block; } }

@media only screen and (min-width: 600px) {
    /* line 262, scss/core/_table.scss */
    .linearize-table .linearize-collapse {
        display: none; } }

/* ============================================ *
 * Global
 * ============================================ */
/* line 30, scss/layout/_global.scss */
html,
body {
    height: 100%; }
/* line 34, scss/layout/_global.scss */
html.popupopen,
body.popupopen {
    overflow: hidden; }

/* line 39, scss/layout/_global.scss */
.wrapper {
    min-width: 320px;
    min-height: 100%;
    margin: 0 auto;
    background: #FFFFFF; }

/* line 46, scss/layout/_global.scss */
.wrapper:after {
    content: '';
    display: table;
    clear: both; }

/* ============================================ *
 * Header - Custom Styles
 * ============================================ */
/* line 30, scss/layout/_header.scss */
.show-mobile {
    display: none; }

/* line 34, scss/layout/_header.scss */
header {
    position: relative;
    z-index: 10; }

/* line 41, scss/layout/_header.scss */
.skip-content .assistance-mobile {
    display: none; }
.page-header-container #header-language,
.page-header-container #header-shipping,
.page-header-container #header-assistance{
    font-size: 11px;
    text-transform: uppercase;
    position: relative;
    display:inline-block;
}
.page-header-container #header-shipping{
    width:50%;
}
.page-header-container #header-language,
.page-header-container #header-assistance{
    padding: 0 15px;
    width:25%;
}
.page-header-container #header-assistance{
    float:right;
    text-align:right;
}
.page-header-container #header-language{
    float:left;
    text-align:left;
}
#header-language p,#header-language ul,#header-language li{
    float:left;
}
#header-language li{
    padding:0 5px;}
#header-language li.active{
    font-weight:bold;}
/* line 45, scss/layout/_header.scss */
.page-header-container #header-assistance {
    -webkit-align-self: start;
    -ms-flex-item-align: start;
    -ms-grid-row-align: start;
    align-self: start;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1; }
/* line 49, scss/layout/_header.scss */

/* line 56, scss/layout/_header.scss */
.page-header-container #header-assistance .assistance-content {
    display: none;
    position: absolute;
    background-color: #fefefe;
    z-index: 9999;
    max-width: 420px;
    font-family: "Montserrat", serif;
    font-size: 15px;
    margin-top: 13px; }
/* line 65, scss/layout/_header.scss */
.page-header-container #header-assistance .assistance-content ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 35px;
    padding: 0px 10px 10px; }
/* line 71, scss/layout/_header.scss */
.page-header-container #header-assistance .assistance-content ul:last-child {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0px; }
/* line 74, scss/layout/_header.scss */
.page-header-container #header-assistance .assistance-content ul:last-child li {
    padding: 0 10px; }
/* line 79, scss/layout/_header.scss */
.page-header-container #header-assistance .assistance-content ul li a {
    font-size: 15px;
    text-transform: unset;
    font-family: "Montserrat", serif; }
/* line 84, scss/layout/_header.scss */
.page-header-container #header-assistance .assistance-content ul li .chat-link, 
.page-header-container #header-assistance .assistance-content ul li span {
    font-style: italic; }
.page-header-container #header-assistance {
    -webkit-align-self: unset;
    -ms-flex-item-align: unset;
    -ms-grid-row-align: unset;
    align-self: unset;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    padding: 0 10px; }
@media only screen and (max-width: 980px) {
    .page-header-container #header-language,
    .page-header-container #header-shipping,
    .page-header-container #header-assistance{
        display:none;
    }
}

/* ============================================ *
 * Header
 * ============================================ */
/* line 109, scss/layout/_header.scss */
.page-header {
    padding: 0px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #ffffff;
    height:100px;
    z-index: 999; }


@media only screen and (max-width: 980px) {
    .page-header{
        height:60px;
    }
}

/* ============================================ *
 * Language switcher + welcome message
 * ============================================ */
/* line 151, scss/layout/_header.scss */
.header-language-background {
    padding: 10px;
    background-color: #000000;
    text-transform: uppercase; }
/* line 156, scss/layout/_header.scss */
.header-language-background .header-language-container {
    max-width: 1840px;
    margin-left: auto;
    margin-right: auto; }
/* line 162, scss/layout/_header.scss */
.header-language-background:after {
    content: '';
    display: table;
    clear: both; }
/* line 166, scss/layout/_header.scss */
.header-language-background .form-language,
.header-language-background .currency-switcher {
    float: left;
    margin-right: 10px; }
/* line 172, scss/layout/_header.scss */
.header-language-background .welcome-msg {
    float: right; }

/* line 177, scss/layout/_header.scss */
.page-header-container .store-language-container {
    float: right;
    max-width: 35%;
    padding: 13px 15px 10px 10px; }
/* line 182, scss/layout/_header.scss */
.page-header-container .store-language-container label {
    display: none; }
/* line 185, scss/layout/_header.scss */
.page-header-container .store-language-container select {
    max-width: 100%; }

@media only screen and (max-width: 479px) {
    /* line 191, scss/layout/_header.scss */
    .page-header-container .store-language-container {
        padding-top: 8px; }
    /* line 194, scss/layout/_header.scss */
    .page-header-container .store-language-container select {
        font-size: 12px; } }

/* line 201, scss/layout/_header.scss */
.header-language-background,
.header-language-background a {
    color: #E6E6E6; }

@media only screen and (max-width: 770px) {
    /* line 208, scss/layout/_header.scss */
    .header-language-background {
        display: none; } }

/* ============================================ *
 * Logo
 * ============================================ */
/* line 218, scss/layout/_header.scss */
.logo-container {
    width:70%;
    display:inline-block;
    text-align:center;
}
/* line 223, scss/layout/_header.scss */
.logo-container .logo {
    display: block;
    min-width: 100px;
    text-align: center;}
/* line 232, scss/layout/_header.scss */
.logo-container .logo img {
    width: 100%; }
/* line 236, scss/layout/_header.scss */

/* line 240, scss/layout/_header.scss */

/* line 245, scss/layout/_header.scss */
.logo-container .logo:hover {
    opacity: 0.8; }
/* line 249, scss/layout/_header.scss */
.logo-container .version {
    text-transform: uppercase;
    font-size: 11px;
    padding-top: 5px;
    font-family: "Montserrat", sans-serif;
    color: #000000; }

.logo-container .logo .large {
    display: block;
    max-width: 300px;
    margin: 0 auto;
}
@media only screen and (min-width: 1200px) {
    /* line 287, scss/layout/_header.scss */
    .logo-container {
        padding-left: 0; } }

/* ============================================ *
 * Skip Links
 * ============================================ */
/* line 297, scss/layout/_header.scss */
.skip-links, .account-link {
    clear: both; }

@media only screen and (min-width: 771px) {
    /* line 308, scss/layout/_header.scss */
    .skip-links {
        border: 0; } }

@media only screen and (min-width: 1200px) {
    /* line 315, scss/layout/_header.scss */
    .skip-links {
        padding-right: 0; } }

/* -------------------------------------------- *
 * Skip - Link
 */
/* line 324, scss/layout/_header.scss */
.skip-link, .account-link {
    position: relative;
    float: left;
    width: 20%;
    height: 44px;
    background: #FFFFFF;
    color: #000000;
    line-height: 42px;
    text-align: center; }

/* line 335, scss/layout/_header.scss */
a.skip-link, a.account-link {
    height: auto;
    line-height: 1.3;
    font-size: 11px; }

/* line 344, scss/layout/_header.scss */
.skip-link:not(.skip-active):hover {
    opacity: 0.8; }

@media only screen and (max-width: 770px) {
    /* line 356, scss/layout/_header.scss */
    .skip-link:last-child {
        border-right: 0; } }

@media only screen and (min-width: 500px) {
    /* line 366, scss/layout/_header.scss */
    .skip-link, .account-link {
        width: 25%; } }

/* -------------------------------------------- *
 * Skip Link - Active
 */
@media only screen and (max-width: 770px) {
    /* line 377, scss/layout/_header.scss */
    .skip-link.skip-active {
        color: inherit; }
    /* line 382, scss/layout/_header.scss */
 }

/* -------------------------------------------- *
 * Skip Link - Icon
 */
/* line 392, scss/layout/_header.scss */
.skip-link .icon {
    display: inline-block;
    width: 30px;
    height: 16px;
    vertical-align: middle; }

/* line 399, scss/layout/_header.scss */
.skip-link.skip-nav .icon,
.skip-link.skip-cart:not(.no-count) .icon {
    margin-right: 3px; }

@media only screen and (min-width: 500px) {
    /* line 406, scss/layout/_header.scss */
    .skip-link .icon {
        margin-right: 3px; } }

/* -------------------------------------------- *
 * Skip Link - Label
 */
/* line 417, scss/layout/_header.scss */
.skip-link .label, .account-link .label {
    display: none;
    color: #000000;
    font-family: "Montserrat", sans-serif; }

@media only screen and (min-width: 500px) {
    /* line 429, scss/layout/_header.scss */
    .skip-link .label, .account-link .label {
        display: inline; } }

/* ============================================ *
 * Skip Content
 * ============================================ */
/* line 440, scss/layout/_header.scss */
.skip-content {
    display: none; }

/* line 444, scss/layout/_header.scss */
.skip-content.skip-active {
    display: block;
    background: #fefefe; }

/* ============================================ *
 * Global Header Navigation
 * ============================================ */
@media only screen and (max-width: 770px) {
    /* line 457, scss/layout/_header.scss */
    #header-account li a,
    .nav-primary a.level0 {
        padding: 0 15px 0 25px;
        border-bottom: 1px solid #CCCCCC;
        text-align: center;
        color: #000000;
        font-family: "Montserrat", serif;
        text-transform: uppercase;
        line-height: 30px; }
    /* line 468, scss/layout/_header.scss */
    #header-account li:last-child a,
    .nav-primary li.level0:last-child a.level0 {
        border-bottom: 0; }
    /* line 473, scss/layout/_header.scss */
    .no-touch #header-account a:hover,
    .no-touch .nav-primary a:hover {
        background-color: #F4F4F4;
        text-decoration: none; }
    /* line 478, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper .header-minicart #header-cart.block-cart.skip-active {
        top: 60px;
        width: 100%; }
    /* line 486, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper .header-minicart #header-cart.block-cart.skip-active .minicart-bottom-block {
        width: 100%; } }

/* line 494, scss/layout/_header.scss */
.account-cart-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
/* line 501, scss/layout/_header.scss */
.account-cart-wrapper.cart-opened {
    -webkit-justify-content: flex-end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important; }
@media only screen and (max-width: 770px) {
    /* line 494, scss/layout/_header.scss */
    .account-cart-wrapper {
        position: static; } }

@media only screen and (max-width: 979px) {
    /* line 511, scss/layout/_header.scss */
    .logo-container {
        width: 200px; } }

@media only screen and (max-width: 1199px) {
    /* line 519, scss/layout/_header.scss */
    #header-nav #nav .nav-primary {
        -webkit-justify-content: unset;
        -ms-flex-pack: unset;
        justify-content: unset; }
}

/* ============================================ *
 * Header mobile
 * ============================================ */
/* line 534, scss/layout/_header.scss */
.skip-link.skip-nav .icon {
    background-image: url("../images/menu-icon.svg");
    background-position: center;
    background-size: 15px;
    width: 15px; }
.page-header-container #header-nav #nav {
    width: 750px;
    margin:0 auto;}
@media only screen and (max-width: 1199px) {
    /* line 543, scss/layout/_header.scss */
    .page-header-container {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: start;
        -ms-flex-pack: start;
        justify-content: start; }
    /* line 546, scss/layout/_header.scss */

    /* line 548, scss/layout/_header.scss */

    /* line 552, scss/layout/_header.scss */
    .page-header-container .skip-links {
        width: 100%; }
    /* line 554, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end; }
    /* line 558, scss/layout/_header.scss */
    .page-header-container #header-assistance {
        -webkit-flex-grow: unset;
        -ms-flex-positive: unset;
        flex-grow: unset; } }

@media only screen and (max-width: 979px) {
    
    /* line 565, scss/layout/_header.scss */
    .show-mobile {
        display: block; }
    /* line 568, scss/layout/_header.scss */
    .hide-mobile {
        display: none; }
    /* line 571, scss/layout/_header.scss */
    .page-header-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

    .page-header-container #header-assistance {
        display: none; }
    /* line 581, scss/layout/_header.scss */
    .page-header-container .skip-search {
        display: none; }
    /* line 584, scss/layout/_header.scss */
    .page-header-container .search-mobile {
        display: block; }
    /* line 586, scss/layout/_header.scss */
    .page-header-container .search-mobile .icon {
        background-image: url("../images/search-icon.svg");
        background-position: center;
        width: 15px;
        height: 15px;
        background-repeat: no-repeat; }

    /* line 599, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-link, .page-header-container .skip-links .account-link {
        z-index:10;
        margin-top: 0px;
        padding-left:15px;
        padding-top: 15px;
        position: relative;
        width: unset; }
    /* line 604, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-link .label, .page-header-container .skip-links .account-link .label {
        display: none !important; }
    /* line 607, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-link .icon, .page-header-container .skip-links .account-link .icon {
        height: 23px; }
    /* line 611, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-cart {
        padding: 0;
        padding-top: 13px; }
    /* line 614, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-cart .count {
        position: absolute;
        top: unset;
        bottom: 0;
        right: 0;
        color: #000000; }
    /* line 625, scss/layout/_header.scss */
    .page-header-container .skip-links .account-link {
        display: none; }
    /* line 628, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper {
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2; }
    /* line 631, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper .header-minicart .block-cart.skip-active {
        top: 60px; }
    /* line 640, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper .header-minicart .block-cart.skip-active .minicart-actions .cart-link {
        position: unset;
        width: unset;
        margin-bottom: 10px;
        margin-top: 20px; }
    /* line 647, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper .header-minicart .block-cart.skip-active .item-options {
        display: none; }
    /* line 652, scss/layout/_header.scss */
    .page-header-container .skip-links .account-cart-wrapper .account-link {
        display: none; }
    /* line 656, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-nav {
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3;
        width: unset; }
    /* line 659, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-nav.skip-active {
        background-image: url("../images/close-icon.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 15px;
        left:15px;
        padding-top: 30px;
        width: 15px; }
    /* line 667, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-nav.skip-active .icon {
        background-image: none; }
    /* line 672, scss/layout/_header.scss */
    .page-header-container .skip-links .skip-search {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1; }
    /* line 676, scss/layout/_header.scss */

    /* line 689, scss/layout/_header.scss */
    .page-header-container #header-nav #nav {
        width:100%;
        padding-bottom: 12px; }
    /* line 691, scss/layout/_header.scss */
    .page-header-container #header-nav #nav .nav-primary {
        margin: 0 20px; }

    /* line 695, scss/layout/_header.scss */
    .page-header-container #header-nav #nav .nav-primary li a.level0 {
        padding: 0px;
        border-bottom: none;
        font-family: "Montserrat", serif; }

 }

/* ============================================ *
 * Nav - Custom Styles
 * ============================================ */
/* line 31, scss/layout/_header-nav.scss */
#header-nav #nav {
    width: 85%; }
/* line 33, scss/layout/_header-nav.scss */
#header-nav #nav .nav-primary {
    font-size: 11px;
    font-family: "Montserrat", sans-serif;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 40, scss/layout/_header-nav.scss */
#header-nav #nav .nav-primary li.level0.first {
    padding-left: 0px;
    border-left:1px solid #000;}
/* line 42, scss/layout/_header-nav.scss */
#header-nav #nav .nav-primary li.level0.first a {
    padding-left: 0px; }

@media only screen and (max-width: 980px) {

    #header-nav #nav .nav-primary li.level0{
        border: 1px solid #000;
        margin: 10px 0;
        width: 100%;
    }

}
/* ============================================ *
 * Nav - Skip Link
 * ============================================ */
/* line 54, scss/layout/_header-nav.scss */
.skip-nav {
    width: 40%; }
/* line 57, scss/layout/_header-nav.scss */
.skip-nav:not(.skip-active):hover {
    text-decoration: none; }

/* line 66, scss/layout/_header-nav.scss */
.skip-nav .label {
    display: inline; }

/* line 70, scss/layout/_header-nav.scss */
.skip-nav .icon {
    background-position: 4px 4px; }

@media only screen and (min-width: 500px) {
    /* line 79, scss/layout/_header-nav.scss */
    .skip-nav {
        width: 25%; } }

@media only screen and (min-width: 980px) {
    /* line 89, scss/layout/_header-nav.scss */
    .skip-nav {
        display: none; } }

/* ============================================ *
 * Nav - Skip Content
 * ============================================ */
@media only screen and (max-width: 979px) {

    #header-nav.skip-content.skip-active {
        position:fixed;
        overflow-y:auto;
        height:100%;
        width:100%;
        padding-bottom: 60px;
    } 
}

@media only screen and (min-width: 980px) {
    /* line 111, scss/layout/_header-nav.scss */
    #header-nav {
        display: block;
        /* Force visibility */ } }

/* ============================================ *
 * Nav Primary
 * ============================================ */
@media only screen and (min-width: 980px) {
    /* line 123, scss/layout/_header-nav.scss */
    .nav-primary {
        display: block;
        margin-top: 0px; } }

/* ============================================ *
 * General Navigation Styles
 * ============================================ */
/* line 137, scss/layout/_header-nav.scss */
.nav-primary a {
    position: relative;
    display: block;
    color: #000000;
    font-family: "Montserrat", sans-serif; }

/* line 146, scss/layout/_header-nav.scss */
.nav-primary li {
    position: relative; }


/* line 156, scss/layout/_header-nav.scss */
.nav-primary .menu-active > ul.level0,
.nav-primary li.level0 li.sub-menu-active > ul {
    display: block; }

/* line 161, scss/layout/_header-nav.scss */
.nav-primary li.level0 > a {
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    color: #000000;
    white-space: nowrap; }

/* ============================================ *
 * Small Viewports - Accordion Style Menu
 * ============================================ */
@media only screen and (max-width: 979px) {
    /* line 177, scss/layout/_header-nav.scss */
    .nav-primary a.level0,
    .nav-primary a {
        line-height: 45px; }
    /* line 183, scss/layout/_header-nav.scss */
    .nav-primary li.level0 ul {
        display: none; }
    /* line 188, scss/layout/_header-nav.scss */
    .nav-primary li.level0 li {
        text-align:center;
            border-top: 1px solid #000;
    }
    /* line 192, scss/layout/_header-nav.scss */
    .nav-primary li.level1 a {
        line-height:15px;
        padding: 10px; }



    .nav-primary li.parent > a:after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    display: block;
    background-image: url(../images/arrow_down.png);
    top: 10px;
    right: 10px;
    left: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;}
    
    .nav-primary li.parent.sub-menu-active > a:after,
    .nav-primary li.parent.menu-active > a:after {
    background-image: url(../images/arrow_up.png); }
    
    /* line 214, scss/layout/_header-nav.scss */
    .nav-primary li.menu-active > a,
    .nav-primary li.sub-menu-active > a {
        color: #000000; } }

/* ============================================ *
 * Large Viewports - Dropdown Menu
 * ============================================ */
@media only screen and (min-width: 771px) {
    /* line 227, scss/layout/_header-nav.scss */
    .nav-primary {
        /* Default styles for 1+ drop-down menus */
        /* Level 2+ */
        /* Class for js to add briefly to evaluate element positioning. */
        /* Correct menus that will hang off the page (class added by js) */
        /* Level 1+ */ }
    /* line 233, scss/layout/_header-nav.scss */
    .nav-primary li.level0{
        border-right:1px solid #000;
        width:25%;
        text-align:center;
    }

    .nav-primary li.level0,
    .nav-primary a.level0 {
        display: inline-block;
        padding-right: 0px; }

    /* line 244, scss/layout/_header-nav.scss */
    .nav-primary .menu-active {
        z-index: 200; }
    .nav-primary li.level0 ul li{
        padding-top:4px;
        padding-bottom:10px;
        background:#fff;
    }
    .nav-primary li.level0 ul h4{
        margin-bottom:2px;
    }
    /* line 249, scss/layout/_header-nav.scss */
    .nav-primary li.level0 ul {
        background: transparent;
        position: absolute;
        left: 0;
        top: 1px;
        /* Height of ".nav-primary a.level0" */
        z-index: 10;
        width: 187.5px;
        padding:5px;
        padding-top:27px;
        display: none;
        /* Hide until displayed. */ }
    /* line 262, scss/layout/_header-nav.scss */
    .nav-primary li.level1 ul {
        left: 60px;
        top: 15px; }
    /* line 268, scss/layout/_header-nav.scss */
    .nav-primary li.level0 ul.level0.position-test {
        display: block; }
    /* line 273, scss/layout/_header-nav.scss */
    .nav-primary li.level0 ul.level0.spill {
        right: 0;
        left: auto; }
    /* line 278, scss/layout/_header-nav.scss */
    .nav-primary li.level0 ul.level0.spill li.level1 ul {
        left: auto;
        right: 50px;
        top: 20px; }
    /* line 286, scss/layout/_header-nav.scss */
    .nav-primary li.level0 li.parent > a {
        position: relative; }
    /* line 289, scss/layout/_header-nav.scss */
    .nav-primary li.level0 li.parent > a:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 4px solid #ccc;
        border-right: none;
        right: 5px;
        top: 50%;
        margin-top: -3px; } }

/* line 300, scss/layout/_header-nav.scss */
.nav-primary li.menu-active > ul {
    display: block; }

/* ============================================ *
 * Search - Skip Link
 * ============================================ */
/* line 33, scss/layout/_header-search.scss */
.skip-search:not(.skip-active):hover .icon {
    background-position: -46px -146px; }

/* line 38, scss/layout/_header-search.scss */
.skip-search .icon {
    background-position: 4px -146px; }

@media only screen and (min-width: 771px) {
    /* line 48, scss/layout/_header-search.scss */
    .skip-search {
        display: none; } }

/* ============================================ *
 * Search - Skip Content
 * ============================================ */
/* line 58, scss/layout/_header-search.scss */
#header-search {
    padding: 20px; }

@media only screen and (min-width: 980px) {
    /* line 69, scss/layout/_header-search.scss */
    #header-search {
        display: block;
        padding: 0;
        margin-top: 26px; }
    /* line 79, scss/layout/_header-search.scss */
    #header-search a {
        text-transform: uppercase;
        font-size: 11px;
        font-family: "Montserrat", sans-serif; }
    /* line 84, scss/layout/_header-search.scss */
    #header-search form {
        position: absolute; } }

/* ============================================ *
 * Search Input
 * ============================================ */
/* line 96, scss/layout/_header-search.scss */
#search_mini_form .input-box {
    position: relative;
    padding-top: 0;
    min-width: 250px; }

/* line 102, scss/layout/_header-search.scss */
#search_mini_form label {
    display: none; }

/* line 106, scss/layout/_header-search.scss */
#search {
    width: 100%;
    height: 40px;
    padding-right: 40px;
    font-family: "Montserrat", serif; }

/* line 113, scss/layout/_header-search.scss */
#search_mini_form .search-button {
    text-indent: -9999px;
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    border: 0;
    background: none; }

/* line 124, scss/layout/_header-search.scss */
#search_mini_form .search-button:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    background-position: 4px -146px; }

/* line 137, scss/layout/_header-search.scss */
#search_mini_form .search-button:hover:before {
    opacity: 0.8; }

/* line 141, scss/layout/_header-search.scss */
#search_mini_form .search-button:active:before {
    margin-top: -13px;
    margin-left: -13px; }

/* ============================================ *
 * Layer search open
 * ============================================ */
/* line 151, scss/layout/_header-search.scss */
#search_mini_form .search-button:before {
    background-image: url("../images/search-icon-white.svg");
    background-position: center;
    width: 30px;
    height: 30px; }

/* line 159, scss/layout/_header-search.scss */
.search-layer {
    display: none;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999; }
/* line 168, scss/layout/_header-search.scss */
.search-layer.open {
    display: block; }
/* line 171, scss/layout/_header-search.scss */
.search-layer .close-search {
    position: absolute;
    right: 2%;
    top: 7%;
    padding: 10px;
    background-image: url("../images/close-icon.svg");
    background-position: center;
    width: 15px; }
/* line 180, scss/layout/_header-search.scss */
.search-layer form {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 20%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
/* line 187, scss/layout/_header-search.scss */
.search-layer form .input-box input {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #ffffff; }

/* ============================================ *
 * Header - Account
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Account
 */


/* line 42, scss/layout/_header-account.scss */
.account-link .icon {
    background-position: 4px -44px; }
.account-link{
    display:none;
}
@media only screen and (min-width: 980px) {
    /* line 52, scss/layout/_header-account.scss */
    .account-link {
        display:block;
        top:2px;
        width: auto;
        vertical-align: top;
        display: inline-block;
        padding: 0 10px;
        text-transform: uppercase; }
    /* line 64, scss/layout/_header-account.scss */
    #header-account.skip-active {
        background: #FBFBFB;
        border: solid 1px #CCCCCC;
        display: block;
        position: absolute;
        z-index: 200;
        top: 40px;
        right: 115px;
        width: 200px; }
    /* line 74, scss/layout/_header-account.scss */
    #header-account a {
        display: block;
        padding: 5px 10px;
        color: #000000;
        line-height: 2; }
    /* line 81, scss/layout/_header-account.scss */
    #header-account a:hover {
        color: #000000; } }

/* -------------------------------------------- *
 * Account Links
 */
/* line 91, scss/layout/_header-account.scss */
#header-account {
    padding: 5px 0; }

/* line 95, scss/layout/_header-account.scss */
#header-account a {
    position: relative;
    display: block;
    padding: 5px 10px;
    line-height: 23px;
    text-align: center; }

/* line 103, scss/layout/_header-account.scss */
#header-account a:hover {
    color: #000000; }

/* ============================================ *
 * Header - Cart
 * ============================================ */
/* -------------------------------------------- *
 * Skip Link - Cart
 */
/* line 41, scss/layout/_header-cart.scss */
.skip-cart .icon {
    background-position: 0px -95px; }

/* line 49, scss/layout/_header-cart.scss */
#header-cart.skip-active {
    display: block;
    position: fixed;
    z-index: 200;
    width: 490px;
    top: 100px;
    right: 0;
    right: 0;
    background: white;
    padding: 0px;
    height: 100%; }
/* line 63, scss/layout/_header-cart.scss */
#header-cart.skip-active .minicart-bottom-block {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 490px;
    border-top: 1px solid #0a0a0a;
    background: #fefefe;
    z-index:999;}

@media only screen and (min-width: 771px) {
    /* line 75, scss/layout/_header-cart.scss */
    .skip-cart {
        width: auto;
        padding: 0 10px; } }

@media only screen and (min-width: 1200px) {
    /* line 87, scss/layout/_header-cart.scss */
    .skip-cart {
        padding-right: 0; } }

/* -------------------------------------------- *
 * Skip Cart Notifier
 */
/* line 96, scss/layout/_header-cart.scss */
.skip-cart .count {
    z-index: 5;
    width: 15px;
    height: 15px;
    color: #FFFFFF;
    text-align: center;
    border-radius: 50%;
    background: #000;
    padding: 3px;
    border: 1px solid #fff;
    position: absolute;
    right: 0;
    top: 5px;
    font-size: 8px;
    line-height: 8px;
}

/* line 120, scss/layout/_header-cart.scss */
.skip-cart.no-count .count {
    display: none; }

@media only screen and (max-width: 499px) {
    /* line 125, scss/layout/_header-cart.scss */
    .skip-cart .count {
        left:10px; } }

@media only screen and (min-width: 771px) {
    /* line 131, scss/layout/_header-cart.scss */
    .skip-cart {
        color: #000000;
        text-transform: uppercase; }
    /* line 135, scss/layout/_header-cart.scss */
    .skip-cart:hover {
        text-decoration: none; }
    /* line 139, scss/layout/_header-cart.scss */
    .skip-cart .count {
        margin-left: 0px;
        position: absolute; } }

/* line 164, scss/layout/_header-cart.scss */
.skip-cart .count.empty {
    display: none; }

/* -------------------------------------------- *
 * Mini Cart - Empty
 */
/* line 172, scss/layout/_header-cart.scss */
.cart-menu .empty {
    padding: 20px;
    text-align: center; }

/* -------------------------------------------- *
 * Mini Cart - Full
 */
/* Actions */
/* line 183, scss/layout/_header-cart.scss */
.cart-menu .actions {
    overflow: hidden;
    padding: 15px; }

/* line 188, scss/layout/_header-cart.scss */
.cart-menu .actions .button {
    float: left;
    width: 48%; }

/* line 193, scss/layout/_header-cart.scss */
.cart-menu .actions .button + .button {
    margin-left: 4%; }

/* Subtotal */
/* line 199, scss/layout/_header-cart.scss */
.cart-menu .subtotal {
    padding: 0 15px 15px;
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    line-height: 1.2; }

/* List */
/* line 208, scss/layout/_header-cart.scss */
.mini-cart-list {
    margin-bottom: 5px; }

/* line 212, scss/layout/_header-cart.scss */
.mini-cart-list li {
    position: relative;
    min-height: 90px;
    padding: 15px 15px 15px 90px;
    border-top: 1px solid #CCCCCC;
    font-size: 13px;
    line-height: 1.35; }

/* line 221, scss/layout/_header-cart.scss */
.mini-cart-list .product-name {
    display: inline-block; }

/* line 225, scss/layout/_header-cart.scss */
.mini-cart-list .product-image {
    position: absolute;
    left: 15px;
    top: 15px; }

/* line 231, scss/layout/_header-cart.scss */
.mini-cart-list .product-image img {
    width: 60px;
    height: 60px; }

/* line 238, scss/layout/_header-cart.scss */
.mini-cart-list .has-options {
    margin-bottom: 0;
    color: #A0A0A0;
    font-size: 12px; }

/* Too full - additional items will be shown in cart */
/* line 245, scss/layout/_header-cart.scss */
.cart-menu .last-added {
    padding: 10px 15px 15px;
    border-top: 1px solid #CCCCCC;
    font-size: 13px; }

/* ============================================ *
 * Header mobile
 * ============================================ */
/* line 256, scss/layout/_header-cart.scss */

/* line 259, scss/layout/_header-cart.scss */
.skip-cart .icon {
    background-image: url("../images/carrello_close.svg");
    background-position: center;
    width: 20px;
    height: 16px;
    background-size: contain;
    margin-left: 5px; }

/* line 267, scss/layout/_header-cart.scss */
.skip-cart.skip-active .icon {
    background-image: url("../images/carrello_open.svg"); }



@media only screen and (max-width: 979px) {
    /* line 282, scss/layout/_header-cart.scss */
    .skip-cart .label {
        display: none; }
    /* line 285, scss/layout/_header-cart.scss */
    .skip-cart .icon {
        display: block; }
    /* line 289, scss/layout/_header-cart.scss */
    #header-cart.skip-active {
        top: 61px;
        width:100%;} 
    #header-cart.skip-active .minicart-bottom-block{
        width:100%;
    }
}



/* -------------------------------------------- *
 * Footer
 */
/* line 40, scss/layout/_footer.scss */
#popupcookie {
    background-color: #fff;
    color: #000000;
    position: fixed;
    display: block;
    text-align: center;
    bottom: 0;
    width: 100%;
    right: -100%;
    z-index: 8;
    height: auto;
    opacity: 0;
    border: 1px solid #000;
    padding: 20px; }
/* line 55, scss/layout/_footer.scss */
#popupcookie .right a {
    color: #000000;
    text-decoration: underline; }
/* line 58, scss/layout/_footer.scss */
#popupcookie .right a.close-cookie {
    float: right;
    display: block;
    border: 1px solid #000000;
    margin-right: 0;
    font-size: 16px;
    padding: 12px;
    text-decoration: none;
    color: #000000;
    font-size: 11px; }
/* line 70, scss/layout/_footer.scss */
#popupcookie .right p {
    font-size: 11px;
      
    line-height: 18px;
    text-align: left;
    margin: 5%; }
/* line 78, scss/layout/_footer.scss */
#popupcookie .wrpclose {
    float: left;
    margin: 5%; }

/* line 84, scss/layout/_footer.scss */
.footer,
.footer button {
    font-family: "Montserrat", sans-serif; }

/* line 89, scss/layout/_footer.scss */
.footer {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    text-transform: uppercase;
    font-weight: 300;
      
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    margin-top: 80px; }
/* line 100, scss/layout/_footer.scss */
.footer .footer__left {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
/* line 105, scss/layout/_footer.scss */
.footer .footer__left .footer__copyright {
    text-align: center;
    text-transform: none;
    padding: 15px 0; }
/* line 110, scss/layout/_footer.scss */
.footer .footer__left .footer__copyright .footer__copyright-upper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
/* line 114, scss/layout/_footer.scss */
.footer .footer__left .footer__copyright .footer__copyright-lower {
    display: none; }
/* line 120, scss/layout/_footer.scss */
.footer .footer__right {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
/* line 125, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper {
    border-bottom: 1px solid;
    padding-bottom: 15px; }
/* line 129, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-newsletter {
    text-align: center;
    display: none; }
/* line 134, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-contacts {
    text-align: center;
    padding: 15px 0; }
/* line 139, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch {
    text-align: center;
    display: none; }
/* line 143, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch ul {
    width: 100%;
    padding: 15px 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
/* line 148, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch ul li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 50%;
    -ms-flex: 0 1 50%;
    flex: 0 1 50%;
    opacity: 1; }
/* line 152, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch ul li.active {
    opacity: 0.2; }
/* line 156, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch ul li:first-child {
    -webkit-justify-content: right;
    -ms-flex-pack: right;
    justify-content: right;
    padding-right: .5em; }
/* line 160, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch ul li:first-child a {
    margin-left: auto; }
/* line 165, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-storeswitch ul li:last-child {
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    padding-left: .5em; }
/* line 173, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-social {
    text-align: center; }
/* line 176, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-social ul {
    width: 100%;
    padding: 15px 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
/* line 181, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-social ul li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 50%;
    -ms-flex: 0 1 50%;
    flex: 0 1 50%; }
/* line 185, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-social ul li:first-child {
    -webkit-justify-content: right;
    -ms-flex-pack: right;
    justify-content: right;
    padding-right: .5em; }
/* line 189, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-social ul li:first-child a {
    margin-left: auto; }
/* line 194, scss/layout/_footer.scss */
.footer .footer__right .footer__right-upper .footer__right-social ul li:last-child {
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    padding-left: .5em; }
/* line 203, scss/layout/_footer.scss */
.footer .footer__right .footer__right-lower {
    padding: 15px 0; }
/* line 206, scss/layout/_footer.scss */
.footer .footer__right .footer__right-lower ul {
    text-align: center; }
/* line 209, scss/layout/_footer.scss */
.footer .footer__right .footer__right-lower ul li {
    padding: 15px 0; }

@media only screen and (min-width: 980px) {
    /* line 219, scss/layout/_footer.scss */
    #popupcookie {
        width: 25%; }
    /* line 222, scss/layout/_footer.scss */
    .footer {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    margin: 150px 15px 50px 15px; }
    /* line 227, scss/layout/_footer.scss */
    .footer .footer__left {
        -webkit-justify-content: left;
        -ms-flex-pack: left;
        justify-content: left;
        -webkit-flex-basis: 25%;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%; }
    /* line 231, scss/layout/_footer.scss */
    .footer .footer__left .footer__copyright {
        text-align: left;
         
        line-height: 2.2em;
        padding: 0; }
    /* line 237, scss/layout/_footer.scss */
    .footer .footer__left .footer__copyright .footer__copyright-upper {
        margin-bottom: 26px; }
    /* line 241, scss/layout/_footer.scss */
    .footer .footer__left .footer__copyright .footer__copyright-lower {
        display: block; }
    /* line 247, scss/layout/_footer.scss */
    .footer .footer__right {
        -webkit-justify-content: right;
        -ms-flex-pack: right;
        justify-content: right;
        -webkit-flex-basis: 75%;
        -ms-flex-preferred-size: 75%;
        flex-basis: 75%; }
    /* line 251, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0 5px 30px; }
    /* line 256, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-newsletter {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-right: 50px; }
    /* line 261, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-contacts {
        padding: 0;
        display: none; }
    /* line 266, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-storeswitch {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    /* line 269, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-storeswitch ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: unset;
        -ms-flex-wrap: unset;
        flex-wrap: unset;
        padding: 0; }
    /* line 275, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-storeswitch ul li:first-child {
        -webkit-justify-content: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        padding: 0 1em; }
    /* line 280, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-storeswitch ul li:last-child {
        -webkit-justify-content: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        padding: 0 0 0 1em; }
    /* line 288, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-social {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
        align-self: flex-end;
        justify-self: flex-end;
        margin-left: auto; }
    /* line 295, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-social ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: unset;
        -ms-flex-wrap: unset;
        flex-wrap: unset;
        padding: 0; }
    /* line 301, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-social ul li:first-child {
        -webkit-justify-content: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        padding: 0 1em; }
    /* line 306, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-upper .footer__right-social ul li:last-child {
        -webkit-justify-content: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        padding: 0 0 0 1em; }
    /* line 315, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-lower {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 15px 5px 0; }
    /* line 320, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-lower ul {
        width: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between; }
    /* line 326, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-lower ul .footer__right-hidden {
        display: none; } }

@media only screen and (min-width: 980px) and (max-width: 1199px) {
    /* line 337, scss/layout/_footer.scss */
    .footer .footer__left {
        -webkit-flex-basis: 35%;
        -ms-flex-preferred-size: 35%;
        flex-basis: 35%; }
    /* line 341, scss/layout/_footer.scss */
    .footer .footer__right {
        -webkit-flex-basis: 65%;
        -ms-flex-preferred-size: 65%;
        flex-basis: 65%; }
    /* line 346, scss/layout/_footer.scss */
    .footer .footer__right .footer__right-lower ul li {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        text-align: center;
        -webkit-flex: 0 0 33%;
        -ms-flex: 0 0 33%;
        flex: 0 0 33%; } }

/* -------------------------------------------- *
   * Skin Popup
   */
/* line 362, scss/layout/_footer.scss */
.popup-skin {
    position: fixed;
    background: #fefefe;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 999999; }
/* line 371, scss/layout/_footer.scss */
.popup-skin .popup-skin__content {
    overflow-y: auto;
    max-height: calc(100vh - 150px);
    padding: 30px 30px 0; }
/* line 377, scss/layout/_footer.scss */
.popup-skin .popup-skin__id {
    display: block;
    text-align: center; }
/* line 382, scss/layout/_footer.scss */
.popup-skin .popup-skin__logo {
    display: block;
    text-align: center;
    margin-top: 35px;
    margin-left: auto;
    margin-right: auto;
    max-width: 80vw; }
/* line 390, scss/layout/_footer.scss */
.popup-skin .popup-skin__logo img {
    width: 1000px;
    height: 52px;
    max-width: 100%; }
/* line 397, scss/layout/_footer.scss */
.popup-skin .popup-skin__descr {
    display: block;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 300;

    line-height: auto;
    text-transform: uppercase;
    margin-top: 35px;
    margin-left: auto;
    margin-right: auto; }
/* line 409, scss/layout/_footer.scss */
.popup-skin .popup-skin__descr br {
    display: none; }
/* line 414, scss/layout/_footer.scss */
.popup-skin .popup-skin__link {
    display: block;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    margin-top: 35px;
    margin-left: auto;
    margin-right: auto; }
/* line 423, scss/layout/_footer.scss */
.popup-skin .popup-skin__scroll {
    position: fixed;
    bottom: 0;
    background: #000;
    height: 116px;
    width: 40px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
/* line 432, scss/layout/_footer.scss */
.popup-skin .popup-skin__scroll .popup-skin__scroll-content {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    border: 1px solid #000; }
/* line 439, scss/layout/_footer.scss */
.popup-skin .popup-skin__scroll .popup-skin__scroll-content .chevron {
    position: absolute;
    bottom: 35px;
    color: #fff;
    width: 100%; }
/* line 446, scss/layout/_footer.scss */
.popup-skin .popup-skin__scroll .popup-skin__scroll-content .chevron::before {
    border-style: solid;
    border-width: 1px 1px 0 0;
    content: '';
    display: inline-block;
    height: 18px;
    left: 50%;
    position: relative;
    vertical-align: top;
    width: 18px;
    bottom: 0;
    -webkit-transform: translateX(-50%) rotate(135deg);
    -ms-transform: translateX(-50%) rotate(135deg);
    transform: translateX(-50%) rotate(135deg); }
/* line 460, scss/layout/_footer.scss */
.popup-skin .popup-skin__scroll .popup-skin__scroll-content .white-detail {
    position: absolute;
    height: 6px;
    width: 100%;
    background: #fff;
    bottom: 14px; }
/* line 470, scss/layout/_footer.scss */
.popup-skin .popup-skin__link {
    height: 40px;
    width: 200px;
    background-color: #000;
    color: #fff;
    line-height: 40px;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 300;
       }

@media only screen and (min-width: 980px) {
    /* line 486, scss/layout/_footer.scss */
    .popup-skin .popup-skin__content {
        position: absolute;
        width: 100vw;
        left: 50%;
        top: 45%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        padding: 0;
        max-height: calc(100vh - 300px); }
    /* line 496, scss/layout/_footer.scss */
    .popup-skin .popup-skin__logo {
        margin-top: 8%;
        max-width: 550px; }
    /* line 500, scss/layout/_footer.scss */
    .popup-skin .popup-skin__logo img {
        margin-left: auto;
        margin-right: auto;
        max-width: 500px; }
    /* line 507, scss/layout/_footer.scss */
    .popup-skin .popup-skin__descr {
        line-height: 35px;
          
        max-width: 800px; }
    /* line 512, scss/layout/_footer.scss */
    .popup-skin .popup-skin__descr br {
        display: block; }
    /* line 517, scss/layout/_footer.scss */
    .popup-skin .popup-skin__link {
        margin-top: 70px; } }

/* ================================================= *
 * General Product List Styles (not module-specific)
 * ================================================= */
/* -------------------------------------------- *
 * Product List General
 */
/* line 35, scss/module/_product-list.scss */
.category-ego .page-title {
    display: none; }

.category-variant.catalog-category-view .cat_block_top {
    margin-bottom:60px;
}
/* line 40, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top {
    width: 100%;
    position: relative;}
/* line 44, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top .content {
    position: relative; }
/* line 48, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top .content .text-container {
    text-align: center;
    width: 65%;
    margin: 0 auto;}
/* line 64, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top .content .text-container .subtitle {
    font-weight: 300;
    font-size: 14px;
    line-height: 20px; }
/* line 72, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top .content .mobile {
    display: none; }
/* line 75, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top .content .img-big {
    max-width: 460px;
    width: 33%;
    top: -6%;
    right: 0;
    position: absolute; }
/* line 82, scss/module/_product-list.scss */
.catalog-category-view .cat_block_top .content .img-small {
    position: absolute;
    width: 16%;
    right: -11%;
    bottom: 25%;
    z-index: 1; }

/* line 91, scss/module/_product-list.scss */
.catalog-category-view .video-container {
    margin-top: 15%; }
@media only screen and (min-width: 981px){
    .catalog-category-view .category-products-gttheme{
        max-width:80%;
        margin:0 10%;
    }
}
/* line 95, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 9%; }
/* line 100, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10.5%; 
    display:none;}
/* line 107, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus .text-container {
    max-width: 740px;
    width: unset;
    text-align: center;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    margin-bottom: 15%;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: auto; }
/* line 115, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus .text-container .title {
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px;
    font-style: normal;
    margin-bottom: 30px;
    text-transform: uppercase; }
/* line 121, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus .text-container .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    font-size: 14px;
    line-height: 25px;
      
    font-weight: 300; }
/* line 127, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus img {
    width: 68%;
    object-fit: scale-down;
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start; }
/* line 133, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item {
    margin: 0px;
    position: relative; }
/* line 136, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-image {
    border: none; }
/* line 138, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-image .side {
    display: none; }
/* line 142, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-image:hover .product {
    display: none; }
/* line 145, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-image:hover .side {
    display: block; }
/* line 150, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info {
    text-align: center;
    width: 100%;
    margin-top: 15px;}
/* line 157, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info td {
    padding: 5px 0;
    text-align:center;}
/* line 160, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info h4 {
    margin-bottom:0 }
/* line 168, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info h2 a {
    color: #000000; }
/* line 172, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info .price-box {
    margin: 0px;
    text-align: center; }

/* line 178, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info .price-box .regular-price .price {
    font-size:12px;
    line-height: 12px;}
/* line 184, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item {
    width:33.333%;
    margin-top: 3%; }
/* line 188, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-image{
    width: 90%;
    margin: 0 auto;
    text-align: center;}


/* line 275, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .img-container {
    max-height: 820px;
    width: 58%;
    margin-top: 15%;
    margin-bottom: 4%; }
/* line 303, scss/module/_product-list.scss */
.catalog-category-view .category-products-gttheme .products-grid-gttheme .text-container {
    width: 40%;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    margin-bottom: 15%; }

/* line 332, scss/module/_product-list.scss */
.category-title h1,
body.catalogsearch-result-index .page-title h1 {
    border-bottom: none; }

/* line 338, scss/module/_product-list.scss */
.category-title h1 {
    text-transform: uppercase;
    font-size: 24px; }

/* line 344, scss/module/_product-list.scss */
.category-image {
    margin-bottom: 1.5em; }

/* line 349, scss/module/_product-list.scss */
.products-list .action .button,
.products-grid .actions .button {
    white-space: normal; }

/* -------------------------------------------- *
 * Product Name
 */
/* line 358, scss/module/_product-list.scss */
h2.product-name,
h3.product-name,
h4.product-name,
h5.product-name,
p.product-name {
    margin: 0;
    margin-bottom: 40px;
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 19px;
    font-weight: 300;
    font-style: normal;
    line-height: 22px;
    text-rendering: optimizeLegibility;
    font-size: 13px;
    font-family: "Montserrat", sans-serif;
    font-weight: normal;
    line-height: 1.4; }
/* line 369, scss/module/_product-list.scss */
h2.product-name a,
h3.product-name a,
h4.product-name a,
h5.product-name a,
p.product-name a {
    color: #000000; }
/* line 371, scss/module/_product-list.scss */
h2.product-name a:hover,
h3.product-name a:hover,
h4.product-name a:hover,
h5.product-name a:hover,
p.product-name a:hover {
    color: #000000;
    text-decoration: none; }

/* line 378, scss/module/_product-list.scss */
.products-grid .product-name,
.products-list .product-name {
    text-transform: uppercase;
    margin-bottom: 5px;
    font-size: 14px;
    font-family: "Montserrat", sans-serif; }
/* line 385, scss/module/_product-list.scss */
.products-grid .product-name a,
.products-list .product-name a {
    font-weight: 500; }

/* ============================================ *
 * Product Grid
 * ============================================ */
/* line 396, scss/module/_product-list.scss */
.products-grid {
    position: relative; }

/* line 400, scss/module/_product-list.scss */
.products-grid:after {
    content: '';
    display: table;
    clear: both; }

/* line 404, scss/module/_product-list.scss */
.products-grid > li {
    position: relative;
    margin-bottom: 20px;
    text-align: center; }
/* line 409, scss/module/_product-list.scss */
.products-grid > li:after {
    content: '';
    display: table;
    clear: both; }

/* line 414, scss/module/_product-list.scss */
.products-grid .product-image {
    width: 100%;
    margin-bottom: 15px; }

/* line 419, scss/module/_product-list.scss */
.products-grid .product-image img {
    width: 100%;
    height: auto; }
/* line 423, scss/module/_product-list.scss */
.products-grid .product-image img:hidden {
    display: none; }

/* line 429, scss/module/_product-list.scss */
.widget-new-products .products-grid .product-image {
    width: 75%;
    margin-bottom: 15px;
    margin-left: 10%; }

/* line 439, scss/module/_product-list.scss */
.products-grid .product-info {
    position: relative;
    padding-bottom: 95px; }

/* line 444, scss/module/_product-list.scss */
.products-grid .actions {
    padding-top: 10px;
    position: absolute;
    bottom: 0px;
    min-height: 85px;
    width: 100%; }

/* line 452, scss/module/_product-list.scss */
.products-grid .ratings .rating-box {
    margin: 0 auto; }

/* line 456, scss/module/_product-list.scss */
.products-grid .ratings .amount {
    display: none; }

/* line 460, scss/module/_product-list.scss */
.products-grid .price-box {
    color: #A0A0A0;
    font-size: 13px;
    margin: 0 0 5px; }

/* line 466, scss/module/_product-list.scss */
.products-grid .add-to-links {
    margin-bottom: 0; }

/* Config: Two columns + flexible gutter */
/* line 477, scss/module/_product-list.scss */
.products-grid > li {
    float: left;
    width: 47.72727%;
    margin-right: 4.54545%; }

/* line 483, scss/module/_product-list.scss */
.products-grid > li:nth-child(odd) {
    clear: left; }

/* line 487, scss/module/_product-list.scss */
.products-grid > li:nth-child(even) {
    margin-right: 0; }

/* line 491, scss/module/_product-list.scss */
.products-grid .product-image {
    margin-bottom: 5px; }
/* line 27, scss/mixin/_loading-overlay.scss */
.products-grid .product-image:before, .products-grid .product-image:after {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none; }
/* line 38, scss/mixin/_loading-overlay.scss */
.products-grid .product-image:before {
    background-color: white;
    opacity: 0.8;
    z-index: 2; }
/* line 44, scss/mixin/_loading-overlay.scss */
.products-grid .product-image:after {
    background-image: url("../images/opc-ajax-loader.gif");
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3; }
/* line 51, scss/mixin/_loading-overlay.scss */
.products-grid .product-image.loading {
    position: relative; }
/* line 54, scss/mixin/_loading-overlay.scss */
.products-grid .product-image.loading:before, .products-grid .product-image.loading:after {
    display: block; }

@media only screen and (min-width: 480px) {
    /* Config: Three columns + flexible gutter */
    /* line 509, scss/module/_product-list.scss */
    .products-grid {
        /* Undo two-column config */
        /* Set three-column config */ }
    /* line 511, scss/module/_product-list.scss */
    .products-grid > li:nth-child(odd) {
        clear: none; }
    /* line 514, scss/module/_product-list.scss */
    .products-grid > li:nth-child(even) {
        margin-right: 3.7037%; }
    /* line 519, scss/module/_product-list.scss */
    .products-grid > li {
        width: 30.8642%;
        margin-right: 3.7037%; }
    /* line 523, scss/module/_product-list.scss */
    .products-grid > li:nth-child(3n+1) {
        clear: left; }
    /* line 526, scss/module/_product-list.scss */
    .products-grid > li:nth-child(3n) {
        margin-right: 0; } }

@media only screen and (min-width: 960px) {
    /* Config: Columns + flexible gutter */
    /* Undo three-column config */
    /* line 546, scss/module/_product-list.scss */
    .products-grid--max-4-col > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .products-grid--max-4-col > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .products-grid--max-4-col > li:nth-child(even),
    .products-grid--max-4-col > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* Set column config */
    /* line 558, scss/module/_product-list.scss */
    .products-grid--max-4-col > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .products-grid--max-4-col > li {
        width: 23.33333%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .products-grid--max-4-col > li:nth-child(4n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .products-grid--max-4-col > li:nth-child(4n) {
        margin-right: 0; }
    /* Config: Columns + flexible gutter */
    /* Undo three-column config */
    /* line 546, scss/module/_product-list.scss */
    .products-grid--max-5-col > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .products-grid--max-5-col > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .products-grid--max-5-col > li:nth-child(even),
    .products-grid--max-5-col > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* Set column config */
    /* line 558, scss/module/_product-list.scss */
    .products-grid--max-5-col > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .products-grid--max-5-col > li {
        width: 18.22222%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .products-grid--max-5-col > li:nth-child(5n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .products-grid--max-5-col > li:nth-child(5n) {
        margin-right: 0; }
    /* Config: Columns + flexible gutter */
    /* Undo three-column config */
    /* line 546, scss/module/_product-list.scss */
    .products-grid--max-6-col > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .products-grid--max-6-col > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .products-grid--max-6-col > li:nth-child(even),
    .products-grid--max-6-col > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* Set column config */
    /* line 558, scss/module/_product-list.scss */
    .products-grid--max-6-col > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .products-grid--max-6-col > li {
        width: 14.81481%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .products-grid--max-6-col > li:nth-child(6n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .products-grid--max-6-col > li:nth-child(6n) {
        margin-right: 0; } }

/* ============================================ *
 * Product List
 * ============================================ */
/* line 585, scss/module/_product-list.scss */
.products-list {
    margin-top: 20px;
    margin-bottom: 20px; }
/* line 589, scss/module/_product-list.scss */
.products-list > li {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #EDEDED; }
/* line 594, scss/module/_product-list.scss */
.products-list > li:after {
    content: '';
    display: table;
    clear: both; }
/* line 597, scss/module/_product-list.scss */
.products-list > li .product-image {
    float: left;
    width: 33.33333%; }
/* line 601, scss/module/_product-list.scss */
.products-list > li .product-image img {
    width: 100%;
    max-width: 100%; }
/* line 607, scss/module/_product-list.scss */
.products-list > li:last-child {
    padding-bottom: 0;
    border-bottom: none; }

/* line 613, scss/module/_product-list.scss */
.products-list .product-shop {
    float: right;
    width: 66.66667%;
    padding-left: 20px; }
/* line 618, scss/module/_product-list.scss */
.products-list .product-shop .product-name {
    margin-bottom: 0; }
/* line 621, scss/module/_product-list.scss */
.products-list .product-shop .ratings {
    margin: 0; }
/* line 624, scss/module/_product-list.scss */
.products-list .product-shop .ratings .rating-box,
.products-list .product-shop .ratings .rating-links {
    float: left;
    margin-right: 7px; }
/* line 629, scss/module/_product-list.scss */
.products-list .product-shop .ratings .rating-links {
    margin-top: 4px; }
/* line 633, scss/module/_product-list.scss */
.products-list .product-shop .price-box {
    margin-top: 0; }
/* line 636, scss/module/_product-list.scss */
.products-list .product-shop .price-box .price {
    font-size: 19px; }
/* line 639, scss/module/_product-list.scss */
.products-list .product-shop .action {
    margin: 7px 0; }
/* line 642, scss/module/_product-list.scss */
.products-list .product-shop .desc {
    margin-top: 7px; }
/* line 646, scss/module/_product-list.scss */
.products-list .product-shop .product-primary,
.products-list .product-shop .desc {
    float: left;
    width: 65%;
    overflow: hidden; }
/* line 652, scss/module/_product-list.scss */
.products-list .product-shop .product-secondary {
    float: right;
    width: 35%;
    text-align: right;
    clear: right; }

@media only screen and (min-width: 480px) {
    /* line 661, scss/module/_product-list.scss */
    .products-list .product-name a {
        font-size: 19px; } }

@media only screen and (max-width: 1279px) {
    /* line 668, scss/module/_product-list.scss */
    .products-list .product-shop .product-primary,
    .products-list .product-shop .desc {
        float: left;
        width: 60%;
        padding-right: 20px; }
    /* line 674, scss/module/_product-list.scss */
    .products-list .product-shop .product-secondary {
        float: right;
        width: 40%; } }

@media only screen and (max-width: 600px) {
    /* line 682, scss/module/_product-list.scss */
    .products-list .product-shop .price-box .special-price {
        padding-left: 0; }
    /* line 686, scss/module/_product-list.scss */
    .products-list .product-shop .product-primary,
    .products-list .product-shop .product-secondary,
    .products-list .product-shop .desc {
        float: none;
        width: 100%;
        padding-right: 0;
        text-align: left; } }

/* ============================================ *
 * Mini Product List
 * ============================================ */
/* line 711, scss/module/_product-list.scss */
.mini-products-list .product-details .product-name {
    padding-top: 10px; }

/* line 715, scss/module/_product-list.scss */
.mini-products-list li {
    margin-bottom: 10px;
    clear: both; }
/* line 719, scss/module/_product-list.scss */
.mini-products-list li:after {
    content: '';
    display: table;
    clear: both; }

/* line 727, scss/module/_product-list.scss */
.mini-products-images-list:after {
    content: '';
    display: table;
    clear: both; }

/* line 731, scss/module/_product-list.scss */
.mini-products-images-list li.item {
    float: left;
    width: 50%;
    margin: 0;
    padding: 0 5px 10px 0; }
/* line 737, scss/module/_product-list.scss */
.mini-products-images-list li.item:nth-child(even) {
    padding-right: 0;
    padding-left: 5px; }
/* line 742, scss/module/_product-list.scss */
.mini-products-images-list li.item .product-image {
    display: block; }
/* line 745, scss/module/_product-list.scss */
.mini-products-images-list li.item .product-image img {
    width: 100%;
    max-width: 100%; }

/* ============================================ *
 * Catalog - List
 * ============================================ */
/* line 760, scss/module/_product-list.scss */
.category-image {
    border: 1px solid #CCCCCC;
    padding: 10px; }
/* line 764, scss/module/_product-list.scss */
.category-image img {
    width: 100%;
    max-width: 100%; }
/* line 768, scss/module/_product-list.scss */
.category-image img:hidden {
    display: none; }

/* ============================================ *
 * Layered Navigation
 * ============================================ */
/* line 778, scss/module/_product-list.scss */
.block-layered-nav .block-subtitle--filter {
    display: none;
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #CCCCCC;
    position: relative;
    background-color: #F4F4F4;
    cursor: pointer; }
/* line 110, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-subtitle--filter:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #000000;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px; }
/* line 117, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-subtitle--filter:hover {
    background-color: #ededed; }

/* line 123, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-content .toggle-tabs {
    display: none; }

/* line 128, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-content > dl > dt {
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #CCCCCC;
    position: relative;
    background-color: #F4F4F4;
    display: block; }
/* line 110, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-content > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #000000;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px; }
/* line 117, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-content > dl > dt:hover {
    background-color: #ededed; }

/* line 133, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-content > dl > dd {
    padding: 10px;
    margin: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #CCCCCC; }

/* line 140, scss/mixin/_toggle-content.scss */
.block-layered-nav .block-content > dl > dd:last-child {
    border-width: 0 1px 1px 1px; }

/* line 790, scss/module/_product-list.scss */
.block-layered-nav dl dd {
    margin-bottom: 10px;
    margin-top: 10px; }
/* line 794, scss/module/_product-list.scss */
.block-layered-nav dl dd ol > li > span, .block-layered-nav dl dd ol > li > a {
    padding: 5px 15px;
    display: block; }
/* line 798, scss/module/_product-list.scss */
.block-layered-nav dl dd ol > li > a .count {
    color: #A0A0A0; }

@media only screen and (min-width: 771px) {
    /* line 804, scss/module/_product-list.scss */
    .block-layered-nav .block-content > dl > dt {
        padding-left: 10px; }
    /* line 807, scss/module/_product-list.scss */
    .block-layered-nav .block-content > dl > dt:after {
        display: none; } }

@media only screen and (max-width: 770px) {
    /* line 814, scss/module/_product-list.scss */
    .sidebar .block.block-layered-nav {
        border-bottom: none; }
    /* line 819, scss/module/_product-list.scss */
    .block-layered-nav--no-filters .block-title {
        display: none; }
    /* line 824, scss/module/_product-list.scss */
    .block-layered-nav .block-content {
        padding-top: 0;
        margin-top: 15px; }
    /* line 148, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content > dl > dt {
        cursor: pointer;
        border-bottom-width: 0; }
    /* line 152, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content > dl > dt:hover {
        color: #000000; }
    /* line 155, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content > dl > dt:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 4px solid #000000;
        border-right: none; }
    /* line 158, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content > dl > dt.last {
        border-bottom-width: 1px; }
    /* line 163, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content > dl > dd {
        display: none; }
    /* line 171, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content.accordion-open > dl > dt.current {
        border-bottom-width: 1px; }
    /* line 175, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content.accordion-open > dl > dt.current:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        border-top: 4px solid #000000;
        border-bottom: none;
        left: 6px;
        top: 50%;
        margin-top: -3px; }
    /* line 183, scss/mixin/_toggle-content.scss */
    .block-layered-nav .block-content.accordion-open > dl > dd.current {
        display: block; }
    /* line 830, scss/module/_product-list.scss */
    .block-layered-nav .block-subtitle--filter {
        background-color: #000000;
        border: 0;
        margin-bottom: 0;
        display: block;
        color: #FFFFFF; }
    /* line 837, scss/module/_product-list.scss */
    .block-layered-nav .block-subtitle--filter:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 4px solid #FFFFFF;
        border-right: none;
        right: 10px;
        top: 50%;
        margin-top: -5px; }
    /* line 844, scss/module/_product-list.scss */
    .block-layered-nav .block-subtitle--filter:hover {
        background-color: #2e8ab8;
        color: #FFFFFF; }
    /* line 849, scss/module/_product-list.scss */
    .block-layered-nav .block-subtitle--filter.active:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        border-top: 4px solid #FFFFFF;
        border-bottom: none;
        right: 10px;
        top: 50%;
        margin-top: -3px; }
    /* line 857, scss/module/_product-list.scss */
    #narrow-by-list,
    #narrow-by-list2 {
        padding: 10px;
        border: 1px solid #CCCCCC;
        border-top: 0; }
    /* line 864, scss/module/_product-list.scss */
    .block-layered-nav dl ol > li > a,
    .block-layered-nav dl ol > li > span {
        padding: 7px;
        margin: 5px; }
    /* line 870, scss/module/_product-list.scss */
    .block-layered-nav dl ol > li > a {
        color: #000000;
        padding: 5px 10px; }
    /* line 873, scss/module/_product-list.scss */
    .block-layered-nav dl ol > li > a:hover {
        text-decoration: none;
        background: #ededed; } }

/* line 881, scss/module/_product-list.scss */
.block-layered-nav .currently .block-subtitle {
    display: block;
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase; }

/* line 886, scss/module/_product-list.scss */
.block-layered-nav .currently ol {
    padding-left: 10px;
    margin-bottom: 10px; }

/* line 890, scss/module/_product-list.scss */
.block-layered-nav .currently ol li {
    margin-bottom: 5px; }
/* line 893, scss/module/_product-list.scss */
.block-layered-nav .currently ol li .label {
    font-weight: bold; }
/* line 897, scss/module/_product-list.scss */
.block-layered-nav .currently ol li:after {
    content: '';
    display: table;
    clear: both; }

/* line 903, scss/module/_product-list.scss */
.block-layered-nav .actions {
    text-align: right;
    margin-bottom: 7px; }

/* ============================================ *
 * Resposive
 * ============================================ */

@media only screen and (max-width: 1199px) {
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .item{
        width:50%;
    }
}

@media only screen and (max-width: 979px) {
    /* line 916, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content .text-container {
        position: unset;
        width: 40%;
        left: 15%;
        margin: auto;
        margin-top: 40px;
        text-align: center; }
    /* line 924, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content .background-img {
        display: none; }
    /* line 927, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content .mobile {
        display: block; }
    /* line 936, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info h2 {
        padding-left: 10px; }

    /* line 947, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus .text-container {
        max-width: 220px; } }

@media only screen and (max-width: 770px) {
    /* line 958, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top {
        position: unset;
        width: 90%;
        margin: 5%; }
    /* line 963, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content {
        width: 100%; }
    /* line 965, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content .text-container {
        position: unset;
        width: 100%;
        margin-bottom: 20px; }
    /* line 973, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content .img-small {
        width: 100%;
        max-width: 227px;
        top: 90%;
        left: 50%;
        -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
        transform: translate(-50%); }
    /* line 980, scss/module/_product-list.scss */
    .catalog-category-view .cat_block_top .content .img-big {
        position: unset;
        width: 100%;
        margin: auto; }
    /* line 988, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme {
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between; }
    /* line 990, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .item .product-info {
        position: unset; }


    /* line 1003, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    /* line 1005, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus .text-container {
        max-width: unset;
        width: 100%;
        -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
        align-self: flex-start;
        margin-bottom: 40px; }
    /* line 1011, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus img {
        width: 100%; }

    /* line 1021, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .img-container {
        width: 100%; }
    /* line 1024, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .no-block {
        display: none; } }

@media only screen and (max-width: 479px) {


    /* line 1045, scss/module/_product-list.scss */
    .catalog-category-view .category-products-gttheme .products-grid-gttheme .product-focus {
        margin-top: 40px; } }

/* ============================================ *
 * Catalog - Product
 * ============================================ */
/* line 30, scss/module/_catalog-product.scss */
.zoomContainer {
    display: none; }
.cosmo-customizer-index-index .product-view{
    width:100%;
    float:left;
    margin-top: 60px;
}
/* line 35, scss/module/_catalog-product.scss */
.product-view .product-essential {
    padding-top:40px;
    margin-bottom: 80px;
    background-color: #FAF9F7;}
.product-view .product-essential-content {
    max-width:1500px;
    margin:0 auto;}
/* line 39, scss/module/_catalog-product.scss */
.product-view .product-essential .extra-info .ratings .rating-box,
.product-view .product-essential .extra-info .ratings .amount {
    float: left; }
/* line 44, scss/module/_catalog-product.scss */
.product-view .product-essential .extra-info .ratings .rating-box {
    margin-top: 8px;
    margin-right: 10px; }
/* line 49, scss/module/_catalog-product.scss */
.product-view .product-essential .extra-info .ratings:after {
    content: '';
    display: table;
    clear: both; }
/* line 55, scss/module/_catalog-product.scss */
.product-view .product-essential:after {
    content: '';
    display: table;
    clear: both; }
/* line 58, scss/module/_catalog-product.scss */
.product-view .product-essential .shipping-link {
    font-family: "Montserrat", serif;
    color: #000000;
    font-size: 12px;
    text-transform: uppercase; }
/* line 63, scss/module/_catalog-product.scss */
.product-view .product-essential .shipping-link .text {
    font-family: "Montserrat", sans-serif;
    text-transform: initial;
    font-size: 14px;
    margin-top: 50px; }
/* line 70, scss/module/_catalog-product.scss */
.product-view .product-essential .sticky-wrapper {
    width: 37%; }
/* line 73, scss/module/_catalog-product.scss */
.product-view .product-essential .block-related {
    display: none; }
/* line 76, scss/module/_catalog-product.scss */
.product-view .product-essential .back-to-link {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: 300; }

/* line 83, scss/module/_catalog-product.scss */
.product-view .info-block {
    display:flex;
    max-width: 1000px;
    padding-bottom:70px;
    margin:0 auto; }
.product-view .info-block .description{
    width: 45%;
    float: left;
    margin-right: 5%;
    line-height:30px;
    font-size:12px;
}
.product-view .info-block .coppia{
    width: 50%;
    float: left;
}
.product-view .info-block .open-popup{
    width: 100%;
    text-align: center;
    display: block;
    margin-top: 30px;
    font-weight: bold;
    text-decoration: underline;
    font-size: 14px;
    line-height: 16px;
    cursor:pointer;
    float:left;
}
/* line 86, scss/module/_catalog-product.scss */
.product-view .info-block > .title {
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px;
    font-size: 19px;
    margin-bottom: 30px;
    font-style: normal;
    text-align: center; }
/* line 93, scss/module/_catalog-product.scss */
.product-view .info-block .text-container {
    margin-top: 40px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 98, scss/module/_catalog-product.scss */
.product-view .info-block .text-container .text-block {
    margin-top: 50px;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
/* line 101, scss/module/_catalog-product.scss */
.product-view .info-block .text-container .text-block .title {
    font-size: 19px;
    text-transform: uppercase;
    max-width: 400px; }
/* line 106, scss/module/_catalog-product.scss */
.product-view .info-block .text-container .text-block .content {
    font-family: "Montserrat", sans-serif;
    margin-top: 25px;
    max-width: 400px;
       }

/* line 115, scss/module/_catalog-product.scss */

.product-view .product-img-box .product-name h1 {
    color: #000000;
    margin-bottom: 10px;
    border: 0; }

/* line 122, scss/module/_catalog-product.scss */
.product-view .product-shop {
    width:35%;
    max-width:405px;
    float: right;
    background-color:#fff;
    margin-right:5%;
    padding:25px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
/* line 128, scss/module/_catalog-product.scss */
.product-view .product-shop .product-name {
    float: left;
    padding-top: 25px; }
/* line 133, scss/module/_catalog-product.scss */
.product-view .product-shop .product-name .h1 {
    float: left;
    font-weight:bold;
    line-height:30px;}
/* line 143, scss/module/_catalog-product.scss */
.product-view .product-shop .extra-info {
    float: left;
    padding-right: 15px;
    clear: left; }

/* line 162, scss/module/_catalog-product.scss */
.product-view .product-shop .short-description {
    display:none;
    margin-bottom: 20px;
    clear: both;
    border-bottom: 1px solid black;
    padding-bottom: 20px; }
/* line 167, scss/module/_catalog-product.scss */
.product-view .product-shop .short-description .std {
    font-family: "Montserrat", sans-serif;
    color: #000000;
    font-size: 14px;
    line-height: 25px;
      
    font-weight: 300; }
/* line 175, scss/module/_catalog-product.scss */
.product-view .product-shop .ratings {
    margin-bottom: 8px; }
/* line 179, scss/module/_catalog-product.scss */
.product-view .product-shop .availability {
    font-size: 16px; }
/* line 183, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box {
    display:none;}
.product-view .product-shop .price-info .price-box {
    margin-top: 0;
    margin-right:3px;
    display:inline-block;}
/* line 186, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .old-price,
.product-view .product-shop .price-box .special-price,
.product-view .product-shop .price-box .regular-price {
    padding-right: 0;
    line-height: 1.2; }
/* line 193, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .regular-price .price,
.product-view .product-shop .price-box .special-price .price,
.product-view .product-shop .price-box .full-product-price .price {
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight:bold;}
/* line 203, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .special-price .price-label {
    font-size: 16px;
    text-transform: uppercase; }
/* line 208, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .special-price span.weee {
    color: #000000; }
/* line 211, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .special-price span.weee span.price {
    font-size: 16px; }
/* line 217, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .price-excluding-tax,
.product-view .product-shop .price-box .price-including-tax {
    display: block;
    line-height: 1.2;
    color: #000000; }
/* line 223, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .price-excluding-tax .label,
.product-view .product-shop .price-box .price-including-tax .label {
    font-size: 16px;
    font-weight: 300; }
/* line 228, scss/module/_catalog-product.scss */
.product-view .product-shop .price-box .price-excluding-tax .price,
.product-view .product-shop .price-box .price-including-tax .price {
    font-size: 20px; }

/* line 236, scss/module/_catalog-product.scss */
.product-view .price-box.map-info a {
    display: inherit; }

/* line 241, scss/module/_catalog-product.scss */
.product-view .old-price .price-label {
    display: none; }

/* line 244, scss/module/_catalog-product.scss */
.product-view .old-price .price {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    font-size: 13px; }

/* line 250, scss/module/_catalog-product.scss */
.product-view .add-to-cart-wrapper,
.product-view .block-related {
    width: 50%;
    float: right;
    clear: right; }

/* line 259, scss/module/_catalog-product.scss */
.catalog-product-view .product-block {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 120px; }
/* line 263, scss/module/_catalog-product.scss */
.catalog-product-view .product-block .text-container {
    max-width: 450px;
    margin: auto;
    padding-left: 30px; }
/* line 267, scss/module/_catalog-product.scss */
.catalog-product-view .product-block .text-container .title {
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px;
    margin-bottom: 30px; }
/* line 271, scss/module/_catalog-product.scss */
.catalog-product-view .product-block .text-container .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }

/* line 277, scss/module/_catalog-product.scss */
.catalog-product-view .img-snx img {
    width: 60%;
    height: 60%; }

/* line 283, scss/module/_catalog-product.scss */
.catalog-product-view .img-dx .img-container {
    width: 50%;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
/* line 286, scss/module/_catalog-product.scss */
.catalog-product-view .img-dx .img-container img {
    margin: auto; }

/* line 290, scss/module/_catalog-product.scss */
.catalog-product-view .img-dx .text-container {
    padding-left: 0px;
    padding-right: 30px; }

@media only screen and (max-width: 850px) {
    /* line 303, scss/module/_catalog-product.scss */
    .product-view .product-shop .price-box .price-excluding-tax .label,
    .product-view .product-shop .price-box .price-including-tax .label {
        font-size: 15px; }
    /* line 307, scss/module/_catalog-product.scss */
    .product-view .product-shop .price-box .price-excluding-tax .price,
    .product-view .product-shop .price-box .price-including-tax .price {
        font-size: 19px; } }

@media only screen and (max-width: 770px) {
    /* line 318, scss/module/_catalog-product.scss */
    .product-view .add-to-cart-wrapper {
        float: none;
        width: 100%;
        clear: both; }
    /* line 328, scss/module/_catalog-product.scss */
    .product-view .product-shop .price-box .price-excluding-tax .label,
    .product-view .product-shop .price-box .price-including-tax .label {
        font-size: 16px; }
    /* line 332, scss/module/_catalog-product.scss */
    .product-view .product-shop .price-box .price-excluding-tax .price,
    .product-view .product-shop .price-box .price-including-tax .price {
        font-size: 20px; } }

@media only screen and (max-width: 420px) {
    /* line 345, scss/module/_catalog-product.scss */
    .product-view .product-shop .price-box .price-excluding-tax,
    .product-view .product-shop .price-box .price-including-tax {
        margin-bottom: 5px; }
    /* line 349, scss/module/_catalog-product.scss */
    .product-view .product-shop .price-box .price-excluding-tax span,
    .product-view .product-shop .price-box .price-including-tax span {
        display: block; } 
}

/* more view product view */
.more-views{
    width:15%;
}
.more-views .thumb-prod .thumb-link img{
    width:80%;
    max-width:100px;
    margin:2px 10%;
    border:1px solid #eee;
}
.more-views .thumb-prod .thumb-link.clicked img{
    border-color:#000;
}
/* line 358, scss/module/_catalog-product.scss */
.product-img-box {
    width: 60%;
    float: left; }
/* line 363, scss/module/_catalog-product.scss */
.product-img-box .product-name h1 {
    border: 0; }
/* line 368, scss/module/_catalog-product.scss */
.product-img-box .product-image {
    width: 85%;
    float: right;
    margin-bottom: 10px;
    border: none; }
/* line 373, scss/module/_catalog-product.scss */
.product-img-box .product-image img {
    max-width: 100%;
    max-height: 750px;
    margin: 0px auto;
    margin-right: 0;
    margin-bottom: 20px; 
    display:none;}
.product-img-box .product-image img.visible{
    display:block;
}
@media only screen and (max-width: 979px) {
    /* line 389, scss/module/_catalog-product.scss */
    .product-img-box .product-image img {
        max-height: 450px; } 
    .more-views{
        display:none;
    }
    .product-img-box .product-image{
        width:100%;
    }
}

/* line 394, scss/module/_catalog-product.scss */
.product-image-gallery {
    position: relative; }
/* line 396, scss/module/_catalog-product.scss */
.product-image-gallery .slide {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end; }
/* line 400, scss/module/_catalog-product.scss */
.product-image-gallery .slide .num {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    margin: auto; }
/* line 412, scss/module/_catalog-product.scss */
.product-image-gallery .gallery-image.visible.hidden {
    visibility: hidden; }
/* line 27, scss/mixin/_loading-overlay.scss */
.product-image-gallery:before, .product-image-gallery:after {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none; }
/* line 38, scss/mixin/_loading-overlay.scss */
.product-image-gallery:before {
    background-color: white;
    opacity: 0.8;
    z-index: 2; }
/* line 44, scss/mixin/_loading-overlay.scss */
.product-image-gallery:after {
    background-image: url("../images/opc-ajax-loader.gif");
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3; }
/* line 51, scss/mixin/_loading-overlay.scss */
.product-image-gallery.loading {
    position: relative; }
/* line 54, scss/mixin/_loading-overlay.scss */
.product-image-gallery.loading:before, .product-image-gallery.loading:after {
    display: block; }

/* line 422, scss/module/_catalog-product.scss */
.product-image-thumbs li {
    display: inline-block; }

/* line 425, scss/module/_catalog-product.scss */
.product-image-thumbs li:first-child {
    margin-left: -1px; }

/* line 446, scss/module/_catalog-product.scss */
.product-img-box {
    padding-right: 15px; }

/* line 450, scss/module/_catalog-product.scss */
.product-view .product-shop,
.product-img-box,
.product-collateral,
.product-view .block-related,
.box-collateral {
    margin-bottom: 10px; }

/* line 458, scss/module/_catalog-product.scss */
.product-view {
    /* Set a min-height so that the floated elements break appropriately */ }
/* line 460, scss/module/_catalog-product.scss */
.product-view .add-to-box:after,
.product-view .add-to-cart:after {
    content: '';
    display: table;
    clear: both; }
/* line 465, scss/module/_catalog-product.scss */
.product-view .add-to-cart {
    padding-bottom: 3px;
    margin-bottom: 10px; }
/* line 472, scss/module/_catalog-product.scss */
.product-view .add-to-cart .qty-wrapper,
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart-buttons {
    min-height: 40px; }
/* line 478, scss/module/_catalog-product.scss */
.product-view .product-options-bottom .price-box,
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart-buttons .button,
.product-view .add-to-cart-buttons .paypal-logo {
    margin-bottom: 10px; }
/* line 485, scss/module/_catalog-product.scss */
.product-view .add-to-cart .qty-wrapper,
.product-view .add-to-cart .qty-wrapper label {
    margin-right: 7px;
    float: left;
    display: none; }
/* line 492, scss/module/_catalog-product.scss */
.product-view .add-to-cart .qty-wrapper label {
    line-height: 40px; }
/* line 496, scss/module/_catalog-product.scss */
.product-view .add-to-cart .qty-wrapper .qty {
    float: left;
    height: 40px; }
/* line 501, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons {
    float: left;
    max-width: 100%;
    width: 100%;}
/* line 506, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons .paypal-logo {
    clear: left;
    text-align: center; }
/* line 510, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons .paypal-logo .paypal-button {
    margin: 0 auto;
    display: block;
    width: 170px; }
/* line 516, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons .paypal-logo .bml_button {
    display: block;
    width: 174px;
    margin: 0 auto; }
/* line 521, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons .paypal-logo .bml_button a {
    text-align: center; }
/* line 526, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons .paypal-logo .paypal-or {
    display: block;
    margin-bottom: 10px;
    margin-left: 0;
    margin-right: 0;
    line-height: 1;
    text-align: center; }
/* line 537, scss/module/_catalog-product.scss */
.product-view .add-to-cart-buttons .button {
    width:100%;
    line-height: 40px; }
/* line 52, scss/mixin/_custom.scss */
.product-view .add-to-cart-buttons .button:hover {
    background-color: #000000;
    color: #fefefe; }
/* line 549, scss/module/_catalog-product.scss */
.product-view .alert-price,
.product-view .alert-stock {
    clear: both; }

@media only screen and (max-width: 479px) {
    /* line 557, scss/module/_catalog-product.scss */
    .product-view .add-to-cart-buttons .paypal-or {
        line-height: 20px; }
    /* line 561, scss/module/_catalog-product.scss */
    .product-view .add-to-cart-buttons .paypal-logo,
    .product-view .add-to-cart-buttons .paypal-or,
    .product-view .add-to-cart-buttons .paypal-button,
    .product-view .add-to-cart-buttons .button {
        text-align: center;
        width: 100%;
        display: block;
        margin-right: 0;
        margin-left: 0;
        float: none; } }

/* This is the "or" that separates the "Add to Cart" and "Add to X" links */
/* line 576, scss/module/_catalog-product.scss */
.add-to-box .or {
    display: none; }

/* line 580, scss/module/_catalog-product.scss */
.product-view .add-to-links {
    clear: both;
    margin-top: 0px;
    margin-right: 15px;
    float: left;
    display: none; }
/* line 587, scss/module/_catalog-product.scss */
.product-view .add-to-links:after {
    content: '';
    display: table;
    clear: both; }
/* line 591, scss/module/_catalog-product.scss */
.product-view .add-to-links li {
    float: left; }
/* line 595, scss/module/_catalog-product.scss */
.product-view .add-to-links a {
    padding: 2px 7px 2px 0px;
    margin-left: 7px;
    border-right: 1px solid #CCCCCC; }
/* line 601, scss/module/_catalog-product.scss */
.product-view .add-to-links li:first-child a {
    margin-left: 0px; }
/* line 605, scss/module/_catalog-product.scss */
.product-view .add-to-links li:last-child a {
    border-right: 0px; }

/* line 610, scss/module/_catalog-product.scss */
.product-view .sharing-links {
    float: left; }
/* line 613, scss/module/_catalog-product.scss */
.product-view .sharing-links:after {
    content: '';
    display: table;
    clear: both; }
/* line 617, scss/module/_catalog-product.scss */
.product-view .sharing-links li {
    float: left;
    padding: 0px 7px 7px; }
/* line 622, scss/module/_catalog-product.scss */
.product-view .sharing-links a {
    text-indent: -9999px;
    display: block;
    width: 26px;
    height: 26px; }
/* line 629, scss/module/_catalog-product.scss */
.product-view .sharing-links a:hover {
    opacity: 0.8; }
/* line 632, scss/module/_catalog-product.scss */
.product-view .sharing-links a.link-wishlist {
    background-position: 0px -225px; }
/* line 635, scss/module/_catalog-product.scss */
.product-view .sharing-links a.link-compare {
    background-position: 0px -250px; }
/* line 638, scss/module/_catalog-product.scss */
.product-view .sharing-links a.link-email-friend {
    background-position: 0px -322px; }
/* line 641, scss/module/_catalog-product.scss */
.product-view .sharing-links a.link-facebook {
    background-position: 0px -425px; }
/* line 644, scss/module/_catalog-product.scss */
.product-view .sharing-links a.link-twitter {
    background-position: 0px -372px; }

@media only screen and (max-width: 599px) {
    /* line 651, scss/module/_catalog-product.scss */
    .add-to-box .add-to-links a {
        float: none;
        width: auto;
        text-indent: 0; } }

.product-plus-info td{
    padding:5px;
}
.product-plus-info img{
    width:20px;
}
/* line 659, scss/module/_catalog-product.scss */
.product-collateral {
    clear: both; }
/* line 661, scss/module/_catalog-product.scss */
.product-collateral .toggle-tabs {
    border: none !important;
    background-color: transparent !important; }
/* line 664, scss/module/_catalog-product.scss */
.product-collateral .toggle-tabs li:first-child {
    border-right: none !important; }
/* line 669, scss/module/_catalog-product.scss */
.product-collateral .toggle-tabs li span {
    padding-left: 0px !important;
    font-family: "Montserrat", serif;
    text-transform: uppercase;
    color: #000000;
    font-size: 11px !important; }
/* line 677, scss/module/_catalog-product.scss */
.product-collateral .toggle-tabs li.current {
    border: none !important; }
/* line 679, scss/module/_catalog-product.scss */
.product-collateral .toggle-tabs li.current span {
    padding-left: 0px;
    color: #0a0a0a !important;
    text-decoration: underline; }
/* line 687, scss/module/_catalog-product.scss */
.product-collateral .collateral-tabs dd {
    border: none;
    padding-top: 40px;
    padding-left: 5px; }
/* line 692, scss/module/_catalog-product.scss */
.product-collateral .collateral-tabs dd .tab-content .std {
    font-family: "Montserrat", sans-serif;
    color: #000000;
    font-size: 14px;
    line-height: 25px;
      
    font-weight: 300; }
/* line 698, scss/module/_catalog-product.scss */
.product-collateral .collateral-tabs dd .tab-content .std .share-social-container .share-social-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    min-width: 120px; }
/* line 702, scss/module/_catalog-product.scss */
.product-collateral .collateral-tabs dd .tab-content .std .share-social-container .share-social-content a img {
    width: 15px;
    height: 15px;
    margin: 0 10px; }

/* line 717, scss/module/_catalog-product.scss */
.collateral-tabs dd h2 {
    display: none; }

/* line 723, scss/module/_catalog-product.scss */
.box-collateral {
    clear: both; }

@media only screen and (min-width: 771px) {
    /* line 27, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs {
        display: block;
        width: 100%;
        position: relative;
        border: 1px solid #CCCCCC;
        background-color: #F4F4F4; }
    /* line 34, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs li {
        float: left;
        border-right: 1px solid transparent;
        border-left: 1px solid transparent; }
    /* line 39, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs li > span {
        -moz-user-select: none;
        -ms-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
        user-select: none;
        display: inline-block;
        padding: 0 30px;
        height: 40px;
        line-height: 40px;
        cursor: pointer;
        text-transform: uppercase;
        font-size: 12px;
        position: relative;
        bottom: -1px; }
    /* line 53, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs li.current {
        border-right: 1px solid #CCCCCC;
        border-left: 1px solid #CCCCCC; }
    /* line 57, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs li.current > span {
        background-color: #FFFFFF;
        z-index: 5; }
    /* line 68, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs li:first-child {
        border-left: none; }
    /* line 72, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs:after {
        content: '';
        display: table;
        clear: both; }
    /* line 77, scss/mixin/_toggle-content.scss */
    .product-collateral > dl {
        width: 100%; }
    /* line 80, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt {
        display: none; }
    /* line 84, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dd {
        width: 100%;
        display: none;
        padding: 15px;
        border: 1px solid #CCCCCC;
        border-top: 0; }
    /* line 92, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dd.current {
        display: block; } }

@media only screen and (max-width: 770px) {
    /* line 123, scss/mixin/_toggle-content.scss */
    .product-collateral .toggle-tabs {
        display: none; }
    /* line 128, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt {
        margin: 0;
        margin-bottom: 10px;
        color: #000000;
        font-family: "Montserrat", sans-serif;
        font-size: 14px;
        font-weight: bold;
        font-style: normal;
        line-height: 1.4;
        text-rendering: optimizeSpeed;
        text-transform: uppercase;
        -moz-user-select: none;
        -ms-user-select: none;
        -webkit-user-select: none;
        -o-user-select: none;
        user-select: none;
        font-weight: normal;
        margin-bottom: 0px;
        padding: 7px 10px 7px 24px;
        border-width: 1px;
        border-style: solid;
        border-color: #CCCCCC;
        position: relative;
        background-color: #F4F4F4;
        display: block; }
    /* line 110, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        border-top: 4px solid #000000;
        border-bottom: none;
        left: 10px;
        top: 50%;
        margin-top: -3px; }
    /* line 117, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt:hover {
        background-color: #ededed; }
    /* line 133, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dd {
        padding: 10px;
        margin: 0;
        border-width: 0 1px;
        border-style: solid;
        border-color: #CCCCCC; }
    /* line 140, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dd:last-child {
        border-width: 0 1px 1px 1px; }
    /* line 148, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt {
        cursor: pointer;
        border-bottom-width: 0; }
    /* line 152, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt:hover {
        color: #000000; }
    /* line 155, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 4px solid #000000;
        border-right: none; }
    /* line 158, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dt.last {
        border-bottom-width: 1px; }
    /* line 163, scss/mixin/_toggle-content.scss */
    .product-collateral > dl > dd {
        display: none; }
    /* line 171, scss/mixin/_toggle-content.scss */
    .product-collateral.accordion-open > dl > dt.current {
        border-bottom-width: 1px; }
    /* line 175, scss/mixin/_toggle-content.scss */
    .product-collateral.accordion-open > dl > dt.current:after {
        content: '';
        position: absolute;
        width: 0;
        height: 0;
        display: block;
        border-right: 4px solid transparent;
        border-left: 4px solid transparent;
        border-top: 4px solid #000000;
        border-bottom: none;
        left: 6px;
        top: 50%;
        margin-top: -3px; }
    /* line 183, scss/mixin/_toggle-content.scss */
    .product-collateral.accordion-open > dl > dd.current {
        display: block; } }

@media only screen and (max-width: 979px) {
    /* line 744, scss/module/_catalog-product.scss */
    .product-view .product-shop,
    .product-view .add-to-cart-wrapper,
    .product-view .block-related,
    .product-collateral {
        width: 100%;
        float:left;
        margin: 0;
        padding:15px;
        max-width: 100%;
    }
    .product-view .product-shop{
        margin-top:20px;
    }
    .product-img-box{
        width: 100%;
        float:left;
        margin: 0;
        padding:0px;
        max-width: 100%;
    }
    .product-img-box .product-image img{
        display:block;
    }    
    /* line 756, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slide .num {
        display: none; }
    /* line 759, scss/module/_catalog-product.scss */
    .product-img-box .product-image img {
        margin-right: auto;
        margin-bottom: 0px; } 
    .product-view .product-shop .product-name{
        padding-top:0;
    }
    .product-view .product-essential .price-info{
        position: absolute;
        right: 15px;  
        line-height: 30px;
    }
    .product-view .product-essential .price-info .price-box{
        float: right;
        margin: 0;
        padding-left: 11px;
    }
}

@media only screen and (min-width: 771px) {
    /* line 769, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-name {
        display: block; }
    /* line 772, scss/module/_catalog-product.scss */
    .product-img-box .product-name {
        display: none; } }


/* line 789, scss/module/_catalog-product.scss */
.product-view .ratings .rating-links {
    clear: left;
    float: left;
    margin-top: 0; }

/* line 796, scss/module/_catalog-product.scss */
#product-attribute-specs-table {
    max-width: 50em;
    border: 1px solid #707070; }
/* line 800, scss/module/_catalog-product.scss */
#product-attribute-specs-table th {
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070; }

/* -------------------------------------------- *
 * Catalog - Grouped Product List
 */
/* line 810, scss/module/_catalog-product.scss */
.grouped-items-table-wrapper {
    border: solid 1px #707070;
    width: 100%;
    padding: 10px;
    margin-bottom: 15px; }
/* line 816, scss/module/_catalog-product.scss */
.grouped-items-table-wrapper tbody tr:last-child td {
    border-bottom: none; }
@media only screen and (max-width: 479px) {
    /* line 810, scss/module/_catalog-product.scss */
    .grouped-items-table-wrapper {
        margin-bottom: 15px; } }

/* line 825, scss/module/_catalog-product.scss */
.grouped-items-table .name-wrapper {
    color: #000000;
    font-family: "Montserrat", sans-serif; }

/* line 830, scss/module/_catalog-product.scss */
.grouped-items-table .qty-wrapper {
    padding-top: 7px; }

/* line 834, scss/module/_catalog-product.scss */
.grouped-items-table .qty-label {
    margin-left: 7px; }

/* line 839, scss/module/_catalog-product.scss */
.grouped-items-table td {
    padding: 4px; }
/* line 842, scss/module/_catalog-product.scss */
.grouped-items-table td:last-child {
    width: 30%;
    text-align: left; }

/* line 847, scss/module/_catalog-product.scss */
.grouped-items-table .price-box {
    text-align: right; }

/* -------------------------------------------- *
 * Catalog - Product Options
 */
.color-choose{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 10px 0;
}
.color-choose .thumb-color.current img{
    border:1px solid #000;
}
.color-choose .thumb-color img{
    display:inline-block;
    width:60px;
}
/* line 856, scss/module/_catalog-product.scss */
.product-options {
    width: 100%;
    margin: 0;
    padding: 10px;
    clear: both;
    position: relative;
    padding-left: 0px; }
/* line 864, scss/module/_catalog-product.scss */
.product-options .last {
    float: left; }
/* line 867, scss/module/_catalog-product.scss */
.product-options > a {
    position:absolute;
    right:0;
    cursor:pointer;
    font-size: 12px;}
/* line 873, scss/module/_catalog-product.scss */
.product-options .popup-overlay {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0a0a0a;
    opacity: .8; }
/* line 885, scss/module/_catalog-product.scss */
.product-options .popup-size-guide {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    text-align: center; }
/* line 895, scss/module/_catalog-product.scss */
.product-options .popup-size-guide:before {
    content: '';
    display: inline-block;
    vertical-align: middle; }
/* line 901, scss/module/_catalog-product.scss */
.product-options .popup-size-guide .closepopup {
    background-image: url("../images/close-icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15px;
    padding-top: 30px;
    padding-right: 30px;
    width: 15px;
    position: absolute;
    top: 0;
    right: 0; }
/* line 913, scss/module/_catalog-product.scss */
.product-options .popup-size-guide #size-guide {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #0a0a0a;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
/* line 925, scss/module/_catalog-product.scss */
.product-options .popup-size-guide #size-guide .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300; }
/* line 931, scss/module/_catalog-product.scss */
.product-options .size-guide-title {
    padding: 10px 0;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
    font-weight: 300;
    text-transform: uppercase;
    text-align: center; }
/* line 938, scss/module/_catalog-product.scss */
.product-options .sizeguide {
    margin-bottom: 30px; }
/* line 940, scss/module/_catalog-product.scss */
.product-options .sizeguide table {
    font-family: "Montserrat", sans-serif;
    font-size: 11px; }
/* line 944, scss/module/_catalog-product.scss */
.product-options .sizeguide tr {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 947, scss/module/_catalog-product.scss */
.product-options .sizeguide tr .first-column {
    position: absolute;
    width: 100px;
    color: #000;
    padding: 0 10px;
    padding-right: 20px;
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fefefe; }
/* line 958, scss/module/_catalog-product.scss */
.product-options .sizeguide tr th {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 45px;
    min-width: 50px; }
/* line 966, scss/module/_catalog-product.scss */
.product-options .sizeguide tr th:nth-child(2) {
    min-width: 110px; }
/* line 970, scss/module/_catalog-product.scss */
.product-options .sizeguide tr:nth-child(even) {
    background-color: #f8f5f5; }

/* line 977, scss/module/_catalog-product.scss */
.product-options p.required {
    position: absolute;
    top: 6px;
    right: 15px;
    text-align: right; }

@media only screen and (max-width: 979px) {
    /* line 985, scss/module/_catalog-product.scss */
    .product-view .product-options .required {
        position: static; } }

/* line 990, scss/module/_catalog-product.scss */
.product-options dt {
    margin: 10px 0 3px;
    font-weight: normal; }

/* line 995, scss/module/_catalog-product.scss */
.product-options dt:first-child {
    margin-top: 0; }

/* line 999, scss/module/_catalog-product.scss */
.product-options dd .qty-holder {
    display: block;
    padding: 10px 0 0 0; }

/* line 1004, scss/module/_catalog-product.scss */
.product-options dd .qty-holder .qty {
    width: 3em; }

/* line 1008, scss/module/_catalog-product.scss */
.product-options dd .qty-holder label {
    vertical-align: middle; }

/* line 1012, scss/module/_catalog-product.scss */
.product-options dd .qty-disabled {
    background: none;
    border: 0;
    padding: 0 2px; }

/* line 1018, scss/module/_catalog-product.scss */
.product-options dd {
    margin: 0 0 5px; }
/* line 1022, scss/module/_catalog-product.scss */
.product-options dd .input-box {
    position: relative; }
/* line 1024, scss/module/_catalog-product.scss */
.product-options dd .input-box .select2-container {
    border-bottom: 1px solid #0a0a0a; }
/* line 1027, scss/module/_catalog-product.scss */
.product-options dd .input-box .select2-container span.selection .select2-selection {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    color: #000000; }
/* line 1032, scss/module/_catalog-product.scss */
.product-options dd .input-box .select2-container span.selection .select2-selection .select2-selection__arrow {
    border: 1px solid #0a0a0a;
    border-top: none;
    border-left: none;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 5%;
    top: 10%;
    position: absolute;
    width: 5px;
    height: 5px; }
/* line 1049, scss/module/_catalog-product.scss */
.product-options dd .input-box .select2-container--open span.selection .select2-selection .select2-selection__arrow {
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    top: 25%; }
/* line 1057, scss/module/_catalog-product.scss */
.product-options dd .validation-advice {
    font-family: "Montserrat", serif;
    margin-top: 0px; }

/* line 1068, scss/module/_catalog-product.scss */
.select2-results ul li {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    color: #000000; }

/* line 1076, scss/module/_catalog-product.scss */
.product-options dl.last dd.last {
    border-bottom: 0;
    padding-bottom: 5px;
    margin-bottom: 0; }

/* line 1082, scss/module/_catalog-product.scss */
.product-options dd .input-text {
    width: 98%; }

/* line 1086, scss/module/_catalog-product.scss */
.product-options dd .input-box {
    padding-top: 0; }

/* line 1090, scss/module/_catalog-product.scss */
.product-options dd input.datetime-picker {
    width: 150px; }

/* line 1094, scss/module/_catalog-product.scss */
.product-options dd .time-picker {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    zoom: 1;
    *display: inline;
    padding: 2px 0;
    vertical-align: middle; }

/* line 1100, scss/module/_catalog-product.scss */
.product-options dd textarea {
    width: 98%;
    height: 8em; }

/* line 1105, scss/module/_catalog-product.scss */
.product-options dd select {
    width: 330px;
    max-width: 100%; }

/* line 1110, scss/module/_catalog-product.scss */
.product-options ul.options-list {
    margin-right: 5px; }

/* line 1114, scss/module/_catalog-product.scss */
.product-options ul.options-list li {
    line-height: 1.5;
    margin-bottom: 7px; }

/* line 1119, scss/module/_catalog-product.scss */
.product-options ul.options-list li:last-child {
    margin-bottom: 0; }

/* line 1123, scss/module/_catalog-product.scss */
.product-options ul.options-list .radio,
.product-options ul.options-list .checkbox {
    float: left;
    margin-top: 5px; }

/* line 1129, scss/module/_catalog-product.scss */
.product-options ul.options-list .label {
    display: block; }

/* line 1133, scss/module/_catalog-product.scss */
.product-options ul.options-list label {
    font-weight: normal; }

/* line 1137, scss/module/_catalog-product.scss */
.product-options p.note {
    margin: 0;
    font-size: 11px; }

/* line 1142, scss/module/_catalog-product.scss */
.product-options-bottom {
    padding-left: 0px;
    margin-bottom: 10px;
    border-bottom: 1px solid black; }

/* line 1152, scss/module/_catalog-product.scss */
.product-options-bottom:after {
    content: '';
    display: table;
    clear: both; }

/* line 1156, scss/module/_catalog-product.scss */
.product-options-bottom .product-pricing,
.product-options-bottom .tier-prices {
    float: right;
    margin: 0;
    padding: 0 0 10px;
    border: 0;
    background: 0;
    color: #000000; }
@media only screen and (max-width: 1199px) {
    /* line 1156, scss/module/_catalog-product.scss */
    .product-options-bottom .product-pricing,
    .product-options-bottom .tier-prices {
        float: none;
        width: 100%;
        text-align: right;
        padding-bottom: 5px;
        margin-bottom: 10px;
        border-bottom: 1px solid #CCCCCC; } }

/* line 1175, scss/module/_catalog-product.scss */
.product-options-bottom .tier-prices li {
    background: 0;
    padding: 2px 0; }

/* line 1180, scss/module/_catalog-product.scss */
.product-options-bottom .tier-prices .price,
.product-options-bottom .tier-prices .benefit {
    color: #000000; }

/* "display: none" should be removed if products on site have a long list of product options and those product options */
/*  affect the price so that the customer can see the updated price close to the "Add to Cart" button */
/* line 1187, scss/module/_catalog-product.scss */
.product-options-bottom .price-box {
    display: none;
    float: right;
    margin: 0 0 10px;
    padding: 0; }

@media only screen and (max-width: 479px) {
    /* line 1195, scss/module/_catalog-product.scss */
    .product-options-bottom .price-box .price-as-configured {
        text-align: right; }
    /* line 1198, scss/module/_catalog-product.scss */
    .product-options-bottom .price-box .price-as-configured .price-label {
        display: block; } }

/* line 1204, scss/module/_catalog-product.scss */
.product-options-bottom .price-tax {
    float: left; }

/* -------------------------------------------- *
 * Related Products
 */
/* Block: Related */
/* line 1214, scss/module/_catalog-product.scss */
.block-related {
    width:100%;
    max-width:1000px;
    margin:0 auto;
}
/* line 1219, scss/module/_catalog-product.scss */
.block-related li {
    margin-bottom: 7px; }
/* line 1223, scss/module/_catalog-product.scss */
.block-related .block-title {
    border-bottom: none;
    border: none; }

/* line 1238, scss/module/_catalog-product.scss */
.block-related .block-subtitle {
    margin-bottom: 7px; }
/* line 1242, scss/module/_catalog-product.scss */
.block-related .product {
    margin-left: 20px; }
/* line 1246, scss/module/_catalog-product.scss */
.block-related .checkbox {
    float: left;
    margin-top: 36px; }
/* line 1251, scss/module/_catalog-product.scss */
.block-related .product-details {
    margin-left: 90px; }
/* line 1255, scss/module/_catalog-product.scss */
.block-related .product-name {
    margin-bottom: 3px; }
/* line 1259, scss/module/_catalog-product.scss */
.block-related .product-details .price-box {
    margin: 0 auto;
    text-align:center;}
/* line 1262, scss/module/_catalog-product.scss */
.block-related .product-details .price-box a,
.block-related .product-details .price-box p,
.block-related .product-details .price-box span {
    float: left;
    margin-left: 3px; }
/* line 1268, scss/module/_catalog-product.scss */
.block-related .product-details .price-box a:first-child,
.block-related .product-details .price-box p:first-child,
.block-related .product-details .price-box span:first-child {
    margin-left: 0;
    font-size: 16px;
    padding-right: 5px;
    padding-left: 5px; }
/* line 1275, scss/module/_catalog-product.scss */
.block-related .product-details .price-box:after {
    content: '';
    display: table;
    clear: both; }
/* line 1279, scss/module/_catalog-product.scss */
.block-related .link-wishlist {
    display: none; }
/* line 1284, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 1289, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item {
    max-width: 28.5%;
    position: relative;
    margin-right: 2%;
    margin-bottom: 0;
    margin-left: 2%;
    margin-top: 0;}
/* line 1294, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product {
    margin-left: 0px; }
/* line 1296, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product a {
    max-width: 100%;
    border: none; }
/* line 1299, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product a img {
    max-width: 100%;
    height: auto; }
/* line 1303, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product a:hover {
    border-color: transparent; }
/* line 1307, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product .product-details {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0;}

/* line 1326, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product .product-details .product-name {
    font-weight: bold;
    margin-top: 24px;
    padding: 0;
    font-size: 12px;
    line-height: 12px;
}
/* line 1336, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product .product-details .product-name a {
    color: #000000; }

.block-related .block-content .mini-products-list .item .product .product-details .price-box .regular-price {
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 0; }
/* line 1343, scss/module/_catalog-product.scss */
.block-related .block-content .mini-products-list .item .product .product-details .price-box .regular-price .price {
    width: 100%;
    text-align: center;
    font-size: 12px;
    line-height: 35px;}

.block-related h2{
    margin-bottom:30px;
}
/* -------------------------------------------- *
 * Upsell Products
 */
/* line 1364, scss/module/_catalog-product.scss */
.box-up-sell {
    margin-top: 20px; }
/* line 1367, scss/module/_catalog-product.scss */
.box-up-sell .ratings {
    display: none; }

@media only screen and (max-width: 1199px) {
    /* line 1373, scss/module/_catalog-product.scss */
    #size-guide {
        width: 90vw;
        height: 400px;
        overflow-y: scroll; }
    /* line 1377, scss/module/_catalog-product.scss */
    #size-guide .sizeguide {
        padding: 0 !important; }
    /* line 1380, scss/module/_catalog-product.scss */
    #size-guide .subtitle {
        padding: 0 !important; } }

@media only screen and (max-width: 979px) {
    /* line 1387, scss/module/_catalog-product.scss */
    #size-guide {
        width: 90vw;
        height: 400px;
        overflow-y: scroll; }
    /* line 1391, scss/module/_catalog-product.scss */
    #size-guide .sizeguide {
        padding: 0 !important; }
    /* line 1394, scss/module/_catalog-product.scss */
    #size-guide .subtitle {
        padding: 0 !important; }
    /* line 1399, scss/module/_catalog-product.scss */
    .product-view.product-custom .product-additional-info .info-block {
        margin-left: 0; }
    /* line 1409, scss/module/_catalog-product.scss */
    .product-view.product-custom .product-additional-info .info-block .text-container {
        padding-top: 0; }
    /* line 1422, scss/module/_catalog-product.scss */
    .product-view .info-block {
        display: inline-block;
        width: 100%;
        padding:15px;
    }
    .product-view .info-block .coppia{
        width:100%;
    }
    /* line 1425, scss/module/_catalog-product.scss */
    .product-view .info-block > img {
        max-width: 140%;
        position: relative;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        top: 0; }
    /* line 1432, scss/module/_catalog-product.scss */
    .product-view .info-block .text-container {
        text-align: left;
        padding-bottom: 40px;
        border-bottom: 1px solid #0a0a0a;
        padding-top: 0; }
    /* line 1437, scss/module/_catalog-product.scss */
    .product-view .info-block .text-container .text-block {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
    /* line 1439, scss/module/_catalog-product.scss */
    .product-view .info-block .text-container .text-block .title, .product-view .info-block .text-container .text-block .content {
        max-width: 100%; }
    /* line 1445, scss/module/_catalog-product.scss */
    .product-view .add-to-cart-buttons {
        text-align: center; }

    /* line 1452, scss/module/_catalog-product.scss */
    .product-view .add-to-cart-buttons .button:hover {
        background-color: #fefefe;
        color: #000000; } 
    .product-view .product-options{
        padding:0;
    }
    .product-view .product-options #size_label{
        line-height: 40px;
    }
    .product-options > a{
        top:13px;
    }
    .product-view .info-block .description{
        width:100%;
        margin:0;
    }
}

/* -------------------------------------------- *
 * Prodotto personalizzato
 */
/* line 1467, scss/module/_catalog-product.scss */
.product-custom .sticky-wrapper {
    width: auto !important; }

/* line 1471, scss/module/_catalog-product.scss */
.product-custom .product-img-box {
    width: 100%;
    padding-right: 0;
    float: none; }
/* line 1476, scss/module/_catalog-product.scss */
.product-custom .product-img-box .product-image:hover {
    border: none !important; }

/* line 1480, scss/module/_catalog-product.scss */
.product-custom .product-shop {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 1484, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 40px; }
/* line 1490, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery img {
    margin: 0;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    height: auto;
    max-height: none;
    width: 20vw;
    max-width: none;
    margin-right: auto; }
/* line 1499, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery .slick-arrow {
    width: 20px;
    height: 20px;
    border: 2px solid #0a0a0a;
    position: absolute;
    bottom: 0;
    z-index: 1; }
/* line 1506, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery .slick-arrow.arrow-next {
    right: 0; }
/* line 1508, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery .slick-arrow.arrow-next div {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-right: 7px; }
/* line 1514, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery .slick-arrow div {
    width: 5px;
    height: 5px;
    border: 1px solid #0a0a0a;
    margin: auto;
    border-bottom: none;
    border-right: none;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: 5px; }
/* line 1526, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-image-gallery:hover {
    border: none !important; }
/* line 1530, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info {
    width: 20vw;
    margin-top: 50px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
/* line 1535, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .short-description .std {
    font-size: 14px; }
/* line 1538, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .price-info {
    display: inherit;
    font-size: 13px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }
/* line 1542, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .price-info .price-box {
    font-family: "Montserrat", sans-serif;
    margin-left: 10px; }
/* line 1545, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .price-info .price-box .price {
    font-size: 11px; }
/* line 1550, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .short-description {
    border: none; }
/* line 1553, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .button {
    max-width: 180px; }
/* line 1556, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .share-social-container {
    margin-top: 34px; }
/* line 1558, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .share-social-container .share-social-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    min-width: 120px; }
/* line 1562, scss/module/_catalog-product.scss */
.product-custom .product-shop .basic-info .share-social-container .share-social-content a img {
    width: 15px;
    height: 15px;
    margin: 0 10px; }
/* line 1570, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral-info-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-left: 90px; }
/* line 1576, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .toggle-tabs {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
/* line 1579, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .toggle-tabs li span {
    line-height: 0;
    font-size: 11px; }
/* line 1585, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab {
    font-family: "Montserrat", serif;
    font-size: 12px;
    text-transform: uppercase;
    margin-bottom: 25px; }
/* line 1591, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #0a0a0a;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 25px;
       }
/* line 1592, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content h2 {
    display: none; }
/* line 1602, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .popup-overlay {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0a0a0a;
    opacity: .8; }
/* line 1614, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .popup-size-guide {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    text-align: center; }
/* line 1624, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .popup-size-guide:before {
    content: '';
    display: inline-block;
    vertical-align: middle; }
/* line 1630, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .popup-size-guide .closepopup {
    background-image: url("../images/close-icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15px;
    padding-top: 30px;
    padding-right: 30px;
    width: 15px;
    position: absolute;
    top: 0;
    right: 0; }
/* line 1642, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .popup-size-guide #size-guide {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #0a0a0a;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
/* line 1654, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .popup-size-guide #size-guide .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
    font-weight: 300; }
/* line 1660, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .size-guide-title {
    padding: 10px 0;
    padding: 10px 0;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
    font-weight: 300;
    text-transform: uppercase;
    text-align: center; }
/* line 1668, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide {
    margin-bottom: 30px; }
/* line 1670, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide table {
    font-family: "Montserrat", sans-serif;
    font-size: 11px; }
/* line 1674, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide tr {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 1677, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide tr .first-column {
    position: absolute;
    width: 100px;
    color: #000;
    padding: 0 10px;
    padding-right: 20px;
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fefefe; }
/* line 1688, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide tr th {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 45px;
    min-width: 50px; }
/* line 1696, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide tr th:nth-child(2) {
    min-width: 110px; }
/* line 1700, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs .tab-content .sizeguide tr:nth-child(even) {
    background-color: #f8f5f5; }
/* line 1706, scss/module/_catalog-product.scss */
.product-custom .product-shop .product-collateral .collateral-tabs dd {
    padding-top: 0px; }
/* line 1711, scss/module/_catalog-product.scss */
.product-custom .product-shop .shipping-link {
    width: 30vw;
    line-height: 2.4; }
/* line 1714, scss/module/_catalog-product.scss */
.product-custom .product-shop .shipping-link p {
    margin-top: 25px;
    line-height: 1.5; }

/* line 1721, scss/module/_catalog-product.scss */
.product-custom .basic-product-info-container {
    width: 26%; }
/* line 1724, scss/module/_catalog-product.scss */
.product-custom .basic-product-info-container #image-main {
    width: 20vw; }

/* line 1729, scss/module/_catalog-product.scss */
.product-custom .product-collateral-container {
    width: 74%; }

/* line 1733, scss/module/_catalog-product.scss */
.product-custom .product-additional-info {
    margin-top: 80px; }
/* line 1735, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 100px;
    margin-left: 90px; }
/* line 1740, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step.video {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 0; }
/* line 1744, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step.video > img {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
/* line 1747, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step.video .text-container {
    width: 100%;
    margin: 0;
    margin-bottom: 60px;
    padding-top: 0;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
/* line 1757, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step.video .info-block {
    max-width: unset;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3; }
/* line 1762, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step .img-container {
    width: 45%;
    margin-right: 10%; }
/* line 1765, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step .img-container img {
    width: 100%; }
/* line 1769, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step .text-container {
    width: 35%;
    margin-right: 10%;
    padding-top: 15%; }
/* line 1773, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step .text-container .subtitle {
    margin-top: 8%;
    margin-bottom: 30px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    text-transform: uppercase;
    font-size: 12px; }
/* line 1780, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step .text-container .title {
    margin-bottom: 30px;
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px;
    text-transform: initial;
    font-style: normal;
    font-size: 19px;
    text-transform: uppercase; }
/* line 1788, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step .text-container p {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    font-size: 14px;
    line-height: 25px; }
/* line 1794, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .configuration-step video {
    width: 80%;
    margin: 0 7%;
    padding-top: 15%; }
/* line 1800, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .info-block {
    margin-top: 18%;
    margin-left: 90px;
    max-width: 100%; }
/* line 1804, scss/module/_catalog-product.scss */
.product-custom .product-additional-info .info-block .text-container {
    padding-top: 90px; }


@media only screen and (max-width: 979px) {
    /* line 1827, scss/module/_catalog-product.scss */
    .product-view .info-block .text-container .text-block {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
    /* line 1829, scss/module/_catalog-product.scss */
    .product-view .info-block .text-container .text-block .content {
        max-width: 100%; }
    /* line 1834, scss/module/_catalog-product.scss */
    .product-custom .product-shop {
        padding-left: 0;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 0; }
    /* line 1838, scss/module/_catalog-product.scss */
    .product-custom .product-shop .basic-product-info-container {
        width: 100%; }
    /* line 1841, scss/module/_catalog-product.scss */
    .product-custom .product-shop .basic-info {
        width: 100%; }
    /* line 1843, scss/module/_catalog-product.scss */
    .product-custom .product-shop .basic-info .button {
        margin: auto;
        background-color: #000000;
        color: #fefefe; }
    /* line 1847, scss/module/_catalog-product.scss */
    .product-custom .product-shop .basic-info .button:hover {
        background-color: #fefefe;
        color: #000000; }
    /* line 1852, scss/module/_catalog-product.scss */
    .product-custom .product-shop .basic-info .share-social-container {
        margin: auto;
        margin-top: 16px; }
    /* line 1857, scss/module/_catalog-product.scss */
    .product-custom .product-shop .product-collateral-container {
        width: 100%;
        margin-top: 70px; }
    /* line 1860, scss/module/_catalog-product.scss */
    .product-custom .product-shop .product-collateral-container .product-img-box {
        display: none; }
    /* line 1863, scss/module/_catalog-product.scss */
    .product-custom .product-shop .product-collateral-container .product-collateral-info-container {
        margin-left: 0; }
    /* line 1868, scss/module/_catalog-product.scss */
    .product-custom .product-shop .product-collateral-container .collateral-tabs .tab-content #size-guide {
        width: 80%; }
    /* line 1874, scss/module/_catalog-product.scss */
    .product-custom .product-shop .product-collateral-info-container {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    /* line 1877, scss/module/_catalog-product.scss */
    .product-custom .product-shop .product-collateral {
        width: 100%; }
    /* line 1880, scss/module/_catalog-product.scss */
    .product-custom .product-shop .shipping-link {
        width: 100%; }
    /* line 1884, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info {
        margin-top: 0; }
    /* line 1886, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 0;
        margin-left: 0; }
    /* line 1890, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step:first-child {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    /* line 1893, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step:nth-child(2) {
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
    /* line 1896, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step .img-container {
        width: 100%;
        padding: 0;
        margin: 0; }
    /* line 1900, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step .img-container img {
        margin: 25px auto 0; }
    /* line 1904, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step .text-container {
        width: 100%;
        padding: 0;
        margin: 0;
        text-align: center; }
    /* line 1909, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step .text-container .subtitle {
        margin-top: 60px; }
    /* line 1913, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video {
        margin-top: 90px;
        overflow: hidden; }
    /* line 1916, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video > img {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1;
        position: relative;
        max-width: unset;
        width: 145%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
    /* line 1924, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video .text-container {
        position: relative;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        margin: 0;
        width: 100%;
        padding-bottom: 40px; }
    /* line 1931, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video .info-block {
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3;
        margin-top: 90px;
        position: relative;
        overflow: hidden; }
    /* line 1936, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video .info-block img {
        max-width: 140%;
        position: relative;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        top: 0; }
    /* line 1943, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video .info-block .text-container {
        text-align: left; }
    /* line 1945, scss/module/_catalog-product.scss */
    .product-custom .product-additional-info .configuration-step.video .info-block .text-container .text-block {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
    /* line 1954, scss/module/_catalog-product.scss */
    .product-custom .product-image-gallery img {
        margin-right: 0;
        margin-bottom: 0; }
    /* line 1958, scss/module/_catalog-product.scss */
    .product-custom .product-image-gallery .slick-arrow {
        width: 20px;
        height: 20px;
        border: 2px solid #0a0a0a;
        position: absolute;
        bottom: 0;
        z-index: 1; }
    /* line 1965, scss/module/_catalog-product.scss */
    .product-custom .product-image-gallery .slick-arrow.arrow-next {
        right: 0; }
    /* line 1967, scss/module/_catalog-product.scss */
    .product-custom .product-image-gallery .slick-arrow.arrow-next div {
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        margin-right: 7px; }
    /* line 1973, scss/module/_catalog-product.scss */
    .product-custom .product-image-gallery .slick-arrow div {
        width: 5px;
        height: 5px;
        border: 1px solid #0a0a0a;
        margin: auto;
        border-bottom: none;
        border-right: none;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin-top: 5px; }
    /* line 1985, scss/module/_catalog-product.scss */
    .product-custom .product-image-gallery:hover {
        border: none !important; }
    /* line 1989, scss/module/_catalog-product.scss */
    .product-custom .back-to-link {
        margin: 10px 0 !important; }
    /* line 1992, scss/module/_catalog-product.scss */
    .product-custom .basic-product-info #image-main {
        display: none; }
    /* line 1996, scss/module/_catalog-product.scss */
    .product-custom .product-collateral .toggle-tabs:after {
        content: none; }
    /* line 1999, scss/module/_catalog-product.scss */
    .product-custom .product-collateral .toggle-tabs li {
        float: none; }
    /* line 2001, scss/module/_catalog-product.scss */
    .product-custom .product-collateral .toggle-tabs li.last {
        text-align: right; }
    /* line 2006, scss/module/_catalog-product.scss */
    .product-custom .product-view .product-shop .product-collateral .toggle-tabs {
        margin-bottom: 30px; } }

/* -------------------------------------------- *
 * Responsive
 */
/* line 2024, scss/module/_catalog-product.scss */
.mobile {
    display: none; }

@media only screen and (max-width: 770px) {
    /* line 2029, scss/module/_catalog-product.scss */
    .mobile {
        display: block; }
    /* line 2032, scss/module/_catalog-product.scss */
    .no-mobile {
        display: none; }
    /* line 2037, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slide {
        display: block; }
    /* line 2039, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slide .num {
        display: none; }
    /* line 2043, scss/module/_catalog-product.scss */
    .product-img-box .product-image img {
        margin-right: auto;
        margin-bottom: 0px; }
    /* line 2047, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slick-arrow {
        position: absolute;
        bottom: -30px;}
    .product-img-box .product-image .slick-next {
        right:0;}
    /* line 2054, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slick-arrow.arrow-next {
        right: 0; }
    /* line 2056, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slick-arrow.arrow-next div {
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        margin-right: 7px; }
    /* line 2061, scss/module/_catalog-product.scss */
    .product-img-box .product-image .slick-arrow div {
        width: 5px;
        height: 5px;
        border: 1px solid black;
        margin: auto;
        border-bottom: none;
        border-right: none;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin-top: 5px; }
    /* line 2073, scss/module/_catalog-product.scss */
    .product-img-box .product-image:hover {
        border: none !important; }
    /* line 2076, scss/module/_catalog-product.scss */
    .product-img-box .back-to-link {
        margin: 15px; }

    /* line 2088, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-options-bottom {
        padding-right: 0px;
        border: none; }
    /* line 2093, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-collateral .toggle-tabs {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        width: 100%;
        position: relative;
        border: none !important;
        background-color: transparent !important;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between; }
    /* line 2102, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-collateral .toggle-tabs li span {
        text-transform: uppercase; }
    /* line 2107, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-collateral dl {
        width: 100%; }
    /* line 2109, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-collateral dl dt {
        display: none; }
    /* line 2112, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-collateral dl dd.current {
        display: block; }
    /* line 2115, scss/module/_catalog-product.scss */
    .product-view .product-shop .product-collateral dl dd {
        border: none;
        padding-top: 40px;
        padding-left: 5px;
        padding: 15px;
        width: 100%;
        padding-left: 0px; }
    /* line 2126, scss/module/_catalog-product.scss */
    .product-view .add-to-cart-buttons {
        width: 100%; }
    /* line 2129, scss/module/_catalog-product.scss */
    .product-view .product-essential {
        padding: 0;
        margin: 0;
        background: transparent;
    }
    /* line 2134, scss/module/_catalog-product.scss */
    .catalog-product-view .product-block {
        display: block;
        margin-bottom: 50px; }
    /* line 2137, scss/module/_catalog-product.scss */
    .catalog-product-view .product-block.img-snx {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw; }
    /* line 2139, scss/module/_catalog-product.scss */
    .catalog-product-view .product-block.img-snx img {
        width: 100%;
        height: auto; }
    /* line 2144, scss/module/_catalog-product.scss */
    .catalog-product-view .product-block .text-container {
        max-width: 100%;
        margin-top: 25px; }
    /* line 2149, scss/module/_catalog-product.scss */
    .catalog-product-view .product-block.img-dx .img-container {
        width: 100%; }
    /* line 2154, scss/module/_catalog-product.scss */
    .catalog-product-view .block-related {
        margin-top:70px;}
    /* line 2156, scss/module/_catalog-product.scss */
    .catalog-product-view .block-related .block-title {
        margin-bottom: 30px;
        padding-left: 15px;
        width: 100%; }
    /* line 2160, scss/module/_catalog-product.scss */
    .catalog-product-view .block-related .block-title h2 {
        margin-top: 0px;
        padding-left: 0; }
    /* line 2165, scss/module/_catalog-product.scss */
    .catalog-product-view .block-related .block-content {
        width: 100%; }
    /* line 2167, scss/module/_catalog-product.scss */
    .catalog-product-view .block-related .block-content .mini-products-list .item .product .product-details {
        position: unset;
        display: block; }
    /* line 2173, scss/module/_catalog-product.scss */
    .catalog-product-view .video-container .text-container .subtitle {
        display: none; } 

}


/* ============================================ *
 * Catalog - MSRP MAP Popup
 * ============================================ */
/* line 30, scss/module/_catalog-msrp.scss */
.cart-msrp-totals {
    color: red;
    font-size: 12px !important;
    font-weight: bold;
    margin: 10px 10px 0;
    padding: 10px;
    text-align: right;
    text-transform: uppercase; }

/* line 40, scss/module/_catalog-msrp.scss */
.map-cart-sidebar-total {
    color: red;
    display: block;
    font-size: 10px;
    font-weight: bold;
    text-align: left;
    padding: 2px 5px; }

/* line 49, scss/module/_catalog-msrp.scss */
.map-popup {
    background: #FFFFFF;
    border: 5px solid #CCCCCC;
    margin: 12px 0 0;
    position: absolute;
    text-align: left;
    width: 450px;
    z-index: 100; }
@media only screen and (min-width: 771px) {
    /* line 59, scss/module/_catalog-msrp.scss */
    .map-popup.map-popup-right {
        left: 10px !important; }
    /* line 63, scss/module/_catalog-msrp.scss */
    .map-popup.map-popup-left {
        left: auto !important;
        right: 10px !important; } }
@media only screen and (max-width: 770px) {
    /* line 49, scss/module/_catalog-msrp.scss */
    .map-popup {
        width: 100%;
        left: 0px !important; } }
/* line 74, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-heading {
    padding: 8px 10px;
    margin-right: 40px;
    width: auto; }
/* line 79, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-heading h3 {
    font-size: 14px;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    word-wrap: break-word;
    text-align: left;
    text-overflow: ellipsis; }
@media only screen and (max-width: 479px) {
    /* line 79, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-heading h3 {
        text-align: center; } }
/* line 94, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-close {
    display: block;
    position: absolute;
    top: 0px;
    right: 0px;
    height: 36px;
    width: 36px;
    font-size: 20px;
    line-height: 32px;
    text-align: center; }
/* line 106, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-content {
    border-top: 1px solid #EDEDED;
    padding: 10px;
    margin: 0 10px;
    overflow: hidden;
    text-align: left; }
@media only screen and (max-width: 479px) {
    /* line 106, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-content {
        text-align: center; } }
/* line 118, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout {
    padding: 10px 0; }
/* line 121, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout form:after {
    content: '';
    display: table;
    clear: both; }
/* line 125, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout span {
    display: block; }
/* line 129, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .button {
    float: left;
    margin: 0 2px;
    clear: left; }
/* line 135, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .additional-addtocart-box {
    float: left;
    min-width: 210px; }
/* line 139, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .additional-addtocart-box li {
    list-style-type: none; }
/* line 144, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .paypal-logo {
    width: auto; }
/* line 147, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .paypal-logo a {
    display: inline-block;
    float: left;
    clear: left; }
/* line 153, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .paypal-logo .paypal-or {
    float: left;
    text-align: center;
    padding: 5px 15px;
    clear: left; }
/* line 160, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .paypal-logo:after {
    content: '';
    display: table;
    clear: both; }
/* line 165, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout .paypal-logo .bml_button a {
    clear: left; }
@media only screen and (max-width: 479px) {
    /* line 118, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-checkout {
        text-align: center; }
    /* line 174, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-checkout .button,
    .map-popup .map-popup-checkout .additional-addtocart-box,
    .map-popup .map-popup-checkout .paypal-logo a,
    .map-popup .map-popup-checkout .paypal-logo .paypal-or {
        float: none; }
    /* line 181, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-checkout .additional-addtocart-box {
        min-width: 0px; }
    /* line 185, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-checkout .paypal-logo .paypal-or {
        margin: 0px;
        margin-bottom: 10px; } }
/* line 191, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-checkout:after {
    content: '';
    display: table;
    clear: both; }
/* line 196, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-price {
    padding: 10px 0; }
@media only screen and (max-width: 479px) {
    /* line 196, scss/module/_catalog-msrp.scss */
    .map-popup .map-popup-price {
        text-align: center;
        padding-top: 0px; } }
/* line 203, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-price .price-box,
.map-popup .map-popup-price .price-box .special-price {
    display: inline-block;
    margin: 0;
    padding: 0; }
/* line 210, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-price .price-box .minimal-price-link {
    display: inline-block; }
/* line 215, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-text {
    padding: 10px 0;
    margin: 0 10px;
    word-wrap: break-word; }
/* line 221, scss/module/_catalog-msrp.scss */
.map-popup .map-popup-text,
.map-popup .map-popup-only-text {
    border-top: 1px solid #EDEDED; }

/* ============================================ *
 * Catalog - MSRP Product Listing
 * ============================================ */
/* line 231, scss/module/_catalog-msrp.scss */
.price-box .map-link {
    display: block;
    text-align: center; }

/* ============================================ *
 * Catalog - Compare
 * ============================================ */
/* line 30, scss/module/_catalog-compare.scss */
.block-compare .product-name:after {
    content: '';
    display: table;
    clear: both; }

/* line 34, scss/module/_catalog-compare.scss */
.compare-table .product-image {
    display: inline-block; }

/* line 40, scss/module/_catalog-compare.scss */
.compare-table .product-shop-row.top td {
    padding-bottom: 0;
    border-bottom: 0; }

/* line 45, scss/module/_catalog-compare.scss */
.compare-table .product-shop-row.bottom td {
    padding-top: 0; }

/* ============================================ *
 * Checkout - Layout
 * ============================================ */
/* line 30, scss/module/_checkout-cart.scss */
.checkout-cart-index .cart {
    width:100%;
    max-width: 750px;
    margin: auto; }
.checkout-cart-index .cart h1{
    text-align:center;
}
/* line 33, scss/module/_checkout-cart.scss */
.checkout-cart-index .cart .cart-table {
    width: 100%; }
/* line 37, scss/module/_checkout-cart.scss */
.checkout-cart-index .cart .cart-totals-wrapper,
.checkout-cart-index .cart .crosssell {
    float: right;
    clear: right;
    width: 40%;
    padding-left: 20px; }
/* line 44, scss/module/_checkout-cart.scss */
.checkout-cart-index .cart .cart-forms {
    clear: left;
    float: left;
    width: 60%;
    display: none; }

/* line 53, scss/module/_checkout-cart.scss */
.cart .button {
    white-space: normal; }

/* line 66, scss/module/_checkout-cart.scss */
.cart-table,
.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
    margin-bottom: 20px; }

/* line 75, scss/module/_checkout-cart.scss */
.checkout-cart-index #postcode {
    width: 100%; }

/* line 81, scss/module/_checkout-cart.scss */
.display-both-prices .cart-table {
    float: none;
    width: 100%; }

/* line 86, scss/module/_checkout-cart.scss */
.display-both-prices .cart-forms {
    float: left;
    padding-right: 10px;
    padding-left: 0; }

/* line 92, scss/module/_checkout-cart.scss */
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
    padding-left: 10px; }

/* line 97, scss/module/_checkout-cart.scss */
.display-both-prices .cart-forms,
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
    width: 40%; }

/* line 103, scss/module/_checkout-cart.scss */
.display-both-prices .crosssell {
    clear: right;
    float: right; }

@media only screen and (max-width: 979px) {
    /* line 81, scss/module/_checkout-cart.scss */
    .display-single-price .cart-table {
        float: none;
        width: 100%; }
    /* line 86, scss/module/_checkout-cart.scss */
    .display-single-price .cart-forms {
        float: left;
        padding-right: 10px;
        padding-left: 0; }
    /* line 92, scss/module/_checkout-cart.scss */
    .display-single-price .cart-totals-wrapper,
    .display-single-price .crosssell {
        padding-left: 10px; }
    /* line 97, scss/module/_checkout-cart.scss */
    .display-single-price .cart-forms,
    .display-single-price .cart-totals-wrapper,
    .display-single-price .crosssell {
        width: 40%; }
    /* line 103, scss/module/_checkout-cart.scss */
    .display-single-price .crosssell {
        clear: right;
        float: right; } 
}

@media only screen and (max-width: 599px) {
    /* line 120, scss/module/_checkout-cart.scss */
    .product-cart-sku {
        display: none; }
    /* line 126, scss/module/_checkout-cart.scss */
    .display-both-prices .cart-forms,
    .display-both-prices .cart-totals-wrapper,
    .display-both-prices .crosssell,
    .display-single-price .cart-forms,
    .display-single-price .cart-totals-wrapper,
    .display-single-price .crosssell {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        float: none;
        width: 100%; } }

/* line 139, scss/module/_checkout-cart.scss */
.display-single-price:after {
    content: '';
    display: table;
    clear: both; }

/* ============================================ *
 * Checkout - Cart
 * ============================================ */

/* line 151, scss/module/_checkout-cart.scss */
.cart .page-title {
    text-align:center; }

/* line 162, scss/module/_checkout-cart.scss */
.checkout-types {
    float: right;
    text-align: right;
    max-width: 100%;
    /* We always want this shipping method to display on its own line */ }
/* line 167, scss/module/_checkout-cart.scss */
.checkout-types li {
    vertical-align: top;
    margin: 0 0 5px 5px; }
/* line 168, scss/module/_checkout-cart.scss */
.checkout-types li:after {
    content: '';
    display: table;
    clear: both; }
/* line 174, scss/module/_checkout-cart.scss */
.checkout-types li img {
    display: inline;
    vertical-align: top; }
/* line 179, scss/module/_checkout-cart.scss */
.checkout-types li:first-child {
    margin-left: 0; }
/* line 183, scss/module/_checkout-cart.scss */
.checkout-types .method-checkout-cart-methods-multishipping {
    display: block; }
/* line 188, scss/module/_checkout-cart.scss */
.checkout-types.top li {
    display: inline-block; }
/* line 192, scss/module/_checkout-cart.scss */
.checkout-types.top .bml_button {
    display: inline-block;
    vertical-align: top; }
/* line 196, scss/module/_checkout-cart.scss */
.checkout-types.top .bml_button img {
    display: block; }
/* line 201, scss/module/_checkout-cart.scss */
.checkout-types.top .paypal-logo .paypal-or {
    margin-top: 5px; }
/* line 209, scss/module/_checkout-cart.scss */
.checkout-types.bottom .paypal-logo a, .checkout-types.minicart .paypal-logo a {
    display: block; }
/* line 213, scss/module/_checkout-cart.scss */
.checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
    margin: 0px;
    display: block;
    text-align: center; }

@media only screen and (min-width: 741px) {
    /* line 223, scss/module/_checkout-cart.scss */
    .checkout-types.bottom .paypal-or {
        text-align: right;
        padding-right: 70px; } 
}

/* line 230, scss/module/_checkout-cart.scss */
.cart-totals .checkout-types .btn-checkout {
    line-height:60px;
    padding:0 40px;}
/* line 52, scss/mixin/_custom.scss */
.cart-totals .checkout-types .btn-checkout:hover {
    background-color: #000000;
    color: #fefefe; }

@media only screen and (max-width: 740px) {
    /* line 238, scss/module/_checkout-cart.scss */
    .checkout-types {
        float: none;
        width:100%;}
    /* line 244, scss/module/_checkout-cart.scss */
    .checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
        width: auto;
        float: none; }
    /* line 251, scss/module/_checkout-cart.scss */
    .checkout-types li {
        float: none;
        width: 100%;
        margin-left: 0; } }

@media only screen and (max-width: 599px) {
    /* line 259, scss/module/_checkout-cart.scss */
    .btn-checkout {
        width: 100%; } }

/* line 267, scss/module/_checkout-cart.scss */
.cart-table th,
.cart-table td,
.cart-table tbody td {
    border-bottom: none;
    vertical-align: top; }
/* line 275, scss/module/_checkout-cart.scss */
.cart-table h2 {
    color: #000000;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 0; }
/* line 282, scss/module/_checkout-cart.scss */
.cart-table thead th,
.cart-table tbody td {
    background-color: transparent;
    padding: 10px 5px;
    font-size: 12px;
    text-transform: initial;
    min-width: 80px;
}
/* line 304, scss/module/_checkout-cart.scss */
.cart-table .product-cart-info h2.product-name a {
    color: #000000; }
/* line 306, scss/module/_checkout-cart.scss */
.cart-table .product-cart-info h2.product-name a:hover {
    color: #000000;
    text-decoration: underline; }
/* line 314, scss/module/_checkout-cart.scss */
.cart-table tr {
    border-bottom: 1px solid #707070; }
/* line 319, scss/module/_checkout-cart.scss */
.cart-table tfoot tr {
    background: none; }
/* line 323, scss/module/_checkout-cart.scss */
.cart-table tfoot tr > td:after {
    content: '';
    display: table;
    clear: both; }
/* line 328, scss/module/_checkout-cart.scss */
.cart-table span.or {
    font-size: 9px;
    padding: 0 5px;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif; }
/* line 335, scss/module/_checkout-cart.scss */
.cart-table .product-cart-image .cart-links,
.cart-table .product-cart-info .btn-remove,
.cart-table .product-cart-actions .button {
    display: none; }
/* line 341, scss/module/_checkout-cart.scss */
.cart-table .product-cart-image {
    padding-left: 0;
    padding-right: 0; }
/* line 345, scss/module/_checkout-cart.scss */
.cart-table .product-cart-image .product-image {
    max-width: 250px; }
/* line 347, scss/module/_checkout-cart.scss */
.cart-table .product-cart-image .product-image img {
    max-width: 100%;
    width: 100%; }
/* line 351, scss/module/_checkout-cart.scss */
.cart-table .product-cart-image .product-image:hover {
    border-color: #000000; }
/* line 356, scss/module/_checkout-cart.scss */
.cart-table .product-cart-image a.cart-edit {
    display: none; }
/* line 361, scss/module/_checkout-cart.scss */
.cart-table .product-cart-sku {
    font-family: "Montserrat", sans-serif;
    font-style: italic;
    font-size: 12px;
    margin: 5px 0 12px; }
/* line 367, scss/module/_checkout-cart.scss */
.cart-table .product-cart-sku .label {
    font-weight: 600; }
/* line 372, scss/module/_checkout-cart.scss */
.cart-table .btn-empty {
    float: left; }

/* line 381, scss/module/_checkout-cart.scss */
.cart-table .cart-tax-total {
    position: relative;
    cursor: pointer; }
/* line 385, scss/module/_checkout-cart.scss */
.cart-table .cart-tax-total:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #000000;
    border-left: none;
    position: absolute;
    top: 3px;
    right: -11px; }
/* line 393, scss/module/_checkout-cart.scss */
.cart-table .cart-tax-total.cart-tax-total-expanded:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 6px solid #000000;
    border-bottom: none;
    right: -15px;
    top: 6px; }
/* line 401, scss/module/_checkout-cart.scss */
.cart-table .cart-links > li {
    white-space: nowrap;
    line-height: 1.3;
    margin-bottom: 5px;
    min-width: 65px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    margin-top: 20px; }
/* line 409, scss/module/_checkout-cart.scss */
.cart-table .cart-links > li > a {
    display: block;
    text-decoration: underline; }
/* line 412, scss/module/_checkout-cart.scss */
.cart-table .cart-links > li > a.btn-remove {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    border: none; }
/* line 416, scss/module/_checkout-cart.scss */
.cart-table .cart-links > li > a.btn-remove:hover {
    background-color: transparent;
    border: none; }
/* line 420, scss/module/_checkout-cart.scss */
.cart-table .cart-links > li > a.btn-remove:after {
    content: none; }
/* line 426, scss/module/_checkout-cart.scss */
.cart-table .cart-links > li:last-child {
    margin-bottom: 0; }

/* line 435, scss/module/_checkout-cart.scss */
.cart-table .product-cart-actions .qty {
    height: 30px;
    border-color: #C0C0C0;
    border-radius: 0;
    margin-bottom: 10px;
    text-align: center;
    width: 3.2em;
    font-family: "Montserrat", sans-serif; }
/* line 446, scss/module/_checkout-cart.scss */
.cart-table .product-cart-actions .button {
    margin-bottom: 5px; }
/* line 452, scss/module/_checkout-cart.scss */
.cart-table tbody td .item-options {
    margin-left: 0px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;}
/* line 458, scss/module/_checkout-cart.scss */
.cart-table tbody td .item-options dd {
    padding-left: 0; }
/* line 461, scss/module/_checkout-cart.scss */
.cart-table tbody td .item-options dt {
    font-weight: 300;
    font-style: normal; }

@media only screen and (max-width: 770px) {
    /* line 472, scss/module/_checkout-cart.scss */
    .cart-table th {
        font-size: 12px; }
    /* line 476, scss/module/_checkout-cart.scss */
    .cart-table th,
    .cart-table td {
        padding: 7px 6px; }
    /* line 481, scss/module/_checkout-cart.scss */
    .cart-table .product-cart-actions > li {
        white-space: inherit; } }
@media only screen and (max-width: 979px) {
    .cart-table thead th, .cart-table thead,.cart-table .product-cart-actions.last .product-cart-price{
        display:none;
    }
    .cart-table thead th, .cart-table tbody{
        border-top:1px solid #000;
        margin-top:50px;
    }
    .cart-table thead th, .cart-table tbody td{
        min-width: auto;
        width: 50%;
        float: left;
        padding: 0;
    }
    .cart-table thead th, .cart-table tbody td.product-cart-image img{
        width:90%;
        padding:5%;
    }
    .checkout-cart-index .cart h1{
        margin-bottom:40px;
    }
    .cart-table h2{
        margin:10px 0;
    }
    .checkout-cart-index .cart{
        width:90%;
        margin:auto;
    }
    #shopping-cart-table .product-cart-info .cart-links{
        display:none;
    }
    .cart-table tbody td .item-options dd{
        margin:0;
    }
}


@media only screen and (max-width: 699px) {
    /* line 490, scss/module/_checkout-cart.scss */
    .display-both-prices .cart-table thead th.cart-total-head,
    .display-both-prices .cart-table td.product-cart-total {
        display: none; }
}

/* ============================================ *
 * Checkout - Estimate Shipping and Tax
 * ============================================ */
/* line 695, scss/module/_checkout-cart.scss */
.shipping h2 {
    font-size: 12px;
    font-weight: bold;
    margin: 0 0 5px; }

/* line 701, scss/module/_checkout-cart.scss */
.shipping select {
    max-width: 100%;
    height: 30px;
    display: block;
    border: 1px solid #C0C0C0; }

/* line 708, scss/module/_checkout-cart.scss */
.shipping select.validation-failed {
    border-color: #DF280A; }

/* line 712, scss/module/_checkout-cart.scss */
.shipping .shipping-desc {
    display: none; }

/* line 716, scss/module/_checkout-cart.scss */
.shipping .buttons-set {
    border: none;
    margin: 0;
    padding: 0; }

/* line 723, scss/module/_checkout-cart.scss */
.shipping .form-list:after {
    content: '';
    display: table;
    clear: both; }

/* line 726, scss/module/_checkout-cart.scss */
.shipping .form-list li {
    float: left;
    margin: 5px 2% 10px 0; }

/* line 731, scss/module/_checkout-cart.scss */
.shipping .form-list .shipping-country {
    width: 37%; }

/* line 735, scss/module/_checkout-cart.scss */
.shipping .form-list .shipping-region {
    width: 41%; }

/* line 739, scss/module/_checkout-cart.scss */
.shipping .form-list .shipping-postcode {
    margin-right: 0;
    width: 18%; }
/* line 743, scss/module/_checkout-cart.scss */
.shipping .form-list .shipping-postcode input {
    margin-top: 4px; }

/* line 748, scss/module/_checkout-cart.scss */
.shipping .form-list .input-box {
    padding-top: 0; }

/* line 752, scss/module/_checkout-cart.scss */
.shipping .form-list input {
    height: 30px;
    margin-top: 4px; }

/* line 757, scss/module/_checkout-cart.scss */
.shipping .form-list label {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    white-space: nowrap; }

/* line 766, scss/module/_checkout-cart.scss */
.shipping .sp-methods {
    padding: 10px 0 0;
    text-align: left; }
/* line 770, scss/module/_checkout-cart.scss */
.shipping .sp-methods dd {
    margin-bottom: 10px; }
/* line 774, scss/module/_checkout-cart.scss */
.shipping .sp-methods label {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-style: italic;
    min-width: 100px; }
/* line 780, scss/module/_checkout-cart.scss */
.shipping .sp-methods label span {
    font-family: "Montserrat", sans-serif;
    font-weight: bold;
    font-style: normal; }

/* line 788, scss/module/_checkout-cart.scss */
.shipping #co-shipping-method-form .buttons-set .button {
    float: left;
    margin-left: 0; }

/* line 792, scss/module/_checkout-cart.scss */
.shipping #co-shipping-method-form .sp-methods dd label {
    border: 1px solid #CCCCCC;
    background-color: #ededed;
    min-width: 220px; }
/* line 797, scss/module/_checkout-cart.scss */
.shipping #co-shipping-method-form .sp-methods dd label:hover {
    background-color: gainsboro; }

@media only screen and (max-width: 770px) {
    /* line 805, scss/module/_checkout-cart.scss */
    .shipping .shipping-form .form-list > li {
        width: 100%;
        float: none; }
    /* line 809, scss/module/_checkout-cart.scss */
    .shipping .shipping-form .form-list > li label {
        display: block; }
    /* line 813, scss/module/_checkout-cart.scss */
    .shipping .shipping-form .form-list > li input,
    .shipping .shipping-form .form-list > li select {
        width: 100%; } }

/* line 824, scss/module/_checkout-cart.scss */
.cart .cart-totals {
    text-align: right;
    padding: 0; }
/* line 828, scss/module/_checkout-cart.scss */
.cart .cart-totals:after {
    content: '';
    display: table;
    clear: both; }
/* line 832, scss/module/_checkout-cart.scss */
.cart .cart-totals table {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    margin-bottom: 20px;
    text-transform: uppercase;
    width: 100%; }
/* line 839, scss/module/_checkout-cart.scss */
.cart .cart-totals table td {
    padding: 2px 0px; }
/* line 842, scss/module/_checkout-cart.scss */
.cart .cart-totals table td:first-child {
    padding-right: 10px;
    min-width: 120px; }
/* line 847, scss/module/_checkout-cart.scss */
.cart .cart-totals table tbody tr:last-child td,
.cart .cart-totals table tbody tr:last-child th {
    padding-bottom: 10px; }
/* line 853, scss/module/_checkout-cart.scss */
.cart .cart-totals table tfoot td {
    font-size: 13px;
    padding: 2px 5px;
    padding-right: 0px;
    vertical-align: top; }
/* line 860, scss/module/_checkout-cart.scss */
.cart .cart-totals table tfoot strong span,
.cart .cart-totals table tfoot span.price {
    font-family: "Montserrat", sans-serif; }
/* line 866, scss/module/_checkout-cart.scss */
.cart .cart-totals table tfoot strong {
    font-weight: 400;
    font-size: 13px; }

@media only screen and (max-width: 600px) {
    /* line 876, scss/module/_checkout-cart.scss */
    .cart-totals {
        text-align: right; } }

@media only screen and (max-width: 770px) {
    /* line 883, scss/module/_checkout-cart.scss */
    .cart .cart-totals table tfoot td {
        font-size: 19px; } }

/* line 892, scss/module/_checkout-cart.scss */
.discount-form:after,
#giftcard-form:after {
    content: '';
    display: table;
    clear: both; }

/* line 897, scss/module/_checkout-cart.scss */
#discount-coupon-form,
.cart .giftcard {
    width: 100%; }
/* line 901, scss/module/_checkout-cart.scss */
#discount-coupon-form h2,
.cart .giftcard h2 {
    display: none; }
/* line 905, scss/module/_checkout-cart.scss */
#discount-coupon-form label,
.cart .giftcard label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    text-align: left;
    min-width: 105px;
    display: inline-block;
    margin-right: 10px; }
/* line 913, scss/module/_checkout-cart.scss */
#discount-coupon-form .field-wrapper,
.cart .giftcard .field-wrapper {
    display: inline-block; }
/* line 917, scss/module/_checkout-cart.scss */
#discount-coupon-form .validation-advice,
.cart .giftcard .validation-advice {
    position: absolute; }
/* line 922, scss/module/_checkout-cart.scss */
#discount-coupon-form .button-wrapper,
.cart .giftcard .button-wrapper {
    display: inline-block;
    vertical-align: bottom; }
/* line 926, scss/module/_checkout-cart.scss */
#discount-coupon-form .button-wrapper > button,
.cart .giftcard .button-wrapper > button {
    float: left;
    padding: 0 15px;
    width: 190px; }
/* line 933, scss/module/_checkout-cart.scss */
#discount-coupon-form .input-text,
.cart .giftcard .input-text {
    border-radius: 0;
    height: 42px;
    margin: 0px 10px 0 0;
    width: 190px; }

/* line 941, scss/module/_checkout-cart.scss */
.cart .giftcard p {
    margin-bottom: 7px; }

/* line 945, scss/module/_checkout-cart.scss */
.cart .giftcard .check-gc-status {
    float: left;
    padding: 0px; }
/* line 949, scss/module/_checkout-cart.scss */
.cart .giftcard .check-gc-status > span > span {
    font-size: 14px;
    text-transform: none; }

/* ============================================ *
 * Checkout - Cart Cross sell
 * ============================================ */
/* line 960, scss/module/_checkout-cart.scss */
.crosssell h2 {
    color: #000000; }

/* line 964, scss/module/_checkout-cart.scss */
.crosssell .item a.product-image {
    width: auto;
    float: left; }

/* Change the layout to 2 columns at a breakpoint that is higher than a 3 columns layout would normally break */
@media only screen and (max-width: 979px) {
    /* line 972, scss/module/_checkout-cart.scss */
    .crosssell {
        /* Undo three-column config */ }
    /* line 973, scss/module/_checkout-cart.scss */
    .crosssell .products-grid > li:nth-child(even),
    .crosssell .products-grid > li:nth-child(3n),
    .crosssell .products-grid > li {
        width: 47.72727%;
        margin-right: 4.54545%; }
    /* line 980, scss/module/_checkout-cart.scss */
    .crosssell .products-grid > li:nth-child(odd) {
        clear: left; }
    /* line 984, scss/module/_checkout-cart.scss */
    .crosssell .products-grid > li:nth-child(even) {
        margin-right: 0; }
    /* line 989, scss/module/_checkout-cart.scss */
    .crosssell .products-grid > li:nth-child(3n+1) {
        clear: none; } }

@media only screen and (max-width: 770px) {
    /* line 997, scss/module/_checkout-cart.scss */
    .checkout-cart-index .cart .cart-totals-wrapper,
    .checkout-cart-index .cart .crosssell,
    .checkout-cart-index .cart .cart-forms {
        width: 100%; }
    /* line 1002, scss/module/_checkout-cart.scss */
    .checkout-cart-index .cart .cart-totals-wrapper {
        padding-left: 0; }
    /* line 1006, scss/module/_checkout-cart.scss */
    .checkout-cart-index .cart .cart-totals-wrapper .cart-totals #shopping-cart-totals-table .a-right {
        text-align: left;
        padding: 2px 0; }
 }

@media only screen and (max-width: 599px) {
    /* line 1024, scss/module/_checkout-cart.scss */
    .cart-table .cart-tax-total:after {
        right: -9px; }
    /* line 1028, scss/module/_checkout-cart.scss */
    .cart-table .cart-tax-total.cart-tax-total-expanded:after {
        right: -13px; }

    /* line 1057, scss/module/_checkout-cart.scss */
    #discount-coupon-form .input-text {
        width: 150px;
        margin-right: 0px; }
    /* line 1061, scss/module/_checkout-cart.scss */
    #discount-coupon-form .button-wrapper button {
        width: 150px;
        min-width: 150px; } }

@media only screen and (max-width: 320px) {
    /* line 1071, scss/module/_checkout-cart.scss */
    .crosssell ul .item {
        padding: 0 0px 40px; }
    /* line 1075, scss/module/_checkout-cart.scss */
    .crosssell ul .product-details .crosssell-actions {
        padding: 0 5px; } }

/* ============================================ *
 * Checkout - One Page
 * ============================================ */
/* line 30, scss/module/_checkout-onepage.scss */
.checkout-onepage-index .col-right,
.checkout-onepage-index .col-left {
    display: none; }

/* line 35, scss/module/_checkout-onepage.scss */
.checkout-onepage-index .col-main {
    width: auto;
    float: none; }

@media only screen and (min-width: 980px) {
    /* line 42, scss/module/_checkout-onepage.scss */
    .checkout-onepage-index .col-main {
        float: left;
        width: 68.75%;
        padding-right: 20px; }
    /* line 48, scss/module/_checkout-onepage.scss */
    .checkout-onepage-index .col-right,
    .checkout-onepage-index .col-left {
        width: 31.25%;
        display: block; }
    /* line 54, scss/module/_checkout-onepage.scss */
    .checkout-onepage-index .col-right {
        padding-left: 0; } }

/* line 61, scss/module/_checkout-onepage.scss */
.opc select {
    width: 365px; }

/* -------------------------------------------- *
 * Section Styling - Default
 */
/* line 70, scss/module/_checkout-onepage.scss */
.opc .section .step-title {
    width: 100%;
    border-top: 1px solid #ECECEC;
    position: relative;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none; }
/* line 76, scss/module/_checkout-onepage.scss */
.opc .section .step-title:after {
    content: '';
    display: table;
    clear: both; }

/* line 81, scss/module/_checkout-onepage.scss */
.opc .section.allow:not(.active) .step-title {
    cursor: pointer; }

/* Using .no-touch since touch devices emulate hover, thereby making steps look active that are not */
/* line 86, scss/module/_checkout-onepage.scss */
.no-touch .opc .section.allow:not(.active) .step-title:hover {
    background-color: #F4F4F4; }

/* line 90, scss/module/_checkout-onepage.scss */
.opc .section.active .step-title {
    border-bottom: 1px solid #ECECEC; }

/* line 94, scss/module/_checkout-onepage.scss */
.opc .section .step-title a {
    display: none; }

/* line 98, scss/module/_checkout-onepage.scss */
.opc .section.allow:not(.active) .step-title a {
    display: block;
    float: right;
    line-height: 40px;
    height: 40px;
    padding: 0px 10px; }

/* line 106, scss/module/_checkout-onepage.scss */
.no-touch .opc .section .step-title a:hover {
    text-decoration: none; }

/* line 110, scss/module/_checkout-onepage.scss */
.opc .section .step-title .number,
.opc .section.allow.active .step-title .number,
.no-touch .opc .section.allow:hover .step-title .number {
    width: 26px;
    height: 26px;
    text-align: center;
    color: #FFFFFF;
    line-height: 26px;
    background-color: #000000;
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -13px; }

/* line 126, scss/module/_checkout-onepage.scss */
.opc .section.allow .step-title .number {
    background-color: #99cce6; }

/* line 130, scss/module/_checkout-onepage.scss */
.opc .section.allow .step-title h2 {
    color: #A0A0A0; }

/* line 134, scss/module/_checkout-onepage.scss */
.opc .section.allow .step-title:hover h2,
.opc .section.active .step-title h2 {
    color: #000000; }

/* line 139, scss/module/_checkout-onepage.scss */
.opc .section .step-title h2 {
    font-size: 16px;
    font-weight: 400;
    line-height: 40px;
    height: 40px;
    float: left;
    margin: 0px 4px 0px 45px; }

/* line 148, scss/module/_checkout-onepage.scss */
.opc .section .step {
    padding: 20px; }
/* line 151, scss/module/_checkout-onepage.scss */
.opc .section .step:after {
    content: '';
    display: table;
    clear: both; }
@media only screen and (max-width: 979px) {
    /* line 148, scss/module/_checkout-onepage.scss */
    .opc .section .step {
        padding: 10px; } }

/* line 160, scss/module/_checkout-onepage.scss */
.opc select {
    max-width: 365px;
    width: 100%; }

/* line 165, scss/module/_checkout-onepage.scss */
.opc h3 {
    font-weight: 500; }

/* line 169, scss/module/_checkout-onepage.scss */
.opc .buttons-set {
    text-align: left; }
/* line 172, scss/module/_checkout-onepage.scss */
.opc .buttons-set button.button {
    float: left;
    margin-left: 0;
    margin-right: 10px;
    margin-bottom: 0; }
/* line 178, scss/module/_checkout-onepage.scss */
.opc .buttons-set p.required {
    float: right;
    margin-left: 5px;
    margin-bottom: 0; }
/* line 183, scss/module/_checkout-onepage.scss */
.opc .buttons-set .back-link {
    float: right;
    margin: 0; }
/* line 187, scss/module/_checkout-onepage.scss */
.opc .buttons-set a {
    line-height: 20px;
    display: inline-block;
    padding: 5px 5px 5px 0; }

@media only screen and (max-width: 479px) {
    /* line 197, scss/module/_checkout-onepage.scss */
    .opc .buttons-set .button + .buttons-set .button,
    .paypal-express-review .buttons-set .button + .buttons-set .button {
        margin-left: 0; } }

/* line 204, scss/module/_checkout-onepage.scss */
.opc #opc-login .step {
    padding: 0px; }

/* line 208, scss/module/_checkout-onepage.scss */
.opc #opc-login .buttons-set {
    border-top: 0;
    padding-top: 5px; }

@media only screen and (max-width: 770px) {
    /* line 215, scss/module/_checkout-onepage.scss */
    .opc #opc-login .description,
    .opc #opc-login p.required {
        display: none; } }

/* line 221, scss/module/_checkout-onepage.scss */
#opc-payment .note {
    padding: 10px; }

/* -------------------------------------------- *
 * This section hides everything but the "Checkout Method" step of the checkout process and fades in the content
 * once the customer progresses to the next step. The purpose of this is to simplify what the customer has to focus on.
 * It is limited to larger viewports since smaller devices are inherently going to be focused solely on the
 * "Checkout Method" step.
 */
/* line 232, scss/module/_checkout-onepage.scss */
.opc.opc-firststep-login .section:not(#opc-login) .step-title,
.opc-block-progress-step-login {
    -webkit-transition: opacity 300ms linear;
    -webkit-transition-delay: 0;
    transition: opacity 300ms linear 0; }

/* line 237, scss/module/_checkout-onepage.scss */
.opc.opc-firststep-login .section#opc-login .step-title .number {
    -webkit-transition: width 80ms linear;
    -webkit-transition-delay: 0;
    transition: width 80ms linear 0; }

/* line 241, scss/module/_checkout-onepage.scss */
.opc.opc-firststep-login .section#opc-login .step-title h2 {
    -webkit-transition: margin-left 80ms linear;
    -webkit-transition-delay: 0;
    transition: margin-left 80ms linear 0; }

/* When a user progresses from the "Checkout Method" to "Billing Information" for the first time, the              */
/* "opc-has-progressed-from-login" class gets added to the body. Also, the .opc element will only have the         */
/* "opc-firststep-login" class if the first step of the checkout is the "Checkout Method" (eg, not when logged in) */
/* line 248, scss/module/_checkout-onepage.scss */
body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section:not(#opc-login) .step-title,
body:not(.opc-has-progressed-from-login) .opc-block-progress-step-login {
    opacity: 0; }

/* line 253, scss/module/_checkout-onepage.scss */
body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section#opc-login .step-title .number {
    width: 0px;
    overflow: hidden; }

/* line 258, scss/module/_checkout-onepage.scss */
body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section#opc-login .step-title h2 {
    margin-left: 0px; }

/* -------------------------------------------- *
 * Shipping and Payment methods
 */
/* line 266, scss/module/_checkout-onepage.scss */
.sp-methods {
    margin: 0 0 8px; }
/* line 269, scss/module/_checkout-onepage.scss */
.sp-methods dt {
    margin: 13px 0 5px;
    font-weight: bold; }
/* line 273, scss/module/_checkout-onepage.scss */
.sp-methods dt:first-child {
    margin: 0 0 5px; }
/* line 277, scss/module/_checkout-onepage.scss */
.sp-methods dd li {
    margin: 5px 0; }
/* line 280, scss/module/_checkout-onepage.scss */
.sp-methods label img {
    float: left; }
/* line 283, scss/module/_checkout-onepage.scss */
.sp-methods label a {
    margin-top: 6px;
    float: right;
    margin-left: 10px; }
/* line 288, scss/module/_checkout-onepage.scss */
.sp-methods .price {
    font-weight: bold; }
/* line 291, scss/module/_checkout-onepage.scss */
.sp-methods .form-list {
    padding-left: 20px; }
/* line 294, scss/module/_checkout-onepage.scss */
.sp-methods .form-list li {
    margin: 0 0 8px; }
/* line 298, scss/module/_checkout-onepage.scss */
.sp-methods select.month {
    width: 120px;
    margin-right: 10px; }
/* line 302, scss/module/_checkout-onepage.scss */
.sp-methods select.year {
    width: 96px; }
/* line 305, scss/module/_checkout-onepage.scss */
.sp-methods input.cvv {
    width: 4em !important; }
/* line 308, scss/module/_checkout-onepage.scss */
.sp-methods #advice-validate-cc-exp-ccsave_expiration {
    max-width: 130px; }
/* line 313, scss/module/_checkout-onepage.scss */
.sp-methods .checkmo-list li {
    margin: 0 0 5px;
    content: '';
    display: table;
    clear: both; }
/* line 317, scss/module/_checkout-onepage.scss */
.sp-methods .checkmo-list label {
    width: 165px;
    padding-right: 15px;
    text-align: right;
    float: left; }
/* line 323, scss/module/_checkout-onepage.scss */
.sp-methods .checkmo-list address {
    float: left; }
@media only screen and (max-width: 479px) {
    /* line 312, scss/module/_checkout-onepage.scss */
    .sp-methods .checkmo-list {
        padding-left: 0; }
    /* line 330, scss/module/_checkout-onepage.scss */
    .sp-methods .checkmo-list label {
        width: 135px; } }
/* line 336, scss/module/_checkout-onepage.scss */
.sp-methods .release-amounts {
    margin: 0.5em 0; }
/* line 339, scss/module/_checkout-onepage.scss */
.sp-methods .release-amounts button {
    float: left;
    margin: 5px 10px 0 0; }

/* One Page Checkout */
/* line 346, scss/module/_checkout-onepage.scss */
.block-progress {
    border: 0;
    margin: 0;
    border-left: 1px solid #CCCCCC;
    padding-left: 20px; }
/* line 352, scss/module/_checkout-onepage.scss */
.block-progress .block-content {
    font-size: 13px; }
/* line 355, scss/module/_checkout-onepage.scss */
.block-progress dt {
    padding-top: 6px;
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    margin-bottom: 6px;
    text-transform: uppercase;
    font-weight: normal;
    color: #A0A0A0; }
/* line 364, scss/module/_checkout-onepage.scss */
.block-progress dt.complete {
    color: #000000; }
/* line 367, scss/module/_checkout-onepage.scss */
.block-progress dd {
    padding-left: 15px;
    margin-bottom: 10px;
    font-family: "Montserrat", sans-serif;
    font-style: italic; }
/* line 373, scss/module/_checkout-onepage.scss */
.block-progress dd address {
    font-style: italic; }
/* line 378, scss/module/_checkout-onepage.scss */
.block-progress #payment-progress-opcheckout .subtitle {
    margin-bottom: 3px; }
/* line 384, scss/module/_checkout-onepage.scss */
.block-progress .payment-info dt {
    padding: 0;
    margin: 0 0 3px 0;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    text-transform: none;
    font-style: italic;
    float: left;
    clear: both;
    font-size: 13px; }
/* line 395, scss/module/_checkout-onepage.scss */
.block-progress .payment-info dt:after {
    content: ': '; }
/* line 400, scss/module/_checkout-onepage.scss */
.block-progress .payment-info dd {
    float: left;
    margin-bottom: 3px;
    font-size: 13px; }
/* line 406, scss/module/_checkout-onepage.scss */
.block-progress .payment-info:after {
    content: '';
    display: table;
    clear: both; }

/* review step */
/* line 416, scss/module/_checkout-onepage.scss */
#checkout-review-table .btn-remove img {
    display: none; }

/* line 422, scss/module/_checkout-onepage.scss */
#checkout-review-table-wrapper {
    clear: both; }

/* line 426, scss/module/_checkout-onepage.scss */
#review-buttons-container {
    width: 100%;
    margin-top: 15px;
    margin-bottom: 15px; }
/* line 431, scss/module/_checkout-onepage.scss */
#review-buttons-container .btn-checkout {
    min-width: 220px; }
/* line 434, scss/module/_checkout-onepage.scss */
#review-buttons-container .please-wait {
    float: left;
    margin-right: 10px; }
/* line 438, scss/module/_checkout-onepage.scss */
#review-buttons-container .f-left {
    float: right; }

@media only screen and (max-width: 599px) {
    /* line 445, scss/module/_checkout-onepage.scss */
    .linearize-table-large.checkout-review-table thead tr:nth-child(1n+2) {
        display: none; } }

@media only screen and (max-width: 479px) {
    /* line 452, scss/module/_checkout-onepage.scss */
    .linearize-table.checkout-review-table thead tr:nth-child(1n+2) {
        display: none; } }

/* show/hide "change" link for progress step depend on complete status
 * should be placed in .css file */
/* line 459, scss/module/_checkout-onepage.scss */
.opc-block-progress dt.complete a,
.opc-block-progress dt.complete .separator {
    display: inline; }

/* line 464, scss/module/_checkout-onepage.scss */
.opc-block-progress dt a,
.opc-block-progress dt .separator {
    display: none; }

/* On small screens, the progress review content will be moved to the review step via JS. Styled via this CSS: */
/* line 470, scss/module/_checkout-onepage.scss */
#checkout-step-review .opc-block-progress {
    border-left: none;
    padding-left: 0; }
/* line 474, scss/module/_checkout-onepage.scss */
#checkout-step-review .opc-block-progress .block-title {
    display: none; }
/* line 477, scss/module/_checkout-onepage.scss */
#checkout-step-review .opc-block-progress .block-content {
    display: block !important;
    padding: 0; }
/* line 482, scss/module/_checkout-onepage.scss */
#checkout-step-review .opc-block-progress .block-content > dl > div {
    float: left;
    width: 50%; }
@media only screen and (max-width: 479px) {
    /* line 488, scss/module/_checkout-onepage.scss */
    #checkout-step-review .opc-block-progress .block-content > dl > div {
        float: none;
        width: auto; } }
/* line 494, scss/module/_checkout-onepage.scss */
#checkout-step-review .opc-block-progress .block-content .changelink {
    display: none; }

@media only screen and (max-width: 479px) {
    /* line 501, scss/module/_checkout-onepage.scss */
    #checkout-review-table thead > tr > th {
        display: none; }
    /* line 504, scss/module/_checkout-onepage.scss */
    #checkout-review-table thead > tr > th:first-child {
        display: block; }
    /* line 508, scss/module/_checkout-onepage.scss */
    #checkout-review-table thead > tr > th:first-child {
        display: block; } }

/* line 514, scss/module/_checkout-onepage.scss */
#checkout-step-review .centinel > p {
    margin-bottom: 10px; }

/* line 518, scss/module/_checkout-onepage.scss */
#checkout-step-review .centinel iframe {
    width: 100%;
    min-height: 400px; }

/* Gift options */
/* line 526, scss/module/_checkout-onepage.scss */
.gift-messages-form .item {
    content: '';
    display: table;
    clear: both;
    margin-top: 30px; }
/* line 530, scss/module/_checkout-onepage.scss */
.gift-messages-form .item h5 {
    font-weight: bold; }
/* line 534, scss/module/_checkout-onepage.scss */
.gift-messages-form .item .product-img-box {
    width: auto;
    float: left;
    padding-right: 15px; }
/* line 540, scss/module/_checkout-onepage.scss */
.gift-messages-form .item .details {
    float: left; }

/* line 548, scss/module/_checkout-onepage.scss */
.gift-message-form .inner-box > div {
    content: '';
    display: table;
    clear: both;
    width: 100%;
    margin-top: 15px;
    display: block; }
/* line 555, scss/module/_checkout-onepage.scss */
.gift-message-form .inner-box > div.extra-options-container p {
    margin-bottom: 15px; }

/* line 563, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-wrapping-form label {
    margin-right: 10px; }

/* line 567, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-wrapping-form img {
    float: left; }

/* line 571, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-wrapping-form .gift-wrapping-design {
    height: 75px; }
/* line 574, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-wrapping-form .gift-wrapping-design:after {
    content: '';
    display: table;
    clear: both; }
/* line 578, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-wrapping-form .gift-wrapping-design .image-box {
    margin-right: 5px; }

/* line 584, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-item {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: solid 1px #ECECEC; }
/* line 589, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-item:after {
    content: '';
    display: table;
    clear: both; }
/* line 593, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-item .product-img-box {
    width: 200px; }
/* line 596, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-item .product-img-box .product-image {
    width: 75px;
    margin-left: auto;
    margin-right: auto; }
/* line 602, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-item .product-img-box .product-name {
    display: block; }
/* line 607, scss/module/_checkout-onepage.scss */
.gift-message-form .gift-item .fieldset {
    margin-left: 200px; }

@media only screen and (max-width: 770px) {
    /* line 616, scss/module/_checkout-onepage.scss */
    .gift-message-form .giftmessage-area {
        max-width: 100%; }
    /* line 621, scss/module/_checkout-onepage.scss */
    .gift-message-form .gift-item .product-img-box {
        width: 100%;
        float: none; }
    /* line 626, scss/module/_checkout-onepage.scss */
    .gift-message-form .gift-item .fieldset {
        margin-left: 0px; }
    /* line 629, scss/module/_checkout-onepage.scss */
    .gift-message-form .gift-item .fieldset textarea {
        width: 100%; } }

/* ============================================ *
 * Checkout - Success
 * ============================================ */
/* line 31, scss/module/_checkout-success.scss */
.checkout-onepage-success .col-main {
    padding: 0;
    text-align: center; }

/* line 36, scss/module/_checkout-success.scss */
.checkout-onepage-success .buttons-set {
    margin: 10px 0;
    text-align: center; }
/* line 40, scss/module/_checkout-success.scss */
.checkout-onepage-success .buttons-set button {
    float: none; }

/* ============================================ *
 * Configurable Swatches
 * ============================================ */
/* Clears */
/* line 34, scss/module/_configurableswatches.scss */
.clearfix:after,
.configurable-swatch-list:after,
.product-view .product-options .swatch-attr:after {
    content: '';
    display: table;
    clear: both; }

/* General Swatch Styling */
/* line 40, scss/module/_configurableswatches.scss */
.swatch-link,
.swatch-label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: bold;
    font-size: 13px;
    text-align: center;
    color: #000000;
    text-decoration: none;
    box-sizing: content-box; }

/* line 52, scss/module/_configurableswatches.scss */
.swatch-link {
    margin: 0 0 3px; }
/* line 56, scss/module/_configurableswatches.scss */
.swatch-link img {
    border-radius: 2px; }
/* line 60, scss/module/_configurableswatches.scss */
.swatch-link:hover {
    cursor: pointer;
    text-decoration: none; }
/* line 65, scss/module/_configurableswatches.scss */
.swatch-link .x {
    display: none;
    text-indent: -999em;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: url(../images/bg_x.png) center no-repeat transparent;
    z-index: 10; }
/* line 78, scss/module/_configurableswatches.scss */
.swatch-link.has-image .swatch-label {
    position: relative; }
/* line 82, scss/module/_configurableswatches.scss */
.swatch-link.has-image img {
    position: absolute;
    top: 0;
    left: 0; }

/* line 90, scss/module/_configurableswatches.scss */
.swatch-label {
    margin: 0;
    white-space: nowrap; }

/* line 97, scss/module/_configurableswatches.scss */
.configurable-swatch-list {
    zoom: 1;
    clear: both;
    -webkit-transform: translateZ(0px); }

.configurable-swatch-list li {
    float: left;
    width:42px;
    height:42px;
    line-height:42px;
    text-align:center;
    zoom: 1;
    margin: 0 15px 15px 0;
    border:1px solid #000;
}
.configurable-swatch-list li.not-available {
    border-color:#aaa;    
}
.configurable-swatch-list li.not-available a{
    cursor:default;  
}
/* line 111, scss/module/_configurableswatches.scss */
.configurable-swatch-list li:last-child:after {
    content: none; }
/* line 115, scss/module/_configurableswatches.scss */
.configurable-swatch-list li.selected {
    background:#000;
}
.configurable-swatch-list li.selected a span{
    color:#fff;}
.configurable-swatch-list li.not-available.selected {
    background:none;
}
.configurable-swatch-list li.not-available.selected a span{
    color:#EDEDED;}
/* line 121, scss/module/_configurableswatches.scss */
.products-grid .configurable-swatch-list li {
    display: inline-block;
    float: none;
    margin: 0;
    vertical-align: top; }

/* line 133, scss/module/_configurableswatches.scss */
.configurable-swatch-list .not-available .swatch-link {
    border-color: #EDEDED;
    position: relative; }
/* line 137, scss/module/_configurableswatches.scss */
.configurable-swatch-list .not-available .swatch-link.has-image img {
    opacity: 0.4;
    filter: alpha(opacity=40); }
/* line 143, scss/module/_configurableswatches.scss */
.configurable-swatch-list .not-available .swatch-label {
    color: #aaa;
    background: #fff; }

/* line 153, scss/module/_configurableswatches.scss */
.configurable-swatch-list .not-available a:focus {
    outline: 0; }

/* line 159, scss/module/_configurableswatches.scss */
#narrow-by-list dd .configurable-swatch-list li {
    margin: 0 0 0 3px;
    width: 47%; }

/* line 164, scss/module/_configurableswatches.scss */
#narrow-by-list dd .swatch-link {
    border: none;
    line-height: 25px;
    margin-right: 2px;
    text-align: left; }
/* line 170, scss/module/_configurableswatches.scss */
#narrow-by-list dd .swatch-link.has-image {
    line-height: inherit; }
/* line 174, scss/module/_configurableswatches.scss */
#narrow-by-list dd .swatch-link:hover .swatch-label {
    border-color: #000000; }

/* line 179, scss/module/_configurableswatches.scss */
#narrow-by-list dd .swatch-label {
    background: #F4F4F4;
    border: 1px solid #CCCCCC;
    border-radius: 3px;
    display: block;
    float: left;
    line-height: 1.5em;
    margin: 0 5px 0 0;
    padding: 1px 5px;
    white-space: nowrap; }
/* line 190, scss/module/_configurableswatches.scss */
#narrow-by-list dd .swatch-label img {
    border: 1px solid #fff;
    border-radius: 3px;
    box-sizing: content-box; }

/* line 197, scss/module/_configurableswatches.scss */
#narrow-by-list dd .has-image .swatch-label {
    padding: 0; }

@media only screen and (max-width: 770px) {
    /* line 204, scss/module/_configurableswatches.scss */
    #narrow-by-list dd .configurable-swatch-list li:nth-child(odd) {
        clear: left; } }

/* line 210, scss/module/_configurableswatches.scss */
.currently .swatch-current {
    position: relative; }
/* line 213, scss/module/_configurableswatches.scss */
.currently .swatch-current .btn-remove {
    margin-top: -10px;
    position: absolute;
    right: 0;
    top: 50%; }
/* line 220, scss/module/_configurableswatches.scss */
.currently .swatch-current span {
    display: block;
    float: left; }

/* line 226, scss/module/_configurableswatches.scss */
.currently .swatch-link {
    display: inline-block;
    margin: 0 0 0 3px; }
/* line 230, scss/module/_configurableswatches.scss */
.currently .swatch-link:hover {
    border-color: #CCCCCC;
    cursor: default; }

/* Other Swatch States */
/* line 238, scss/module/_configurableswatches.scss */
.configurable-swatch-list .hover .swatch-link,
.configurable-swatch-list .selected .swatch-link,
.configurable-swatch-box {
    background: none !important; }
/* line 247, scss/module/_configurableswatches.scss */
.configurable-swatch-list .hover .swatch-link select.swatch-select,
.configurable-swatch-list .selected .swatch-link select.swatch-select,
.configurable-swatch-box select.swatch-select {
    display: none; }
/* line 251, scss/module/_configurableswatches.scss */
.configurable-swatch-list .hover .swatch-link .validation-advice,
.configurable-swatch-list .selected .swatch-link .validation-advice,
.configurable-swatch-box .validation-advice {
    margin: 0 0 5px;
    background: #DF280A;
    padding: 2px 5px !important;
    font-weight: bold;
    color: #fff !important;
    float: left;
    display: block;
    border-radius: 3px; }

/* CUSTOM */
/* line 264, scss/module/_configurableswatches.scss */
.availability.out-of-stock span {
    color: #A0A0A0; }

/* line 270, scss/module/_configurableswatches.scss */
.product-view .product-options .swatch-attr {
    float: none;
    display: block;
    clear: both;
    border: 0; }
/* line 276, scss/module/_configurableswatches.scss */
.product-view .product-options .swatch-attr label,
.product-view .product-options .swatch-attr .select-label {
    font-size: 12px; }
/* line 281, scss/module/_configurableswatches.scss */
.product-view .product-options .swatch-attr label {
    display: block;
    font-weight:bold;
    text-transform: uppercase;}
/* line 288, scss/module/_configurableswatches.scss */
.product-view .product-options .swatch-attr .select-label {
    display: inline;
    font-weight: 12px;
    color: #000000;
    padding-left: 5px;
    display: none; }

/* line 297, scss/module/_configurableswatches.scss */
.product-view .product-options dd .input-box {
    width: auto;
    height: auto; }

/* line 302, scss/module/_configurableswatches.scss */
.product-view .product-options .select-label {
    display: none; }

/* line 307, scss/module/_configurableswatches.scss */
.product-view .add-to-cart button.out-of-stock {
    background-position: -80px -362px;
    cursor: default; }

/* ============================================ *
 * Customer
 * ============================================ */
/* line 31, scss/module/_customer.scss */
.customer-account .main {
    margin-top: 65px; }

/* line 34, scss/module/_customer.scss */
.customer-account .sidebar {
    margin-left: 0px; }

/* line 37, scss/module/_customer.scss */
.customer-account address {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300;
    text-transform: uppercase; }

/* line 52, scss/module/_customer.scss */
.customer-account-login .col2-set .buttons-set {
    text-align: left;
    border-top: 0; }
/* line 56, scss/module/_customer.scss */
.customer-account-login .col2-set .buttons-set button,
.customer-account-login .col2-set .buttons-set .button {
    float: none;
    margin: 0; }

/* line 64, scss/module/_customer.scss */
.customer-account-login .col2-set .col-1 ul {
    list-style: disc;
    padding-left: 20px;
    margin: 10px 0 20px 0; }

@media only screen and (max-width: 600px) {
    /* line 76, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .col-1,
    .customer-account-login .account-login .col2-set .col-2 {
        padding-top: 0;
        margin-top: 20px; }
    /* line 82, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .col-1 {
        padding-right: 20px; }
    /* line 86, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .col-2 {
        padding-left: 20px; } }

@media only screen and (min-width: 770px) {
    /* line 95, scss/module/_customer.scss */
    .customer-account-login .col2-set .col-1 {
        padding-right: 0; }
    /* line 99, scss/module/_customer.scss */
    .customer-account-login .col2-set .col-2 {
        padding-left: 100px; } }

@media only screen and (max-width: 479px) {
    /* line 107, scss/module/_customer.scss */
    .customer-account-login .col2-set .col-1 {
        padding-bottom: 30px; }
    /* line 111, scss/module/_customer.scss */
    .customer-account-login .col2-set .col-2 {
        padding-top: 30px;
        border-top: 1px solid #EDEDED; } }

@media only screen and (max-width: 770px) {
    /* line 119, scss/module/_customer.scss */
    .customer-account-login .col2-set p.required {
        display: none; } }

/* line 123, scss/module/_customer.scss */
.customer-account-login .page-title {
    display: none; }

/* line 128, scss/module/_customer.scss */
.opc #opc-login p:not(.required) {
    font-style: italic;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #A0A0A0; }

/* line 136, scss/module/_customer.scss */
.remember-me-box a.hide {
    display: none; }

/* line 139, scss/module/_customer.scss */
.remember-me-box .link-tip {
    font-size: 13px;
    padding-left: 10px; }

/* line 145, scss/module/_customer.scss */
.remember-me-popup {
    display: none;
    border: 1px solid #CCCCCC;
    padding: 10px;
    position: relative; }
/* line 151, scss/module/_customer.scss */
.remember-me-popup.show {
    display: block; }
/* line 155, scss/module/_customer.scss */
.remember-me-popup p {
    font-family: "Montserrat", sans-serif; }
/* line 159, scss/module/_customer.scss */
.remember-me-popup .remember-me-popup-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    font-size: 12px; }
/* line 167, scss/module/_customer.scss */
.remember-me-popup .remember-me-popup-close-button {
    display: none; }

/* line 173, scss/module/_customer.scss */
.customer-account-create .buttons-set {
    max-width: 400px;
    border-top: none; }

/* line 178, scss/module/_customer.scss */
.customer-account-create .fieldset,
.customer-account-create .buttons-set {
    max-width: 400px; }
@media only screen and (max-width: 479px) {
    /* line 178, scss/module/_customer.scss */
    .customer-account-create .fieldset,
    .customer-account-create .buttons-set {
        margin-left: 0; } }

/* line 187, scss/module/_customer.scss */
.customer-account-create .fieldset .hidden {
    display: none; }

/* line 191, scss/module/_customer.scss */
.customer-account-create #remember-me-popup {
    max-width: 455px; }

/* line 197, scss/module/_customer.scss */
.customer-account-forgotpassword .fieldset,
.customer-account-forgotpassword .buttons-set {
    max-width: 400px; }
@media only screen and (max-width: 479px) {
    /* line 197, scss/module/_customer.scss */
    .customer-account-forgotpassword .fieldset,
    .customer-account-forgotpassword .buttons-set {
        margin-left: 0; } }

/* line 206, scss/module/_customer.scss */
.customer-account-forgotpassword h2 {
    display: none; }

/* line 210, scss/module/_customer.scss */
.customer-account-forgotpassword .fieldset .input-box input.input-text {
    width: 100%; }

/* ============================================ *
 * Login page
 * ============================================ */
/* line 220, scss/module/_customer.scss */
.customer-account-login .account-login {
    margin-top: 50px; }
/* line 224, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users {
    width: 100%;
    padding: 50px 0 0 0;
    margin: 50px 0 0 0;
    float: none;
    border-top: 1px solid #000; }
/* line 231, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users .content {
    text-align: center;
    max-width: 400px;
    margin: 0 auto; }
/* line 236, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users .content h2 {
    font-family: "Montserrat", sans-serif;
      
    line-height: 16px;
    text-transform: uppercase; }
/* line 243, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users .content .form-instructions {
      
    line-height: 25px;
    margin-bottom: 0; }
/* line 249, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users .content .benefits {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000;
       }
/* line 255, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users .content .benefits li {
    line-height: 25px; }
/* line 258, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .new-users .content .benefits li:before {
    content: "\2014\a0";
    color: #000;
    margin-right: .5em;
    line-height: 1em; }
/* line 269, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users {
    width: 100%;
    padding: 0;
    float: none; }
/* line 274, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .forgot-psw {
    font-family: "Montserrat", serif;
    font-size: 14px; }
/* line 280, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .content.fieldset {
    text-align: center;
    max-width: 400px;
    margin: 0 auto; }
/* line 285, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .content.fieldset h2 {
    font-family: "Montserrat", sans-serif;
      
    line-height: 16px;
    text-transform: uppercase; }
/* line 292, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .content.fieldset .form-instructions {

    line-height: 14px; }
/* line 297, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: unset;
    text-align: left; }
/* line 304, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list input[type=email], .customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list input[type=search], .customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list input[type=number], .customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list input[type=password], .customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list input[type=tel], .customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list input[type=text] {
    width: 100%; }
/* line 308, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .registered-users .content.fieldset ul.form-list .forgot-psw {
    font-family: "Montserrat", sans-serif; }
/* line 316, scss/module/_customer.scss */
.customer-account-login .account-login .col2-set .buttons-set {
    margin: 50px auto 0;
    max-width: 200px; }

@media only screen and (min-width: 980px) {
    /* line 327, scss/module/_customer.scss */
    .customer-account-login .account-login {
        margin-top: 150px; }
    /* line 330, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    /* line 333, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .new-users {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 50%;
        -ms-flex: 0 1 50%;
        flex: 0 1 50%;
        margin-left: 50px;
        margin-top: 0;
        border: none;
        padding-top: 0; }
    /* line 341, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .new-users .content {
        min-width: 370px;
        padding-top: 0;
        text-align: left;
        margin-left: 50px; }
    /* line 347, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .new-users .content .buttons-set {
        margin: 50px auto 0 0; }
    /* line 353, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .registered-users {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 50%;
        -ms-flex: 0 1 50%;
        flex: 0 1 50%; }
    /* line 357, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .registered-users .content.fieldset {
        margin-left: auto;
        margin-right: 50px;
        min-width: 370px;
        text-align: left; }
    /* line 363, scss/module/_customer.scss */
    .customer-account-login .account-login .col2-set .registered-users .content.fieldset .buttons-set {
        margin: 50px auto 0 0; } }

/* ============================================ *
 * My Account Global Styles
 * ============================================ */
/* line 381, scss/module/_customer.scss */
body.customer-account .my-account {
    border-left: 1px solid #0a0a0a;
    padding-left: 40px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300; }
/* line 388, scss/module/_customer.scss */
body.customer-account .my-account .page-title h1 {
    border: 0;
    text-align: left;
    padding-bottom: 0px;
    line-height: 1.5;

    text-transform: uppercase;
    font-weight: 300; }
/* line 398, scss/module/_customer.scss */
body.customer-account .my-account .welcome-msg .hello {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 20px; }
/* line 405, scss/module/_customer.scss */
body.customer-account .my-account .title-buttons {
    position: relative;
    text-align: right; }
/* line 409, scss/module/_customer.scss */
body.customer-account .my-account .title-buttons h1 {
    text-align: left; }
/* line 413, scss/module/_customer.scss */
body.customer-account .my-account .title-buttons .button {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 190px; }
/* line 420, scss/module/_customer.scss */
body.customer-account .my-account .title-buttons a,
body.customer-account .my-account .title-buttons span.separator {
    position: relative;
    top: -42px; }
/* line 427, scss/module/_customer.scss */
body.customer-account .my-account .fieldset h2,
body.customer-account .my-account .addresses-list h2,
body.customer-account .my-account .order-details h2 {
    width: 100%;
    display: inline-block; }
/* line 434, scss/module/_customer.scss */
body.customer-account .my-account .fieldset h2 {
    display: none; }
/* line 438, scss/module/_customer.scss */
body.customer-account .my-account .addresses-list h3 {
    font-size: 11px;
    font-family: "Montserrat", sans-serif;
    color: #000000; }
/* line 444, scss/module/_customer.scss */
body.customer-account .my-account .fieldset {
    margin-top: 30px;
    margin-bottom: 30px;
    max-width: 400px; }
/* line 450, scss/module/_customer.scss */
body.customer-account .my-account .data-table.orders th {
    background: transparent; }
/* line 454, scss/module/_customer.scss */
body.customer-account .my-account .mobile-logout {
    display: none; }

/* line 460, scss/module/_customer.scss */
body.customer-account .block-account .block-title {
    font-size: 19px;
    font-family: "Montserrat", serif;
    font-weight: 300;
    color: #000000;
    padding-bottom: 3px;
    margin-bottom: 40px;
    text-transform: initial;
    text-transform: uppercase; }

/* line 465, scss/module/_customer.scss */
body.customer-account .block-account .block-content li a {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000;
    line-height: 25px;
      
    font-weight: 300; }
/* line 470, scss/module/_customer.scss */
body.customer-account .block-account .block-content li a:nth-child(4) {
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5; }

/* line 474, scss/module/_customer.scss */
body.customer-account .block-account .block-content li.current a {
    text-decoration: underline; }
/* line 476, scss/module/_customer.scss */
body.customer-account .block-account .block-content li.current a strong {
    color: #000000; }

/* line 483, scss/module/_customer.scss */
body.customer-account .data-table {
    margin-top: 5px; }
/* line 487, scss/module/_customer.scss */
body.customer-account .data-table td a {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-style: normal;
    font-size: 11px;
    line-height: 25px;
      
    font-weight: 300; }
/* line 496, scss/module/_customer.scss */
body.customer-account .data-table span.nobr {
    white-space: normal; }
/* line 499, scss/module/_customer.scss */
body.customer-account .data-table span.nobr a {
    white-space: nowrap; }
/* line 505, scss/module/_customer.scss */
body.customer-account .data-table td.view a {
    display: block; }
/* line 510, scss/module/_customer.scss */
body.customer-account .data-table .separator {
    display: none; }
/* line 515, scss/module/_customer.scss */
body.customer-account .data-table tbody td {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300; }
/* line 519, scss/module/_customer.scss */
body.customer-account .data-table tbody .a-right {
    text-align: start; }
/* line 522, scss/module/_customer.scss */
body.customer-account .data-table tbody .item-options dd {
    font-size: 11px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 12px; }
/* line 528, scss/module/_customer.scss */
body.customer-account .data-table tbody .price {
    font-family: "Montserrat", sans-serif; }
/* line 532, scss/module/_customer.scss */
body.customer-account .data-table tbody.odd .a-right {
    text-align: right; }

/* line 542, scss/module/_customer.scss */
body.customer-account .sidebar .block ol#compare-items li {
    margin: 10px 0; }

/* line 548, scss/module/_customer.scss */
body.customer-account .sidebar .block .block-content p.block-subtitle {
    margin-bottom: 15px; }

/* line 552, scss/module/_customer.scss */
body.customer-account .sidebar .block .block-content .actions {
    margin-top: 30px; }

/* line 559, scss/module/_customer.scss */
body.customer-account .sidebar ol#cart-sidebar-reorder li {
    margin-top: 10px;
    margin-bottom: 0; }

/* line 564, scss/module/_customer.scss */
body.customer-account .sidebar ol#cart-sidebar-reorder p.product-name {
    display: inline-block;
    margin-bottom: 0; }

/* line 571, scss/module/_customer.scss */
body.customer-account .sidebar .block-cart .summary {
    margin-bottom: 15px; }

/* line 578, scss/module/_customer.scss */
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li {
    margin-top: 10px;
    margin-bottom: 0; }
/* line 582, scss/module/_customer.scss */
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder li input {
    margin-right: 10px; }

/* line 587, scss/module/_customer.scss */
body.customer-account .sidebar .block-reorder ol#cart-sidebar-reorder p.product-name {
    display: inline;
    margin-bottom: 0; }

/* line 598, scss/module/_customer.scss */
.form-list .customer-dob .dob-month,
.form-list .customer-dob .dob-day {
    width: 40px;
    float: left;
    margin-right: 10px; }

/* line 605, scss/module/_customer.scss */
.form-list .customer-dob .dob-year {
    width: 80px;
    float: left; }

/* ============================================ *
 * Dashboard
 * ============================================ */
/* line 617, scss/module/_customer.scss */
.dashboard .box-head {
    margin-top: 30px;
    border-bottom: 1px solid #0a0a0a;
    padding-bottom: 7px; }
/* line 622, scss/module/_customer.scss */
.dashboard .box-head h2 {
    font-size: 14px;
    display: inline-block;
    margin-bottom: 0;
    text-transform: uppercase;
    padding: 10px;
    padding-left: 0; }
/* line 631, scss/module/_customer.scss */
.dashboard .box-head a {
    padding: 10px;
    font-family: "Montserrat", serif;
    text-transform: initial; }

/* line 638, scss/module/_customer.scss */
.dashboard .box-title,
.dashboard .box-head {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
/* line 643, scss/module/_customer.scss */
.dashboard .box-title a,
.dashboard .box-head a {
    font-size: 14px; }

/* line 649, scss/module/_customer.scss */
.dashboard .box-account {
    padding-bottom: 40px;
    margin-bottom: 45px; }
/* line 653, scss/module/_customer.scss */
.dashboard .box-account p,
.dashboard .box-account address {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
       }

/* line 662, scss/module/_customer.scss */
.dashboard .col2-set .col-1,
.dashboard .col2-set .col-2 {
    padding-right: 12.09677%;
    padding-bottom: 0; }
/* line 667, scss/module/_customer.scss */
.dashboard .col2-set .col-1 .box-title,
.dashboard .col2-set .col-2 .box-title {
    position: relative;
    padding-bottom: 10px;
    font-family: "Montserrat", sans-serif; }
/* line 672, scss/module/_customer.scss */
.dashboard .col2-set .col-1 .box-title h2,
.dashboard .col2-set .col-1 .box-title h3,
.dashboard .col2-set .col-2 .box-title h2,
.dashboard .col2-set .col-2 .box-title h3 {
    font-size: 11px;
    margin-bottom: 0;
    font-family: "Montserrat", sans-serif;
    color: #000000; }
/* line 680, scss/module/_customer.scss */
.dashboard .col2-set .col-1 .box-title a,
.dashboard .col2-set .col-2 .box-title a {
    line-height: 19.6px; }

/* line 688, scss/module/_customer.scss */
.dashboard .box-reviews.box-account {
    padding-bottom: 0; }

/* line 692, scss/module/_customer.scss */
.dashboard .box-reviews li {
    padding: 10px 0;
    border-top: 1px solid #EDEDED; }
/* line 696, scss/module/_customer.scss */
.dashboard .box-reviews li:first-child {
    border-top: 0; }
/* line 700, scss/module/_customer.scss */
.dashboard .box-reviews li .number {
    margin-right: -20px;
    float: left;
    line-height: 1.4;
    font-size: 13px; }
/* line 707, scss/module/_customer.scss */
.dashboard .box-reviews li .details {
    margin-left: 20px; }
/* line 710, scss/module/_customer.scss */
.dashboard .box-reviews li .details .ratings {
    content: '';
    display: table;
    clear: both;
    margin-bottom: 0; }
/* line 714, scss/module/_customer.scss */
.dashboard .box-reviews li .details .ratings strong {
    float: left;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    margin-right: 5px; }
/* line 721, scss/module/_customer.scss */
.dashboard .box-reviews li .details .ratings .rating-box {
    float: left;
    margin: 3px 0 0 0; }

/* ============================================ *
 * Address Book
 * ============================================ */
/* line 736, scss/module/_customer.scss */
.my-account .addresses-list {
    font-family: "Montserrat", sans-serif; }
/* line 739, scss/module/_customer.scss */
.my-account .addresses-list .col-1,
.my-account .addresses-list .col-2 {
    padding-bottom: 0; }
/* line 744, scss/module/_customer.scss */
.my-account .addresses-list .item {
    margin: 0 0 30px 0; }
/* line 747, scss/module/_customer.scss */
.my-account .addresses-list .item p {
    margin-top: 10px; }
@media only screen and (max-width: 770px) {
    /* line 753, scss/module/_customer.scss */
    .my-account .addresses-list .col-1,
    .my-account .addresses-list .col-2 {
        width: 100%;
        padding-left: 0;
        padding-right: 0; }
    /* line 759, scss/module/_customer.scss */
    .my-account .addresses-list .col-1 li.empty,
    .my-account .addresses-list .col-2 li.empty {
        width: 100%; } }
@media only screen and (max-width: 599px) {
    /* line 768, scss/module/_customer.scss */
    .my-account .addresses-list .addresses-additional p a {
        white-space: nowrap; } }

/* ============================================ *
 * Order View
 * ============================================ */
/* line 783, scss/module/_customer.scss */
.sales-order-history .pager .count-container {
    display: none; }

/* line 787, scss/module/_customer.scss */
.sales-order-history .pager .pages a {
    color: #000000;
    font-family: "Montserrat", sans-serif; }

/* line 791, scss/module/_customer.scss */
.sales-order-history .pager .pages .current {
    color: #000000; }

/* line 794, scss/module/_customer.scss */
.sales-order-history .pager .pages .next:before {
    border-left-color: #000000; }

/* line 802, scss/module/_customer.scss */
.my-account .amount {
    font-family: "Montserrat", serif;
    font-weight: 300;
    color: #000000; }
/* line 806, scss/module/_customer.scss */
.my-account .amount strong {
    font-weight: 300; }

/* line 812, scss/module/_customer.scss */
.my-account .order-items .data-table th {
    background: transparent; }

/* line 816, scss/module/_customer.scss */
.my-account .order-items .data-table .grand_total td strong {
    font-weight: 300; }

/* line 821, scss/module/_customer.scss */
.my-account .order-items tbody {
    background-color: transparent !important; }
/* line 823, scss/module/_customer.scss */
.my-account .order-items tbody .item-options dt {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    font-style: normal;
    font-weight: 300; }

/* line 831, scss/module/_customer.scss */
.order-info {
    padding-bottom: 10px;
    border-bottom: 1px solid #EDEDED;
    width: 100%;
    margin-bottom: 30px; }
/* line 837, scss/module/_customer.scss */
.order-info dt,
.order-info dd,
.order-info ul,
.order-info li {
    display: inline; }
/* line 844, scss/module/_customer.scss */
.order-info dt {
    margin-right: 20px; }
/* line 848, scss/module/_customer.scss */
.order-info li {
    margin: 0 0 0 20px; }
/* line 851, scss/module/_customer.scss */
.order-info li:first-child {
    margin-left: 0; }

/* line 857, scss/module/_customer.scss */
.order-date {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase; }

/* line 862, scss/module/_customer.scss */
.order-info-box {
    margin-bottom: 40px;
    margin-top: 20px; }
/* line 866, scss/module/_customer.scss */
.order-info-box + .order-info-box {
    padding-bottom: 40px;
    border-bottom: 1px solid #EDEDED; }
/* line 871, scss/module/_customer.scss */
.order-info-box .col-1 {
    padding-right: 0;
    width: 48%; }
/* line 876, scss/module/_customer.scss */
.order-info-box .col-2 {
    width: 52%; }
/* line 880, scss/module/_customer.scss */
.order-info-box .col-1,
.order-info-box .col-2 {
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0; }
/* line 887, scss/module/_customer.scss */
.order-info-box .box-title {
    width: 150px;
    padding-right: 10px;
    float: left; }
/* line 892, scss/module/_customer.scss */
.order-info-box .box-title h2 {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    font-family: "Montserrat", sans-serif;
    line-height: 1.5; }
/* line 897, scss/module/_customer.scss */
.order-info-box .box-title h2:after {
    content: ':'; }
/* line 903, scss/module/_customer.scss */
.order-info-box .box-content {
    float: left;
    font-family: "Montserrat", sans-serif; }
/* line 907, scss/module/_customer.scss */
.order-info-box .box-content td,
.order-info-box .box-content th {
    font-family: "Montserrat", serif;
    line-height: 1.3; }
/* line 913, scss/module/_customer.scss */
.order-info-box .box-content th {
    padding-top: 10px; }
/* line 917, scss/module/_customer.scss */
.order-info-box .box-content td {
    padding-left: 15px; }
/* line 921, scss/module/_customer.scss */
.order-info-box .box-content strong {
    font-family: "Montserrat", sans-serif;
    font-weight: normal;
    text-transform: uppercase; }

/* line 930, scss/module/_customer.scss */
#my-orders-table thead {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300; }

/* line 934, scss/module/_customer.scss */
#my-orders-table tbody td {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300; }

/* line 938, scss/module/_customer.scss */
#my-orders-table .option-label {
    margin-left: 10px;
    font-weight: 600;
    font-style: italic; }

/* line 944, scss/module/_customer.scss */
#my-orders-table .option-value {
    margin-left: 20px; }

/* line 948, scss/module/_customer.scss */
#my-orders-table tr.bundle:not(:last-child) td {
    border-bottom: none;
    border-top: none; }

/* line 955, scss/module/_customer.scss */
ol#cart-sidebar-reorder li {
    margin-top: 10px;
    margin-bottom: 0; }
/* line 959, scss/module/_customer.scss */
ol#cart-sidebar-reorder li input {
    margin-right: 10px; }

/* line 964, scss/module/_customer.scss */
ol#cart-sidebar-reorder p.product-name {
    display: inline; }

@media only screen and (max-width: 599px) {
    /* line 971, scss/module/_customer.scss */
    #my-orders-table .option-label {
        margin-left: 20px; }
    /* line 975, scss/module/_customer.scss */
    #my-orders-table .option-value {
        margin-left: 35px; }
    /* line 980, scss/module/_customer.scss */
    #my-orders-table td[data-rwd-label=Qty] .nobr br {
        display: none; }
    /* line 984, scss/module/_customer.scss */
    #my-orders-table td[data-rwd-label=Qty] .nobr strong {
        margin-right: 10px; }
    /* line 989, scss/module/_customer.scss */
    #my-orders-table tr.bundle {
        border-color: #EDEDED; }
    /* line 994, scss/module/_customer.scss */
    #my-orders-table tr.bundle.child td[data-rwd-label] {
        padding-left: 60px; }
    /* line 1000, scss/module/_customer.scss */
    #my-orders-table tbody:last-child tr:last-child td {
        padding-bottom: 10px;
        border-bottom: 0; }
    /* line 1004, scss/module/_customer.scss */
    #my-orders-table tbody:last-child tr:last-child td:last-child {
        padding-bottom: 15px; }
    /* line 1010, scss/module/_customer.scss */
    #my-orders-table tfoot tr.shipping {
        margin-top: 0; } }

/* line 1016, scss/module/_customer.scss */
.order-additional {
    margin: 40px 0; }

/* line 1021, scss/module/_customer.scss */
.order-gift-message dd {
    margin-top: 10px; }

@media only screen and (max-width: 1199px) {
    /* line 1029, scss/module/_customer.scss */
    .dashboard .col2-set .col-1,
    .dashboard .col2-set .col-2 {
        padding-right: 30px;
        padding-bottom: 0; }
    /* line 1039, scss/module/_customer.scss */
    body.customer-account .data-table td.view a {
        white-space: normal; } }

@media only screen and (max-width: 979px) {
    /* line 1049, scss/module/_customer.scss */
    body.customer-account .my-account .title-buttons {
        text-align: left; }
    /* line 1052, scss/module/_customer.scss */
    body.customer-account .my-account .title-buttons span.separator,
    body.customer-account .my-account .title-buttons a {
        top: -12px; } }

@media only screen and (max-width: 770px) {
    /* line 1063, scss/module/_customer.scss */
    body.customer-account .sidebar {
        display: none; }
    /* line 1068, scss/module/_customer.scss */
    body.customer-account .data-table.orders th.ship,
    body.customer-account .data-table.orders td.ship,
    body.customer-account .data-table.orders td.status,
    body.customer-account .data-table.orders th.status {
        display: none; }
    /* line 1076, scss/module/_customer.scss */
    body.customer-account .my-account {
        border: none;
        padding-left: 0; }
    /* line 1079, scss/module/_customer.scss */
    body.customer-account .my-account .fieldset {
        max-width: 100%; }
    /* line 1082, scss/module/_customer.scss */
    body.customer-account .my-account .page-title h1 {
        text-align: center; }
    /* line 1085, scss/module/_customer.scss */
    body.customer-account .my-account .mobile-logout {
        display: block;
        max-width: 140px;
        text-align: center;
        float: unset;
        margin: auto;
        background: #fefefe;
        color: #000000; }
    /* line 1093, scss/module/_customer.scss */
    body.customer-account .my-account .mobile-logout:hover {
        background: #0a0a0a;
        color: #fefefe; }
    /* line 1102, scss/module/_customer.scss */
    .order-info-box .box-content {
        clear: left; }
    /* line 1108, scss/module/_customer.scss */
    .addresses-list .item {
        float: left;
        width: 50%;
        padding-right: 30px; }
    /* line 1116, scss/module/_customer.scss */
    .order-info dt {
        display: none; }
    /* line 1122, scss/module/_customer.scss */
    .dashboard .page-title {
        margin-top: 20px; }
    /* line 1124, scss/module/_customer.scss */
    .dashboard .page-title h1 {
        margin-top: 0;
        text-align: center; }
    /* line 1133, scss/module/_customer.scss */
    .dashboard .welcome-msg .hello {
        text-align: center; }
    /* line 1138, scss/module/_customer.scss */
    .dashboard .box-account {
        padding-bottom: 15px;
        margin-bottom: 30px; }
    /* line 1144, scss/module/_customer.scss */
    .dashboard .col2-set .col-1,
    .dashboard .col2-set .col-2 {
        width: 48%;
        padding-right: 0;
        padding-left: 0; }
    /* line 1151, scss/module/_customer.scss */
    .dashboard .col2-set .col-1 {
        float: left;
        margin-right: 4%; }
    /* line 1156, scss/module/_customer.scss */
    .dashboard .col2-set .col-2 {
        float: right; } }

@media only screen and (max-width: 599px) {
    /* line 1167, scss/module/_customer.scss */
    body.customer-account .my-account .form-list .control {
        padding-left: 0; } }

@media only screen and (max-width: 479px) {
    /* line 1184, scss/module/_customer.scss */
    body.customer-account .my-account .title-buttons {
        text-align: center; }
    /* line 1187, scss/module/_customer.scss */
    body.customer-account .my-account .title-buttons .button {
        width: 100%;
        position: static;
        margin-bottom: 15px; }
    /* line 1192, scss/module/_customer.scss */
    body.customer-account .my-account .title-buttons .button + .button {
        margin-left: 0px; }
    /* line 1199, scss/module/_customer.scss */
    body.customer-account .my-account .fieldset h2 {
        margin-bottom: 15px; }
    /* line 1204, scss/module/_customer.scss */
    body.customer-account .my-account .order-details h2 {
        margin-bottom: 15px; }
    /* line 1208, scss/module/_customer.scss */
    body.customer-account .my-account .buttons-set {
        border-top: 0; }
    /* line 1213, scss/module/_customer.scss */
    body.customer-account .my-account .addresses-list .item {
        margin-bottom: 15px;
        padding-right: 0;
        float: none;
        width: auto; }
    /* line 1220, scss/module/_customer.scss */
    body.customer-account .my-account .addresses-list h2 {
        margin-bottom: 15px; }
    /* line 1227, scss/module/_customer.scss */
    .order-info {
        margin-top: 15px; }
    /* line 1233, scss/module/_customer.scss */
    .data-table.orders .link-reorder,
    .data-table.orders .date {
        display: none; }
    /* line 1238, scss/module/_customer.scss */
    .data-table.orders td.view {
        text-align: right; }
    /* line 1246, scss/module/_customer.scss */
    .dashboard .col2-set .col-1,
    .dashboard .col2-set .col-2 {
        width: 100%;
        margin-top: 15px; }
    /* line 1254, scss/module/_customer.scss */
    .order-info-box {
        margin: 0; }
    /* line 1257, scss/module/_customer.scss */
    .order-info-box .col-1,
    .order-info-box .col-2 {
        width: 100%;
        border-bottom: 1px solid #EDEDED;
        padding: 15px 0; }
    /* line 1264, scss/module/_customer.scss */
    .order-info-box + .order-info-box {
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 30px; }
    /* line 1272, scss/module/_customer.scss */
    #my-reviews-table .nobr {
        white-space: normal; } }

/* ============================================ *
 * Newsletter Subscriptions
 * ============================================ */
/* line 1283, scss/module/_customer.scss */
body.newsletter-manage-index .my-account .fieldset {
    margin-bottom: 20px; }

/* line 1287, scss/module/_customer.scss */
body.newsletter-manage-index .my-account .fieldset h2 {
    display: none; }

/* line 1291, scss/module/_customer.scss */
body.newsletter-manage-index .my-account .form-list {
    border-top: 1px solid #EDEDED;
    padding-top: 10px; }

@media only screen and (max-width: 770px) {
    /* line 1301, scss/module/_customer.scss */
    .customer-account .sidebar .block-account .block-content {
        border: none; } }

/* ============================================ *
 * Account Create
 * ============================================ */
/* line 1315, scss/module/_customer.scss */
.customer-account-create .col-main {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
/* line 1318, scss/module/_customer.scss */
.customer-account-create .col-main .account-create {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 20px auto 70px; }
/* line 1325, scss/module/_customer.scss */
.customer-account-create .col-main .account-create .page-title h1 {
    font-family: "Montserrat", serif;
    font-size: 24px;
  
    text-transform: uppercase;
    line-height: 24px;
    text-align: center; }
/* line 1336, scss/module/_customer.scss */
.customer-account-create .col-main .account-create form h2.legend {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 300;
      
    line-height: 25px;
    text-align: center;
    border: none;
    margin: 0 auto 30px;
    padding: 0; }
/* line 1348, scss/module/_customer.scss */
.customer-account-create .col-main .account-create .check-terms {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 1352, scss/module/_customer.scss */
.customer-account-create .col-main .account-create .check-terms input[type="checkbox"] {
    -webkit-flex-basis: 10%;
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    margin-top: 7px; }
/* line 1356, scss/module/_customer.scss */
.customer-account-create .col-main .account-create .check-terms label {
    -webkit-flex-basis: 90%;
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%; }
/* line 1359, scss/module/_customer.scss */
.customer-account-create .col-main .account-create .check-terms .validation-advice {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%; }
/* line 1363, scss/module/_customer.scss */
.customer-account-create .col-main .account-create .validation-advice {
    font-family: "Montserrat", sans-serif; }

@media only screen and (max-width: 979px) {
    /* line 1375, scss/module/_customer.scss */
    .account-create {
        margin: 70px auto 0; } }

/* ============================================ *
 * Contacts
 * ============================================ */
/* line 31, scss/module/_contacts.scss */
.contacts-index-index .buttons-set {
    margin-left: 30px;
    max-width: 435px; }
/* line 35, scss/module/_contacts.scss */
.contacts-index-index .buttons-set p.required {
    float: left; }
@media only screen and (max-width: 599px) {
    /* line 31, scss/module/_contacts.scss */
    .contacts-index-index .buttons-set {
        max-width: 330px;
        margin-left: 0; }
    /* line 43, scss/module/_contacts.scss */
    .contacts-index-index .buttons-set button {
        float: left;
        margin-left: 0px; }
    /* line 48, scss/module/_contacts.scss */
    .contacts-index-index .buttons-set p.required {
        float: right; } }

/* ============================================ *
 * PayPal
 * ============================================ */
@media only screen and (max-width: 870px) and (min-width: 771px) {
    /* line 34, scss/module/_paypal.scss */
    .paypal-review-order .col2-set .col-1,
    .paypal-review-order .col2-set .col-2 {
        padding: 0px; } }

/* line 42, scss/module/_paypal.scss */
.paypal-review-order .info-set {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #EDEDED; }

/* line 48, scss/module/_paypal.scss */
.paypal-review-order .buttons-set {
    margin-top: 0px;
    padding-top: 0px;
    border: 0; }
/* line 53, scss/module/_paypal.scss */
.paypal-review-order .buttons-set button {
    margin-bottom: 10px; }

@media only screen and (max-width: 770px) {
    /* line 59, scss/module/_paypal.scss */
    .paypal-review-order .col-1 {
        padding-bottom: 0; }
    /* line 63, scss/module/_paypal.scss */
    .paypal-review-order .field.inactive {
        display: none; } }

/* line 70, scss/module/_paypal.scss */
.top-container .bml-ad {
    margin-top: 7px;
    margin-bottom: 7px;
    text-align: center; }
/* line 75, scss/module/_paypal.scss */
.top-container .bml-ad span {
    display: inline-block; }
/* line 78, scss/module/_paypal.scss */
.top-container .bml-ad span a {
    display: block; }

/* line 84, scss/module/_paypal.scss */
.bml-ad {
    display: none;
    text-align: center;
    margin-bottom: 5px; }
/* line 89, scss/module/_paypal.scss */
.bml-ad span {
    display: block;
    line-height: 0; }
/* line 93, scss/module/_paypal.scss */
.bml-ad a {
    display: inline-block;
    max-width: 100%; }
/* line 97, scss/module/_paypal.scss */
.bml-ad a:hover {
    opacity: 0.7; }
/* line 100, scss/module/_paypal.scss */
.bml-ad img {
    height: auto !important;
    max-width: 100%; }

/* line 107, scss/module/_paypal.scss */
.cart-totals-wrapper .bml-ad.large img {
    display: block;
    margin: 0; }

@media only screen and (max-width: 770px) {
    /* line 113, scss/module/_paypal.scss */
    .bml-ad.small {
        display: block; } }

@media only screen and (min-width: 771px) {
    /* line 119, scss/module/_paypal.scss */
    .bml-ad.large {
        display: block; } }

/* line 124, scss/module/_paypal.scss */
div.paypal-logo {
    text-align: center;
    margin: 15px 0;
    max-width: 100%; }
/* line 129, scss/module/_paypal.scss */
div.paypal-logo span {
    display: block;
    width: 100%; }
/* line 133, scss/module/_paypal.scss */
div.paypal-logo span a {
    display: inline-block;
    max-width: 100%; }
/* line 137, scss/module/_paypal.scss */
div.paypal-logo span a img {
    max-width: 100%; }
/* line 143, scss/module/_paypal.scss */
div.paypal-logo span > img {
    display: none; }

/* line 149, scss/module/_paypal.scss */
.checkout-types div.paypal-logo {
    text-align: right; }

/* line 154, scss/module/_paypal.scss */
.bml-checkout-type {
    list-style-type: none; }

/* line 159, scss/module/_paypal.scss */
.sidebar .paypal-logo {
    text-align: center;
    line-height: 0; }
/* line 163, scss/module/_paypal.scss */
.sidebar .paypal-logo > a {
    display: inline-block;
    max-width: 100%; }
/* line 167, scss/module/_paypal.scss */
.sidebar .paypal-logo > a:hover {
    opacity: 0.8; }
/* line 170, scss/module/_paypal.scss */
.sidebar .paypal-logo > a img {
    display: block; }
/* line 174, scss/module/_paypal.scss */
.sidebar .paypal-logo .label {
    margin-top: 4px; }
/* line 176, scss/module/_paypal.scss */
.sidebar .paypal-logo .label a {
    font-size: 12px;
    line-height: 1.5; }

/* ============================================ *
 * Review - Customer
 * ============================================ */
/* line 30, scss/module/_review.scss */
#customer-reviews {
    width: auto;
    float: none; }
/* line 34, scss/module/_review.scss */
#customer-reviews .review-heading {
    border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 10px 0 5px; }
/* line 39, scss/module/_review.scss */
#customer-reviews .review-heading:after {
    content: '';
    display: table;
    clear: both; }
/* line 43, scss/module/_review.scss */
#customer-reviews .review-heading h2 {
    float: left;
    display: block; }
/* line 48, scss/module/_review.scss */
#customer-reviews .review-heading .pager {
    clear: none;
    float: right;
    width: auto; }
/* line 54, scss/module/_review.scss */
#customer-reviews .review-heading .pager .count-container .limiter {
    margin-bottom: 0; }
/* line 57, scss/module/_review.scss */
#customer-reviews .review-heading .pager .count-container .limiter label {
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    text-transform: uppercase; }
/* line 65, scss/module/_review.scss */
#customer-reviews .review-heading .pager .amount {
    display: none; }
/* line 71, scss/module/_review.scss */
#customer-reviews h2 {
    color: #000000;
    font-size: 12px;
    text-transform: uppercase; }
/* line 76, scss/module/_review.scss */
#customer-reviews h2 span {
    color: #000000; }
/* line 81, scss/module/_review.scss */
#customer-reviews h3 {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: normal;
    text-transform: uppercase; }
/* line 87, scss/module/_review.scss */
#customer-reviews h3 span {
    color: #000000; }
/* line 92, scss/module/_review.scss */
#customer-reviews .fieldset {
    padding-top: 25px;
    width: 470px; }
/* line 96, scss/module/_review.scss */
#customer-reviews .fieldset h4 {
    border-bottom: 1px solid #CCCCCC;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: normal;
    padding-bottom: 5px;
    text-transform: uppercase; }
/* line 104, scss/module/_review.scss */
#customer-reviews .fieldset h4 em {
    display: none; }
/* line 109, scss/module/_review.scss */
#customer-reviews .fieldset .form-list {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: normal;
    margin: 10px 0;
    text-transform: uppercase;
    width: 470px; }
/* line 124, scss/module/_review.scss */
#customer-reviews .fieldset .form-list .inline-label:after {
    content: '';
    display: table;
    clear: both; }
/* line 129, scss/module/_review.scss */
#customer-reviews .fieldset .form-list label {
    font-size: 12px;
    font-weight: normal; }
/* line 134, scss/module/_review.scss */
#customer-reviews .fieldset .form-list textarea {
    border: 1px solid #CCCCCC;
    border-radius: 0;
    min-width: 100%;
    -webkit-appearance: none; }
/* line 141, scss/module/_review.scss */
#customer-reviews .fieldset .form-list input {
    border: 1px solid #CCCCCC;
    border-radius: 0; }
/* line 145, scss/module/_review.scss */
#customer-reviews .fieldset .form-list input[type="text"] {
    width: 100%; }
/* line 152, scss/module/_review.scss */
#customer-reviews .buttons-set {
    border: none;
    margin: 0;
    width: 470px; }
/* line 158, scss/module/_review.scss */
#customer-reviews dl {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: normal;
    margin-bottom: 10px; }
/* line 164, scss/module/_review.scss */
#customer-reviews dl dt {
    margin: 10px 0;
    text-transform: uppercase; }
/* line 169, scss/module/_review.scss */
#customer-reviews dl dd {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    margin: 10px 0; }
/* line 174, scss/module/_review.scss */
#customer-reviews dl dd .ratings-table {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    width: 100%; }
/* line 179, scss/module/_review.scss */
#customer-reviews dl dd .ratings-table tr {
    margin-right: 15px; }
/* line 183, scss/module/_review.scss */
#customer-reviews dl dd .ratings-table .review-label {
    width: 300px;
    max-width: 70%; }
/* line 189, scss/module/_review.scss */
#customer-reviews dl dd table {
    margin: 15px 0; }
/* line 193, scss/module/_review.scss */
#customer-reviews dl dd .review-meta {
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: normal;
    text-transform: uppercase; }

/* line 204, scss/module/_review.scss */
.review-summary-table {
    border-bottom: 1px solid #CCCCCC;
    margin: 0 0 10px; }
/* line 208, scss/module/_review.scss */
.review-summary-table thead {
    background: transparent; }
/* line 211, scss/module/_review.scss */
.review-summary-table thead th {
    background: transparent;
    border: none;
    padding: 15px 7px 10px 8px; }
/* line 219, scss/module/_review.scss */
.review-summary-table tbody th {
    background: #FFFFFF;
    font-size: 12px; }
/* line 223, scss/module/_review.scss */
.review-summary-table tbody td {
    border: none;
    text-align: center;
    padding: 0; }
/* line 228, scss/module/_review.scss */
.review-summary-table tbody td label {
    width: 100%;
    display: block;
    padding: 11px 0; }
/* line 237, scss/module/_review.scss */
.review-summary-table .rating-box .rating-number {
    display: none; }
/* line 240, scss/module/_review.scss */
.review-summary-table .rating-box .rating-number:after {
    content: "";
    display: inline-block;
    background-position: 0px -599px;
    width: 13px;
    height: 14px;
    margin-left: 5px;
    position: relative;
    top: 2px; }

/* ============================================ *
 * Ratings - Global
 * ============================================ */
/* line 260, scss/module/_review.scss */
.ratings-table {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    text-transform: uppercase; }
/* line 265, scss/module/_review.scss */
.ratings-table th {
    padding-right: 10px; }
/* line 269, scss/module/_review.scss */
.ratings-table .rating-box {
    background-position: 0 -615px;
    background-repeat: repeat-x;
    height: 13px;
    overflow: hidden;
    text-indent: -9999px;
    width: 65px; }
/* line 278, scss/module/_review.scss */
.ratings-table .rating-box .rating {
    background-position: 0 -600px;
    background-repeat: repeat-x;
    float: left;
    height: 13px;
    text-indent: -9999px; }

@media only screen and (max-width: 770px) {
    /* line 295, scss/module/_review.scss */
    body.review-product-list .product-view .product-shop .price-info {
        padding-left: 0; }
    /* line 299, scss/module/_review.scss */
    body.review-product-list .product-view .product-shop .extra-info {
        padding: 0;
        min-width: 84%; }
    /* line 303, scss/module/_review.scss */
    body.review-product-list .product-view .product-shop .extra-info .ratings-table {
        margin: 10px 0;
        width: 100%; }
    /* line 307, scss/module/_review.scss */
    body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
        margin-right: 15px; } }

@media only screen and (max-width: 535px) {
    /* line 323, scss/module/_review.scss */
    body.review-product-list .product-view .product-shop .extra-info {
        min-width: 0; }
    /* line 327, scss/module/_review.scss */
    body.review-product-list .product-view .product-shop .extra-info .ratings-table tr {
        float: none;
        margin-right: 0; } }

@media only screen and (max-width: 520px) {
    /* line 342, scss/module/_review.scss */
    #customer-reviews .fieldset {
        width: 100%; }
    /* line 345, scss/module/_review.scss */
    #customer-reviews .fieldset .form-list {
        width: 100%; }
    /* line 349, scss/module/_review.scss */
    #customer-reviews .fieldset .form-list .inline-label label,
    #customer-reviews .fieldset .form-list .inline-label .input-box {
        float: none; }
    /* line 357, scss/module/_review.scss */
    #customer-reviews .buttons-set {
        width: 100%; }
    /* line 364, scss/module/_review.scss */
    #customer-reviews .review-summary-table thead th {
        padding-left: 0px;
        padding-right: 0px; }
    /* line 371, scss/module/_review.scss */
    #customer-reviews .review-summary-table tbody th {
        padding-left: 0px;
        padding-right: 0px; }
    /* line 376, scss/module/_review.scss */
    #customer-reviews .review-summary-table tbody td {
        width: 20%;
        padding: 0px; }
    /* line 382, scss/module/_review.scss */
    #customer-reviews .review-summary-table .rating-box {
        text-indent: 0px;
        text-align: center;
        background: none;
        height: 19.6px;
        width: 100%; }
    /* line 389, scss/module/_review.scss */
    #customer-reviews .review-summary-table .rating-box .rating {
        display: none; }
    /* line 392, scss/module/_review.scss */
    #customer-reviews .review-summary-table .rating-box .rating-number {
        display: inline-block; } }

@media only screen and (max-width: 450px) {
    /* line 404, scss/module/_review.scss */
    #customer-reviews dl dd .ratings-table tr {
        float: none; } }

/* ============================================ *
 * Review View Page
 * ============================================ */
/* line 415, scss/module/_review.scss */
.review-product-view .product-review .product-details h2 {
    border-bottom: none; }

/* line 420, scss/module/_review.scss */
.review-product-view .product-review .product-img-box {
    width: auto;
    max-width: 50%; }
/* line 424, scss/module/_review.scss */
.review-product-view .product-review .product-img-box > a {
    width: 100%; }
/* line 428, scss/module/_review.scss */
.review-product-view .product-review .product-img-box .product-image {
    width: 100%; }

@media only screen and (max-width: 770px) {
    /* line 438, scss/module/_review.scss */
    .review-product-view .product-review .product-img-box {
        max-width: 100%; } }

/* ============================================ *
 * Slideshow
 * ============================================ */
/* line 30, scss/module/_slideshow.scss */
.slideshow-container {
    position: relative;
    display: block;
    width: 100%;
    margin: 10px 0;
    border: 1px solid #EDEDED; }
/* line 37, scss/module/_slideshow.scss */
.slideshow-container .slideshow {
    width: 100%;
    padding: 0;
    position: relative;
    margin: 0;
    border: 10px solid #FFFFFF; }
/* line 43, scss/module/_slideshow.scss */
.slideshow-container .slideshow > li {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
    display: block;
    margin: 0; }
/* line 53, scss/module/_slideshow.scss */
.slideshow-container .slideshow > li:first-child {
    position: static;
    z-index: 100; }
/* line 58, scss/module/_slideshow.scss */
.slideshow-container .slideshow > li img {
    max-width: 100%;
    width: 100%; }

/* line 66, scss/module/_slideshow.scss */
.slideshow-pager {
    text-align: center;
    width: 100%;
    z-index: 115;
    position: absolute;
    bottom: 0px;
    top: auto;
    overflow: hidden;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none; }
/* line 76, scss/module/_slideshow.scss */
.slideshow-pager span {
    font-family: arial;
    width: 44px;
    height: 44px;
    display: inline-block;
    color: #DDDDDD;
    cursor: pointer; }
/* line 85, scss/module/_slideshow.scss */
.slideshow-pager span:before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    left: 50%;
    top: 50%;
    margin-left: -8px;
    margin-top: -8px;
    border-radius: 1px;
    background-color: #FFFFFF;
    position: relative; }
/* line 99, scss/module/_slideshow.scss */
.slideshow-pager span:hover:before {
    background-color: #2e8ab8; }
/* line 103, scss/module/_slideshow.scss */
.slideshow-pager span.cycle-pager-active:before {
    background-color: #297aa3; }
/* line 108, scss/module/_slideshow.scss */
.slideshow-pager > * {
    cursor: pointer; }

/* line 113, scss/module/_slideshow.scss */
.slideshow-prev,
.slideshow-next {
    position: absolute;
    top: 0;
    width: 15%;
    max-width: 80px;
    height: 100%;
    opacity: 0.6;
    z-index: 110;
    cursor: pointer;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none; }
/* line 125, scss/module/_slideshow.scss */
.slideshow-prev:before,
.slideshow-next:before {
    content: '';
    width: 0;
    height: 0;
    font-size: 0;
    position: absolute;
    border-style: solid;
    display: block;
    top: 50%;
    margin-top: -15px; }
/* line 137, scss/module/_slideshow.scss */
.slideshow-prev:hover,
.slideshow-next:hover {
    opacity: 1; }
/* line 141, scss/module/_slideshow.scss */
.slideshow-prev.disabled,
.slideshow-next.disabled {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
    opacity: 0.5;
    cursor: default; }

/* line 147, scss/module/_slideshow.scss */
.slideshow-prev {
    left: 8px; }
/* line 150, scss/module/_slideshow.scss */
.slideshow-prev:before {
    border-width: 15px 15px 15px 0;
    border-color: transparent #FFFFFF transparent transparent;
    top: 50%;
    left: 10px; }
/* line 157, scss/module/_slideshow.scss */
.slideshow-prev:hover:before {
    border-color: transparent #2e8ab8 transparent transparent; }

/* line 162, scss/module/_slideshow.scss */
.slideshow-next {
    right: 8px; }
/* line 165, scss/module/_slideshow.scss */
.slideshow-next:before {
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #FFFFFF;
    top: 50%;
    right: 10px; }
/* line 172, scss/module/_slideshow.scss */
.slideshow-next:hover:before {
    border-color: transparent transparent transparent #2e8ab8; }

/* line 177, scss/module/_slideshow.scss */
.cycle-caption {
    position: absolute;
    color: white;
    bottom: 15px;
    right: 15px;
    z-index: 110; }

/* line 185, scss/module/_slideshow.scss */
.cycle-overlay {
    font-family: tahoma, arial;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 120;
    background: black;
    color: white;
    padding: 15px;
    opacity: .5; }

/* ============================================ *
 * Wishlist
 * ============================================ */
/* line 31, scss/module/_wishlist.scss */
#wishlist-table th {
    text-align: center; }

/* line 35, scss/module/_wishlist.scss */
#wishlist-table.clean-table {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    width: 100%; }
/* line 41, scss/module/_wishlist.scss */
#wishlist-table.clean-table th {
    border-bottom: 1px solid #707070; }
/* line 45, scss/module/_wishlist.scss */
#wishlist-table.clean-table td {
    padding: 15px;
    vertical-align: top; }
/* line 50, scss/module/_wishlist.scss */
#wishlist-table.clean-table thead th {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    text-transform: uppercase; }

/* line 57, scss/module/_wishlist.scss */
#wishlist-table .product-name {
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 0;
    text-transform: uppercase; }
/* line 63, scss/module/_wishlist.scss */
#wishlist-table .product-name a {
    color: #000000; }

/* line 68, scss/module/_wishlist.scss */
#wishlist-table .wishlist-sku {
    font-size: 11px;
    font-family: "Montserrat", sans-serif;
    margin: 5px 0; }

/* line 74, scss/module/_wishlist.scss */
#wishlist-table textarea {
    border: 1px solid #C0C0C0;
    width: 100%;
    height: 45px;
    font-size: 11px;
    font-family: "Montserrat", sans-serif; }
/* line 81, scss/module/_wishlist.scss */
#wishlist-table textarea::-webkit-input-placeholder {
    text-transform: uppercase; }
/* line 84, scss/module/_wishlist.scss */
#wishlist-table textarea:-moz-placeholder {
    text-transform: uppercase; }
/* line 87, scss/module/_wishlist.scss */
#wishlist-table textarea::-moz-placeholder {
    text-transform: uppercase; }
/* line 90, scss/module/_wishlist.scss */
#wishlist-table textarea:-ms-input-placeholder {
    text-transform: uppercase; }
/* line 94, scss/module/_wishlist.scss */
#wishlist-table textarea:focus {
    border: 1px solid #000000; }

/* line 99, scss/module/_wishlist.scss */
#wishlist-table .item-manage {
    text-align: right;
    max-width: 450px;
    padding-top: 5px; }
/* line 104, scss/module/_wishlist.scss */
#wishlist-table .item-manage .button {
    font-size: 11px;
    padding: 3px 5px; }

/* line 110, scss/module/_wishlist.scss */
#wishlist-table .cart-cell {
    text-align: center; }

/* line 115, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-image {
    width: 113px; }

/* line 119, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-quantity {
    width: 3em; }

/* line 123, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-price {
    width: 120px;
    text-align: center; }

/* line 128, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-cart {
    width: 150px; }
/* line 131, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-cart .button {
    font-size: 12px;
    margin-bottom: 10px;
    padding: 3px 5px;
    width: 100%; }
/* line 138, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-cart .truncated {
    margin-bottom: 10px; }
/* line 142, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-cart > p {
    margin-bottom: 0; }
/* line 146, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
    text-align: center; }
/* line 150, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-cart .btn-remove {
    vertical-align: top; }

/* line 155, scss/module/_wishlist.scss */
#wishlist-table td.customer-wishlist-item-remove {
    width: 20px; }

/* line 159, scss/module/_wishlist.scss */
#wishlist-table td .button,
#wishlist-table td button {
    white-space: normal; }

/* line 166, scss/module/_wishlist.scss */
#wishlist-table .price-box {
    font-family: "Montserrat", sans-serif;
    font-size: 12px; }
/* line 170, scss/module/_wishlist.scss */
#wishlist-table .price-box .price {
    color: #000000; }

/* line 175, scss/module/_wishlist.scss */
#wishlist-table .giftregisty-add {
    margin-top: 5px; }
/* line 178, scss/module/_wishlist.scss */
#wishlist-table .giftregisty-add .change {
    display: none; }
/* line 182, scss/module/_wishlist.scss */
#wishlist-table .giftregisty-add li {
    cursor: pointer;
    color: #000000;
    margin-bottom: 3px; }

/* line 190, scss/module/_wishlist.scss */
#wishlist-table .truncated .details {
    background: none;
    color: #000000; }

/* line 196, scss/module/_wishlist.scss */
#wishlist-table td[data-rwd-label]:before {
    font-weight: 600; }

@media only screen and (max-width: 1199px) {
    /* line 206, scss/module/_wishlist.scss */
    #wishlist-table.clean-table td {
        padding-left: 10px;
        padding-right: 10px; } }

@media only screen and (max-width: 979px) {
    /* line 218, scss/module/_wishlist.scss */
    #wishlist-table.clean-table td {
        padding-left: 5px;
        padding-right: 5px; }
    /* line 222, scss/module/_wishlist.scss */
    #wishlist-table.clean-table td textarea {
        height: 100px; }
    /* line 226, scss/module/_wishlist.scss */
    #wishlist-table.clean-table td.customer-wishlist-item-cart {
        width: 110px; }
    /* line 231, scss/module/_wishlist.scss */
    #wishlist-table .product-name {
        font-size: 13px; } }

@media only screen and (max-width: 770px) {
    /* line 241, scss/module/_wishlist.scss */
    #wishlist-table:after {
        content: '';
        display: table;
        clear: both; }
    /* line 245, scss/module/_wishlist.scss */
    #wishlist-table .product-name {
        font-size: 16px; }
    /* line 249, scss/module/_wishlist.scss */
    #wishlist-table textarea {
        height: 68px;
        max-width: 100%; }
    /* line 254, scss/module/_wishlist.scss */
    #wishlist-table .item-manage {
        max-width: 100%; }
    /* line 258, scss/module/_wishlist.scss */
    #wishlist-table tr {
        position: relative; }
    /* line 261, scss/module/_wishlist.scss */
    #wishlist-table tr:after {
        content: '';
        display: table;
        clear: both; }
    /* line 266, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image {
        width: 70px; }
    /* line 269, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image img {
        width: 70px;
        height: 70px; }
    /* line 276, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-cart p {
        margin-bottom: 0; }
    /* line 280, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-cart .remove-whishlist-item {
        margin-right: 0;
        padding-top: 4px; }
    /* line 286, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-cart {
        padding-right: 15px; } }

@media only screen and (max-width: 599px) {
    /* line 296, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-quantity {
        padding-left: 0; }
    /* line 300, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image,
    #wishlist-table th.customer-wishlist-item-image {
        display: none; } }

@media only screen and (max-width: 479px) {
    /* line 311, scss/module/_wishlist.scss */
    #wishlist-table tr {
        position: relative; }
    /* line 315, scss/module/_wishlist.scss */
    #wishlist-table th.customer-wishlist-item-image {
        display: block; }
    /* line 320, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image, #wishlist-table td.customer-wishlist-item-info, #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price, #wishlist-table td.customer-wishlist-item-cart {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        empty-cells: hide; }
    /* line 331, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image {
        display: block;
        overflow: hidden; }
    /* line 335, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image a {
        float: left; }
    /* line 338, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-image a img {
        width: 113px;
        height: 113px; }
    /* line 345, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-quantity, #wishlist-table td.customer-wishlist-item-price {
        text-align: left; }
    /* line 349, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-quantity:before, #wishlist-table td.customer-wishlist-item-price:before {
        float: left;
        margin-right: 15px; }
    /* line 354, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-quantity .cart-cell, #wishlist-table td.customer-wishlist-item-price .cart-cell {
        text-align: left; }
    /* line 358, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-quantity .price-box, #wishlist-table td.customer-wishlist-item-price .price-box {
        margin-top: 0; }
    /* line 364, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-cart .cart-cell {
        float: left;
        width: 48%; }
    /* line 369, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-cart > p {
        float: right;
        width: 48%; }
    /* line 375, scss/module/_wishlist.scss */
    #wishlist-table td.customer-wishlist-item-remove {
        position: absolute;
        top: 15px;
        right: 0px;
        display: block;
        padding: 0px;
        height: 20px; }
    /* line 386, scss/module/_wishlist.scss */
    #wishlist-table.clean-table td.customer-wishlist-item-cart {
        width: 100%; } }

/* ============================================ *
 * Wishlist Sidebar
 * ============================================ */
/* line 399, scss/module/_wishlist.scss */
.block-wishlist .mini-products-list > li:not(:last-child) {
    padding-bottom: 5px; }

/* line 403, scss/module/_wishlist.scss */
.block-wishlist .product-details .product-name {
    padding-top: 0;
    margin-bottom: 5px; }

/* line 408, scss/module/_wishlist.scss */
.block-wishlist .price-box {
    float: left;
    margin: 0; }

/* line 413, scss/module/_wishlist.scss */
.block-wishlist .price-box,
.block-wishlist .price-box .price,
.block-wishlist .link-cart {
    font-size: 12px; }

/* line 419, scss/module/_wishlist.scss */
.block-wishlist .link-cart {
    float: left;
    text-transform: uppercase;
    margin-right: 7px;
    padding-right: 7px;
    border-right: 1px solid #EDEDED; }

/* ============================================ *
 * Checkout - Mini cart
 * ============================================ */
/* line 30, scss/module/_checkout-cart-minicart.scss */
.header-minicart {
    float:right; }
@media only screen and (max-width: 770px) {
    /* line 30, scss/module/_checkout-cart-minicart.scss */
    .header-minicart {
        display: block; } }
/* line 37, scss/module/_checkout-cart-minicart.scss */
.header-minicart a.skip-link {
    margin-right: 0px; }
/* line 41, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-message {
    display: block;
    padding: 10px; }
/* line 46, scss/module/_checkout-cart-minicart.scss */
.header-minicart .empty {
    padding: 10px;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    text-transform: uppercase; }
/* line 54, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-wrapper {
    clear: both;
    position: relative; }
/* line 27, scss/mixin/_loading-overlay.scss */
.header-minicart .minicart-wrapper:before, .header-minicart .minicart-wrapper:after {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none; }
/* line 38, scss/mixin/_loading-overlay.scss */
.header-minicart .minicart-wrapper:before {
    background-color: white;
    opacity: 0.8;
    z-index: 2; }
/* line 44, scss/mixin/_loading-overlay.scss */
.header-minicart .minicart-wrapper:after {
    background-image: url("../images/opc-ajax-loader.gif");
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3; }
/* line 51, scss/mixin/_loading-overlay.scss */
.header-minicart .minicart-wrapper.loading {
    position: relative; }
/* line 54, scss/mixin/_loading-overlay.scss */
.header-minicart .minicart-wrapper.loading:before, .header-minicart .minicart-wrapper.loading:after {
    display: block; }
/* line 58, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-wrapper .mini-products-list-container {
    height: calc(100vh - 219px); }
/* line 60, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-wrapper .mini-products-list-container .mini-products-list {
    height: 100%;
    overflow-y: auto;
    padding-top: 20px;
    padding-bottom: 68px; }
/* line 69, scss/module/_checkout-cart-minicart.scss */
.header-minicart .block-cart {
    display: none; }
/* line 72, scss/module/_checkout-cart-minicart.scss */
.header-minicart .block-subtitle {
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    padding: 30px 0;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 0px;
    font-weight: 300; }
/* line 83, scss/module/_checkout-cart-minicart.scss */
.header-minicart .block-subtitle .close {
    width: 40px;
    float: right;
    display: block;
    color: #000000;
    text-decoration: none;
    font-weight: normal;
    font-size: 30px;
    position: absolute;
    top: -8px;
    right: -3px; }
/* line 96, scss/module/_checkout-cart-minicart.scss */
.header-minicart .mini-products-list {
    padding-top: 0px;
    border-top: 1px solid #0a0a0a; }
/* line 101, scss/module/_checkout-cart-minicart.scss */
.header-minicart .mini-products-list li {
    padding: 8px 30px 8px 30px;
    border-bottom: 1px solid #0a0a0a;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 109, scss/module/_checkout-cart-minicart.scss */
.header-minicart .mini-products-list li .product-image {
    border: none;
    padding-right: 20px; }
/* line 112, scss/module/_checkout-cart-minicart.scss */
.header-minicart .mini-products-list li .product-image img {
    margin: auto;
    min-width: 50px;
    max-width: 129px;
    max-height: 226px; }
/* line 124, scss/module/_checkout-cart-minicart.scss */
.header-minicart .mini-products-list li .product-details {
    position: relative; }
/* line 127, scss/module/_checkout-cart-minicart.scss */
.header-minicart .mini-products-list li.last {
    border: none; }
/* line 133, scss/module/_checkout-cart-minicart.scss */
.header-minicart .product-details {
    margin-top: 50px; 
    text-align:left;}
/* line 135, scss/module/_checkout-cart-minicart.scss */
.header-minicart .product-details .product-name {
    padding-top: 0px;
    font-family: "Montserrat", serif;
    font-size: 19px;
    text-transform: none; }
/* line 140, scss/module/_checkout-cart-minicart.scss */
.header-minicart .product-details .product-name a {
    color: #000000; }
/* line 146, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-product-options {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000;
    text-transform: uppercase; }
/* line 152, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper {
    margin-bottom: 0.5em;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000; }
/* line 158, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper th {
    text-transform: uppercase;
    padding-right: 10px; }
/* line 162, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper td {
    color: #000000;
    clear: right; }
/* line 168, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper .qty-wrapper td {
    height: 33px;
    line-height: 33px; }
/* line 174, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper .qty {
    margin-right: 2px;
    height: 30px;
    border: none;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000;
    background: transparent; }
/* line 188, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper .quantity-button {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 100ms; }
/* line 194, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper .quantity-button[disabled] {
    cursor: default; }
/* line 198, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-wrapper .quantity-button.visible {
    opacity: 1; }
/* line 204, scss/module/_checkout-cart-minicart.scss */
.header-minicart .last-line {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px; }
/* line 210, scss/module/_checkout-cart-minicart.scss */
.header-minicart .last-line .remove {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000;
    text-transform: uppercase;
    opacity: 0.5; }
/* line 217, scss/module/_checkout-cart-minicart.scss */
.header-minicart .last-line .price {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000; }
/* line 223, scss/module/_checkout-cart-minicart.scss */
.header-minicart .count-items {
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #000000;
    text-transform: uppercase;
    padding-left: 30px;
    padding-bottom: 10px;
    padding-top: 10px; }
/* line 233, scss/module/_checkout-cart-minicart.scss */
.header-minicart .subtotal {
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    color: #000000;
    text-transform: uppercase;
    padding: 0px 30px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
/* line 245, scss/module/_checkout-cart-minicart.scss */
.header-minicart .subtotal .price {
    font-family: "Montserrat", sans-serif;
    font-size: 13px; }
/* line 250, scss/module/_checkout-cart-minicart.scss */
.header-minicart .info-iva {
    padding: 10px 30px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    text-align:left;}
/* line 256, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-actions {
    padding: 10px 30px;
    margin-top: 0px;
    overflow: hidden;
    position: relative;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
/* line 266, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-actions .checkout-button {
    min-width: 190px;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    background-color: #fefefe;
    border: 1px solid #0a0a0a;
    padding: 5px 15px;
    padding: 10px 15px;
    color: #fefefe;
    background: #0a0a0a; }
/* line 52, scss/mixin/_custom.scss */
.header-minicart .minicart-actions .checkout-button:hover {
    background-color: #000000;
    color: #fefefe; }
/* line 272, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-actions .checkout-button:hover {
    color: #000000;
    background: #fefefe; }
/* line 278, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-actions .cart-link {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    border: 1px solid #0a0a0a;
    padding: 5px 15px;
    text-decoration: underline;
    width: 140px;
    background-color: transparent;
    text-transform: uppercase;
    min-width: 190px;
    line-height: 30px; }
/* line 286, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-actions .paypal-logo .paypal-or {
    line-height: 1.6; }
/* line 290, scss/module/_checkout-cart-minicart.scss */
.header-minicart .minicart-actions .checkout-types li:first-child {
    margin-bottom: 0px; }
/* line 295, scss/module/_checkout-cart-minicart.scss */
.header-minicart #minicart-error-message {
    text-align: center;
    color: red;
    display: none; }
/* line 301, scss/module/_checkout-cart-minicart.scss */
.header-minicart #minicart-success-message {
    text-align: center;
    color: green;
    display: none; }
/* line 308, scss/module/_checkout-cart-minicart.scss */
.header-minicart .jcarousel-control-prev,
.header-minicart .jcarousel-control-next {
    display: none; }

/* line 314, scss/module/_checkout-cart-minicart.scss */
.header-minicart.skip-active .block-cart,
.block-cart.skip-active {
    display: block; }

@media only screen and (min-width: 771px) {
    /* line 320, scss/module/_checkout-cart-minicart.scss */
    .checkout-types.minicart {
        float: none;
        text-align: center;
        width: 100%; } }

@media only screen and (max-width: 479px) {
    /* line 328, scss/module/_checkout-cart-minicart.scss */
    .header-minicart a.skip-cart {
        z-index: 1; } }

@media only screen and (max-width: 979px) {
    /* line 334, scss/module/_checkout-cart-minicart.scss */
    .header-minicart {
        position: absolute;
        right: 15px;
        top: 18px;
        z-index:10;
    }
    /* line 342, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-wrapper:before {
        background-color: #EDEDED; }
    /* line 347, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .quantity-button {
        float: none; }
    /* line 351, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .header-minicart .block-cart {
        padding: 15px; }
    /* line 355, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .header-minicart .block-subtitle {
        padding-top: 59px; }
    /* line 359, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions {
        padding-bottom: 33px; }
    /* line 362, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .cart-link {
        bottom: 0;
        right: 10px;
        position: absolute; }
    /* line 369, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-types.minicart li {
        display: inline-block;
        margin-bottom: 10px;
        margin-top: 20px; }
    /* line 375, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo > a {
        display: inline; }
    /* line 379, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .bml_button {
        display: inline-block;
        vertical-align: top; }
    /* line 384, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
        width: auto;
        float: none;
        display: inline;
        margin: 0 10px 5px 10px;
        line-height: 40px; } }

@media only screen and (max-width: 740px) {
    /* line 401, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .cart-link {
        right: auto;
        left: 0;
        text-align: center;
        width: 100%; }
    /* line 411, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or,
    .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-button {
        width: 100%;
        display: block;
        margin-left: 0; }
    /* line 418, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-types.minicart li .paypal-logo .paypal-or {
        line-height: 1.6; } }

@media only screen and (max-width: 599px) {
    /* line 431, scss/module/_checkout-cart-minicart.scss */
    .header-minicart .minicart-actions .checkout-button {
        width: 100%; } }

/* ============================================ *
 * Search - Auto Suggest
 * ============================================ */
/* line 30, scss/module/_search.scss */
.search-autocomplete {
    left: 0 !important;
    overflow: visible !important;
    position: relative !important;
    top: 15px !important;
    width: 100% !important;
    z-index: 200; }
/* line 38, scss/module/_search.scss */
.search-autocomplete ul {
    border-radius: 2px;
    background-color: #FFFFFF;
    border: 1px solid #000000;
    left: 0;
    padding-left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
/* line 48, scss/module/_search.scss */
.search-autocomplete ul li {
    border-bottom: 1px solid #F4F4F4;
    color: #000000;
    cursor: pointer;
    font-size: 12px;
    padding: 4px 6px;
    text-align: left; }
/* line 56, scss/module/_search.scss */
.search-autocomplete ul li:hover {
    color: #2e8ab8; }
/* line 60, scss/module/_search.scss */
.search-autocomplete ul li.selected {
    background-color: #000000;
    color: white; }
/* line 65, scss/module/_search.scss */
.search-autocomplete ul li .amount {
    float: right;
    font-weight: bold; }
/* line 70, scss/module/_search.scss */
.search-autocomplete ul li:last-child {
    border-bottom: none; }
/* line 76, scss/module/_search.scss */
.search-autocomplete:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #000000;
    border-top: none;
    left: 50%;
    top: -7px; }

/* ============================================ *
 * Search - Advanced
 * ============================================ */
/* line 87, scss/module/_search.scss */
.advanced-search {
    background: #F4F4F4;
    border: 1px solid #EDEDED;
    padding: 30px; }
/* line 93, scss/module/_search.scss */
.advanced-search select.multiselect option {
    border-bottom: 1px solid #EDEDED;
    padding: 2px 5px; }

@media only screen and (max-width: 479px) {
    /* line 101, scss/module/_search.scss */
    .advanced-search {
        padding: 15px; } }

/* ============================================ *
 * Account - Reviews
 * ============================================ */
/* line 32, scss/module/_account-reviews.scss */
.product-review .product-img-box p.label {
    border-bottom: 1px solid #CCCCCC;
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
    margin-top: 20px;
    padding-bottom: 10px;
    text-transform: uppercase; }

/* line 41, scss/module/_account-reviews.scss */
.product-review .product-img-box .rating-box {
    margin: 15px 0; }

/* line 47, scss/module/_account-reviews.scss */
.product-review .product-details h2 {
    border-bottom: 1px solid #CCCCCC;
    color: #000000;
    font-size: 16px;
    font-weight: 600;
    font-family: "Montserrat", sans-serif;
    padding-bottom: 10px; }

/* line 57, scss/module/_account-reviews.scss */
.product-review .ratings-table {
    font-family: "Montserrat", sans-serif; }
/* line 60, scss/module/_account-reviews.scss */
.product-review .ratings-table th {
    padding-right: 10px; }
/* line 64, scss/module/_account-reviews.scss */
.product-review .ratings-table tr {
    float: left;
    font-size: 12px;
    margin-right: 10px;
    text-transform: uppercase; }

/* line 73, scss/module/_account-reviews.scss */
.product-review .ratings-description dt {
    border-bottom: 1px solid #CCCCCC;
    font-size: 16px;
    font-weight: 400;
    font-family: "Montserrat", sans-serif;
    margin-top: 20px;
    padding: 10px 0;
    text-transform: uppercase; }

/* line 83, scss/module/_account-reviews.scss */
.product-review .ratings-description dd {
    color: #737373;
    font-family: "Montserrat", sans-serif;
    font-size: 13px; }

@media only screen and (min-width: 771px) {
    /* line 96, scss/module/_account-reviews.scss */
    .product-review .ratings-table tr {
        float: none; } }

@media only screen and (min-width: 1126px) {
    /* line 108, scss/module/_account-reviews.scss */
    .product-review .ratings-table tr {
        float: left;
        margin-right: 15px; } }

@media only screen and (max-width: 320px) {
    /* line 121, scss/module/_account-reviews.scss */
    .product-review .ratings-table tr {
        float: none; } }

/* ============================================ *
 * CMS Pages
 * ============================================ */
/* line 37, scss/module/_cms.scss */
.cms-page-view .page-title h1,
.cms-page-view .page-title h3,
.cms-page-view .page-head h1,
.cms-page-view .page-head h3,
.cms-no-route .page-title h1,
.cms-no-route .page-title h3,
.cms-no-route .page-head h1,
.cms-no-route .page-head h3 {
    border: none; }

/* line 45, scss/module/_cms.scss */
.cms-page-view .std img,
.cms-no-route .std img {
    max-width: 100%; }

/* line 49, scss/module/_cms.scss */
.cms-page-view .std p,
.cms-no-route .std p {
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 14px;
    line-height: 22px; }

/* line 56, scss/module/_cms.scss */
.cms-page-view .std h1,
.cms-no-route .std h1 {
    color: #000000; }

/* line 60, scss/module/_cms.scss */
.cms-page-view .std h2,
.cms-no-route .std h2 {
    color: #000000; }

/* line 64, scss/module/_cms.scss */
.cms-page-view .std li,
.cms-no-route .std li {
    color: #000000;
    font-family: "Montserrat", serif;
    font-size: 14px;
    line-height: 24px; }

/* line 73, scss/module/_cms.scss */
.cms-page-view .col-left:after,
.cms-no-route .col-left:after {
    content: '';
    display: table;
    clear: both; }

/* line 82, scss/module/_cms.scss */
.cms-no-route .std img {
    width: 100%; }

/* line 91, scss/module/_cms.scss */
.cms-page-view .std .messages,
.cms-home .std .messages,
.cms-no-route .std .messages {
    margin-bottom: 10px; }
/* line 94, scss/module/_cms.scss */
.cms-page-view .std .messages ul,
.cms-home .std .messages ul,
.cms-no-route .std .messages ul {
    margin-bottom: 0; }
/* line 98, scss/module/_cms.scss */
.cms-page-view .std .messages li,
.cms-home .std .messages li,
.cms-no-route .std .messages li {
    list-style: none;
    margin-left: 0;
    font-style: normal;
    font-family: "Montserrat", sans-serif; }

/* line 123, scss/mixin/_toggle-content.scss */
#accordion .toggle-tabs {
    display: none; }

/* line 128, scss/mixin/_toggle-content.scss */
#accordion > dl > dt {
    margin: 0;
    margin-bottom: 10px;
    color: #000000;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    line-height: 1.4;
    text-rendering: optimizeSpeed;
    text-transform: uppercase;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
    font-weight: normal;
    margin-bottom: 0px;
    padding: 7px 10px 7px 24px;
    border-width: 1px;
    border-style: solid;
    border-color: #CCCCCC;
    position: relative;
    background-color: #F4F4F4;
    display: block; }
/* line 110, scss/mixin/_toggle-content.scss */
#accordion > dl > dt:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    display: block;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 4px solid #000000;
    border-bottom: none;
    left: 10px;
    top: 50%;
    margin-top: -3px; }
/* line 117, scss/mixin/_toggle-content.scss */
#accordion > dl > dt:hover {
    background-color: #ededed; }

/* line 133, scss/mixin/_toggle-content.scss */
#accordion > dl > dd {
    padding: 10px;
    margin: 0;
    border-width: 0 1px;
    border-style: solid;
    border-color: #CCCCCC; }

/* line 140, scss/mixin/_toggle-content.scss */
#accordion > dl > dd:last-child {
    border-width: 0 1px 1px 1px; }

/* line 113, scss/module/_cms.scss */
#accordion li {
    position: relative;
    overflow: hidden; }
/* line 117, scss/module/_cms.scss */
#accordion li .plusimage h2 {
    margin-right: 10px; }

/* line 127, scss/module/_cms.scss */
.page-sitemap .links {
    display: block;
    text-align: right;
    margin: 0 20px 0 0; }
/* line 132, scss/module/_cms.scss */
.page-sitemap .links a {
    position: relative; }

/* line 135, scss/module/_cms.scss */
.page-sitemap .sitemap {
    padding: 0 20px;
    margin: 15px 0;
    font-size: 12px; }
/* line 140, scss/module/_cms.scss */
.page-sitemap .sitemap li {
    margin: 3px 0; }

/* line 150, scss/module/_cms.scss */
.contacts-index-index h1 {
    border: none; }

/* line 155, scss/module/_cms.scss */
#contactForm {
    padding-left: 40px; }
/* line 158, scss/module/_cms.scss */
#contactForm h2 {
    display: none; }
/* line 162, scss/module/_cms.scss */
#contactForm:after {
    content: '';
    display: table;
    clear: both; }
/* line 166, scss/module/_cms.scss */
#contactForm .fieldset .legend + .required {
    margin: 0; }

@media only screen and (max-width: 770px) {
    /* line 173, scss/module/_cms.scss */
    #contactForm {
        padding-left: 0; } }

/* ============================================ *
 * Pricing Conditions
 * ============================================ */
/* line 32, scss/module/_pricing_conditions.scss */
.price-box .minimal-price-link .label {
    color: #CF5050;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    text-transform: uppercase; }

/* line 41, scss/module/_pricing_conditions.scss */
.map-info {
    white-space: nowrap; }

/* line 46, scss/module/_pricing_conditions.scss */
.catalog-product-view .map-info {
    white-space: normal; }
/* line 48, scss/module/_pricing_conditions.scss */
.catalog-product-view .map-info > span {
    float: right;
    margin-bottom: 5px; }
/* line 52, scss/module/_pricing_conditions.scss */
.catalog-product-view .map-info .price-box.map-info > a {
    float: right;
    width: 100%; }

/* ============================================ *
 * Cookies
 * ============================================ */
/* line 31, scss/module/_cookies.scss */
.notice-cookie .notice-inner {
    padding-bottom: 0; }
/* line 34, scss/module/_cookies.scss */
.notice-cookie .notice-inner:after {
    content: '';
    display: table;
    clear: both; }

/* line 39, scss/module/_cookies.scss */
.notice-cookie .notice-text {
    float: left;
    max-width: 90%;
    padding-top: 4px;
    text-align: left; }
/* line 45, scss/module/_cookies.scss */
.notice-cookie .notice-text p {
    padding-bottom: 14.5px;
    line-height: 1.3; }

/* line 51, scss/module/_cookies.scss */
.notice-cookie .actions {
    float: left;
    text-align: right;
    padding-bottom: 14.5px; }

@media only screen and (max-width: 979px) {
    /* line 62, scss/module/_cookies.scss */
    .notice-cookie .notice-text {
        max-width: 86%; } }

@media only screen and (max-width: 770px) {
    /* line 72, scss/module/_cookies.scss */
    .notice-cookie {
        padding: 0 20px; }
    /* line 75, scss/module/_cookies.scss */
    .notice-cookie .notice-text {
        max-width: 82%;
        padding-top: 0; } }

@media only screen and (max-width: 620px) {
    /* line 86, scss/module/_cookies.scss */
    .notice-cookie {
        padding: 0 20px; }
    /* line 89, scss/module/_cookies.scss */
    .notice-cookie .notice-inner {
        background-position: left 10px; }
    /* line 92, scss/module/_cookies.scss */
    .notice-cookie .notice-inner:after {
        content: '';
        display: table;
        clear: both; }
    /* line 97, scss/module/_cookies.scss */
    .notice-cookie .notice-text {
        float: none;
        max-width: 100%;
        padding-top: 0; }
    /* line 103, scss/module/_cookies.scss */
    .notice-cookie .actions {
        text-align: left; } }

/* ============================================ *
 * Tags
 * ============================================ */
/* line 30, scss/module/_tags.scss */
#addTagForm button {
    margin-top: 5px;
    margin-bottom: 10px; }

/* line 34, scss/module/_tags.scss */
#addTagForm .form-add {
    margin-top: 10px; }

/* line 37, scss/module/_tags.scss */
.product-tags {
    background-color: #F4F4F4;
    border: 1px solid #CCCCCC;
    float: left;
    margin-bottom: 10px;
    padding: 5px 1% 10px;
    width: 98%; }

/* line 45, scss/module/_tags.scss */
.product-tags li {
    float: left;
    margin-right: 15px; }

/* line 49, scss/module/_tags.scss */
.product-tags li.last {
    margin-right: 0px; }

/* line 52, scss/module/_tags.scss */
.tags-list {
    float: left;
    width: 100%;
    margin-bottom: 10px; }

/* line 57, scss/module/_tags.scss */
.tags-list > li {
    float: left;
    margin-right: 10px; }

/* line 61, scss/module/_tags.scss */
.block-tags .actions > a {
    font-size: 12px; }

/* line 65, scss/module/_tags.scss */
.my-tag-edit .button.btn-remove {
    padding: 0; }
/* line 68, scss/module/_tags.scss */
.my-tag-edit .button.btn-remove:after {
    color: white; }

@media only screen and (max-width: 770px) {
    /* line 74, scss/module/_tags.scss */
    .tags-list > li,
    .tags-list {
        float: none; } }

/* ============================================ *
 * Captcha
 * ============================================ */
/* line 29, scss/module/_captcha.scss */
.captcha-note {
    clear: left;
    padding-top: 5px; }

/* line 33, scss/module/_captcha.scss */
.captcha-image {
    float: left;
    display: inline;
    max-width: 100%;
    position: relative;
    width: 258px;
    margin-bottom: 10px; }

/* line 41, scss/module/_captcha.scss */
.captcha-image .captcha-img {
    border: 1px solid #b6b6b6;
    vertical-align: bottom;
    width: 100%; }

/* line 46, scss/module/_captcha.scss */
.registered-users .captcha-image {
    margin: 0; }

/* line 47, scss/module/_captcha.scss */
.captcha-reload {
    cursor: pointer;
    position: absolute;
    top: 2px;
    right: 2px; }

/* line 53, scss/module/_captcha.scss */
.captcha-reload.refreshing {
    animation: rotate 1.5s infinite linear;
    -webkit-animation: rotate 1.5s infinite linear;
    -moz-animation: rotate 1.5s infinite linear; }

/* line 58, scss/module/_captcha.scss */
.customer-account-create .scaffold-form .captcha-input-container label:first-child {
    width: 100%; }

/* line 59, scss/module/_captcha.scss */
.captcha-reload {
    position: absolute;
    right: 4px;
    top: 4px; }

/* line 64, scss/module/_captcha.scss */
.captcha-img {
    border: 20px solid #bbb; }

/* line 65, scss/module/_captcha.scss */
.captcha-input-container {
    margin-bottom: 10px; }

/* line 66, scss/module/_captcha.scss */
.control.newsletter-box, .captcha-input-container, .captcha-img-container {
    float: none;
    clear: both; }
/* line 70, scss/module/_captcha.scss */
.control.newsletter-box:after, .captcha-input-container:after, .captcha-img-container:after {
    content: '';
    content: '';
    display: table;
    clear: both; }

/* ============================================ *
 * Checkout Billing Fix to place the Captcha properly
 * ============================================ */
/* line 78, scss/module/_captcha.scss */
#co-billing-form ul.form-list > .control {
    float: left;
    margin: 0 0 5px;
    width: 100%; }

/* ============================================ *
 * Account - Orders, Invoices, Credit Memos.
 * ============================================ */
@media only screen and (max-width: 479px) {
    /* line 34, scss/module/_account-orders.scss */
    .sales-order-invoice .sub-title,
    .sales-order-creditmemo .sub-title,
    .sales-order-shipment .sub-title {
        float: left;
        font-size: 15px;
        text-align: center;
        width: 100%; }
    /* line 40, scss/module/_account-orders.scss */
    .sales-order-invoice .order-links,
    .sales-order-creditmemo .order-links,
    .sales-order-shipment .order-links {
        text-align: center;
        width: 100%; } }

/* ============================================ *
 * Recurring Profiles
 * ============================================ */
/* line 32, scss/module/_recurring-profiles.scss */
#recurring_profile_list_view th {
    white-space: normal; }
/* line 35, scss/module/_recurring-profiles.scss */
#recurring_profile_list_view th span {
    white-space: inherit; }

@media only screen and (max-width: 479px) {
    /* line 30, scss/module/_recurring-profiles.scss */
    #recurring_profile_list_view {
        font-size: 12px; }
    /* line 43, scss/module/_recurring-profiles.scss */
    #recurring_profile_list_view a {
        font-size: inherit; }
    /* line 47, scss/module/_recurring-profiles.scss */
    #recurring_profile_list_view th,
    #recurring_profile_list_view td {
        padding: 2px; } }

/* line 55, scss/module/_recurring-profiles.scss */
.recurring-profiles-title {
    float: left; }
/* line 58, scss/module/_recurring-profiles.scss */
.recurring-profiles-title h1 {
    margin-bottom: 7px; }

/* line 63, scss/module/_recurring-profiles.scss */
body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
    float: right;
    text-align: right;
    margin-bottom: 30px; }
@media only screen and (max-width: 479px) {
    /* line 63, scss/module/_recurring-profiles.scss */
    body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons {
        text-align: center;
        float: none; } }
/* line 73, scss/module/_recurring-profiles.scss */
body.customer-account .my-account .title-buttons.recurring-profiles-title-buttons .button {
    position: static; }

/* line 79, scss/module/_recurring-profiles.scss */
.recurring-profiles-messages:after {
    content: '';
    display: table;
    clear: both; }

/* line 84, scss/module/_recurring-profiles.scss */
#recurring_start_date_trig {
    display: inline; }

/* ============================================ *
 * Billing Agreements
 * ============================================ */
/* line 31, scss/module/_billing-agreements.scss */
.billing-agreements .info-box {
    margin-bottom: 30px; }
/* line 34, scss/module/_billing-agreements.scss */
.billing-agreements .info-box:after {
    content: '';
    display: table;
    clear: both; }
/* line 38, scss/module/_billing-agreements.scss */
.billing-agreements .info-box .form-list {
    max-width: 400px;
    width: 100%; }
/* line 43, scss/module/_billing-agreements.scss */
.billing-agreements .info-box .box-title {
    margin-top: 20px;
    margin-bottom: 7px; }
/* line 48, scss/module/_billing-agreements.scss */
.billing-agreements .info-box .button {
    float: right;
    margin-top: 7px; }
@media only screen and (max-width: 479px) {
    /* line 48, scss/module/_billing-agreements.scss */
    .billing-agreements .info-box .button {
        width: 100%;
        float: none; } }

/* line 59, scss/module/_billing-agreements.scss */
.billing-agreements #payment_method {
    width: 100%;
    margin-top: 7px;
    margin-bottom: 7px; }

/* line 67, scss/module/_billing-agreements.scss */
.billing-agreement-view-header-wrapper .heading {
    max-width: 80%; }
@media only screen and (max-width: 479px) {
    /* line 67, scss/module/_billing-agreements.scss */
    .billing-agreement-view-header-wrapper .heading {
        max-width: 100%; } }

/* line 77, scss/module/_billing-agreements.scss */
.billing-agreement-details td, .billing-agreement-details th {
    padding: 3.5px; }

@media only screen and (max-width: 979px) {
    /* line 85, scss/module/_billing-agreements.scss */
    .billing-agreements .data-table .created-at,
    .billing-agreements .data-table .updated-at {
        display: none; } }

/* ============================================ *
 * Popular Search Terms Cloud
 * ============================================ */
/* line 30, scss/module/_popular-terms.scss */
.catalogsearch-term-popular .tags-list {
    float: left;
    width: 100%; }

/* line 34, scss/module/_popular-terms.scss */
.catalogsearch-term-popular .tags-list > li {
    float: left;
    height: 40px;
    margin-right: 25px; }

/* ============================================ *
 * Widgets
 * ============================================ */
/* -------------------------------------------- *
 * Add to cart by SKU
 */
/* line 37, scss/module/_widget.scss */
.sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
    width: 100%; }
@media only screen and (min-width: 771px) {
    /* line 37, scss/module/_widget.scss */
    .sidebar .widget-addbysku .sku-table .input-text:not(.qty) {
        max-width: 100px; } }

/* line 49, scss/module/_widget.scss */
.widget {
    clear: both; }

/* line 53, scss/module/_widget.scss */
.widget .pager {
    float: none;
    width: 100%; }

@media only screen and (min-width: 1199px) {
    /* line 64, scss/module/_widget.scss */
    .col2-left-layout .col-main .widget,
    .col2-right-layout .col-main .widget,
    .col3-layout .col-main .widget {
        /* Config: Columns + flexible gutter */
        /* Undo three-column config */
        /* Set column config */
        /* Config: Columns + flexible gutter */
        /* Undo three-column config */
        /* Set column config */ }
    /* line 546, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(odd),
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(odd),
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n+1),
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n+1),
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(even),
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n),
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(even),
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n),
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(even),
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* line 558, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li,
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li,
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li,
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li,
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li {
        width: 23.33333%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n+1),
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n+1),
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n),
    .col2-right-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n),
    .col3-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n) {
        margin-right: 0; }
    /* line 546, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(odd),
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(odd),
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n+1),
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n+1),
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(even),
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n),
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(even),
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n),
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(even),
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* line 558, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li,
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li,
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li,
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li,
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li {
        width: 18.22222%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n+1),
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n+1),
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .col2-left-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n),
    .col2-right-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n),
    .col3-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n) {
        margin-right: 0; } }

@media only screen and (min-width: 770px) {
    /* line 73, scss/module/_widget.scss */
    .col1-layout .col-main .widget {
        /* Config: Columns + flexible gutter */
        /* Undo three-column config */
        /* Set column config */
        /* Config: Columns + flexible gutter */
        /* Undo three-column config */
        /* Set column config */ }
    /* line 546, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(even),
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* line 558, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li {
        width: 23.33333%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-4-col-widget > li:nth-child(4n) {
        margin-right: 0; }
    /* line 546, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(odd) {
        clear: none; }
    /* line 549, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n+1) {
        clear: none; }
    /* line 552, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(even),
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(3n) {
        margin-right: 2.22222%; }
    /* line 558, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li {
        margin-right: 2.22222%; }
    /* line 561, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li {
        width: 18.22222%;
        margin-right: 2.22222%; }
    /* line 565, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n+1) {
        clear: left; }
    /* line 568, scss/module/_product-list.scss */
    .col1-layout .col-main .widget .products-grid--max-5-col-widget > li:nth-child(5n) {
        margin-right: 0; } }

/* ============================================ *
 * Checkout - Multiple Addresses
 * ============================================ */
/* line 31, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .checkout-progress {
    width: 100%;
    float: left;
    margin-bottom: 25px; }
/* line 35, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .checkout-progress > li {
    float: left;
    width: 20%;
    text-align: center;
    padding: 8px 1% 6px;
    background: #F4F4F4;
    text-transform: uppercase;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC;
    margin-bottom: 10px;
    font-family: "Montserrat", sans-serif; }
/* line 46, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .checkout-progress > li.active {
    background-color: #DDDDDD; }
/* line 49, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .checkout-progress > li.last {
    border-right: 0px; }

/* line 54, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .page-title {
    float: left;
    width: 100%;
    margin-bottom: 15px; }
/* line 58, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .page-title h1 {
    border: 0 none;
    float: left;
    margin-top: 2px;
    margin-right: 2%; }
/* line 64, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .page-title .button {
    float: right; }

/* line 68, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .multiple-checkout > h2 {
    text-transform: none;
    font-size: 17px;
    margin-bottom: 15px; }

/* line 73, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .messages {
    float: left;
    width: 100%; }

/* line 77, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .col-2.col-wide {
    width: 66%; }

/* line 80, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .col-1.col-narrow {
    width: 30%; }

/* line 83, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .actions {
    margin-bottom: 10px; }

/* line 87, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] .grand-total {
    text-align: right;
    font-size: 16px;
    font-weight: bold; }

/* line 93, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] #checkout-review-submit {
    float: right; }

/* line 97, scss/module/_checkout-multi-address.scss */
body[class*="checkout-multishipping-"] #review-buttons-container {
    float: right;
    text-align: right; }

/* line 104, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-addresses .btn-remove2 {
    text-indent: -5555px;
    display: block;
    width: 22px;
    height: 22px; }

/* line 113, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .gift-messages {
    margin-top: 20px; }

/* line 116, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .gift-messages-form {
    margin-top: 15px; }
/* line 118, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .gift-messages-form h4 {
    margin-top: 15px;
    margin-bottom: 5px; }
/* line 122, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .gift-messages-form .form-list {
    margin-top: 10px;
    margin-bottom: 25px; }
/* line 126, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .gift-messages-form .item {
    margin-top: 15px; }

/* line 137, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .col-1 .box-title h2, .checkout-multishipping-shipping .col-1 .box-title h3, .checkout-multishipping-shipping .col-1 .box-title h4, .checkout-multishipping-shipping .col-2 .box-title h2, .checkout-multishipping-shipping .col-2 .box-title h3, .checkout-multishipping-shipping .col-2 .box-title h4,
.checkout-multishipping-billing .col-1 .box-title h2,
.checkout-multishipping-billing .col-1 .box-title h3,
.checkout-multishipping-billing .col-1 .box-title h4,
.checkout-multishipping-billing .col-2 .box-title h2,
.checkout-multishipping-billing .col-2 .box-title h3,
.checkout-multishipping-billing .col-2 .box-title h4,
.checkout-multishipping-overview .col-1 .box-title h2,
.checkout-multishipping-overview .col-1 .box-title h3,
.checkout-multishipping-overview .col-1 .box-title h4,
.checkout-multishipping-overview .col-2 .box-title h2,
.checkout-multishipping-overview .col-2 .box-title h3,
.checkout-multishipping-overview .col-2 .box-title h4 {
    font-weight: normal;
    width: 100%;
    background: #F4F4F4;
    border-bottom: 1px solid #CCCCCC;
    padding: 10px;
    font-size: 14px; }

/* line 146, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .col-1 > h4, .checkout-multishipping-shipping .col-2 > h4,
.checkout-multishipping-billing .col-1 > h4,
.checkout-multishipping-billing .col-2 > h4,
.checkout-multishipping-overview .col-1 > h4,
.checkout-multishipping-overview .col-2 > h4 {
    font-weight: normal;
    width: 100%;
    background: #F4F4F4;
    border-bottom: 1px solid #CCCCCC;
    padding: 10px;
    font-size: 14px; }

/* line 154, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-shipping .col-1 .box-content, .checkout-multishipping-shipping .col-2 .box-content,
.checkout-multishipping-billing .col-1 .box-content,
.checkout-multishipping-billing .col-2 .box-content,
.checkout-multishipping-overview .col-1 .box-content,
.checkout-multishipping-overview .col-2 .box-content {
    margin-bottom: 25px;
    padding-left: 10px;
    margin-top: 10px; }

/* line 163, scss/module/_checkout-multi-address.scss */
.checkout-multishipping-billing .sp-methods dt {
    float: left;
    width: 100%; }

/* line 169, scss/module/_checkout-multi-address.scss */
#multiship-addresses-table > tbody > tr > td.a-center.last > a {
    background-image: none; }

/* line 173, scss/module/_checkout-multi-address.scss */
#review-order-form > div:nth-child(3) > div.divider {
    width: 100%;
    clear: both; }

@media only screen and (max-width: 979px) {
    /* line 180, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .checkout-progress span {
        word-spacing: 300px; }
    /* line 185, scss/module/_checkout-multi-address.scss */
    #review-order-form .col-1,
    #review-order-form .col-2 {
        float: none;
        width: auto;
        border: 0;
        padding-right: 0;
        padding-left: 0; } }

@media only screen and (max-width: 770px) {
    /* line 198, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .checkout-progress span {
        width: 12px; }
    /* line 202, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .checkout-progress li {
        width: 100%;
        margin: 0;
        text-align: left;
        padding-left: 3%;
        border-right: 0px; }
    /* line 209, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .checkout-progress span {
        word-spacing: 1px;
        width: 12px; }
    /* line 214, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .box-title {
        float: left;
        width: 100%; }
    /* line 218, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .page-title .button {
        float: left;
        margin-bottom: 10px; }
    /* line 223, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .linearize-table tfoot td {
        text-align: right; }
    /* line 226, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .linearize-table select {
        width: 100%;
        min-width: 200px; }
    /* line 231, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .col-1.col-narrow, body[class*="checkout-multishipping-"] .col-2.col-wide {
        width: 100%;
        padding: 0; } }

@media only screen and (max-width: 599px) {
    /* line 239, scss/module/_checkout-multi-address.scss */
    .checkout-multishipping-addresses .linearize-table tbody td[data-rwd-label] {
        text-align: left;
        padding-left: 10px;
        margin-top: 12px; } }

@media only screen and (max-width: 479px) {
    /* line 248, scss/module/_checkout-multi-address.scss */
    body[class*="checkout-multishipping-"] .buttons-set .back-link {
        display: block; } }

/* line 2, scss/module/_reso.scss */
.return-order-list .page-title h1 {
    text-transform: uppercase;
    text-align: center; }

/* line 7, scss/module/_reso.scss */
.return-order-list .data-table th {
    background: transparent; }

/* line 10, scss/module/_reso.scss */
.return-order-list .data-table .price {
    font-family: "Montserrat", sans-serif; }

/* line 13, scss/module/_reso.scss */
.return-order-list .data-table .nobr {
    font-family: "Montserrat", sans-serif; }

/* line 17, scss/module/_reso.scss */
.return-order-list .data-table .table-footer span {
    font-family: "Montserrat", sans-serif; }

/* line 22, scss/module/_reso.scss */
.return-order-list .btn-primary {
    min-width: unset; }

/* line 26, scss/module/_reso.scss */
.return-order-view {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 90%;
    max-width: 960px;
    margin: 0 auto; }
/* line 34, scss/module/_reso.scss */
.return-order-view .page-description {
    margin-bottom: 10px; }

/* line 38, scss/module/_reso.scss */
#returnForm {
    width: 100%; }
/* line 40, scss/module/_reso.scss */
#returnForm label[for=reason] {
    display: block; }
/* line 43, scss/module/_reso.scss */
#returnForm #reason {
    display: block;
    margin: 0 auto; }
/* line 47, scss/module/_reso.scss */
#returnForm .form-list {
    width: 100%;
    max-width: none; }
/* line 51, scss/module/_reso.scss */
#returnForm .return-info {
    margin: 40px auto 50px;
    width: 90%;
    max-width: 400px; }
/* line 56, scss/module/_reso.scss */
#returnForm .order-number {
    text-transform: uppercase;
    text-align: left; }
/* line 60, scss/module/_reso.scss */
#returnForm .product-info-container {
    padding: 30px 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    border-bottom: 1px solid black; }
/* line 66, scss/module/_reso.scss */
#returnForm .product-info-container .product-check {
    width: 5%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
/* line 72, scss/module/_reso.scss */
#returnForm .product-info-container .product-image {
    width: 15%;
    border: none; }
/* line 76, scss/module/_reso.scss */
#returnForm .product-info-container .product-info {
    width: 40%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: left;
    padding-left: 20px; }
/* line 83, scss/module/_reso.scss */
#returnForm .product-info-container .product-option {
    font-size: 10px; }
/* line 86, scss/module/_reso.scss */
#returnForm .product-info-container .product-disclaimer {
    width: 40%; }
/* line 90, scss/module/_reso.scss */
#returnForm button {
    width: auto;
    float: right; }

@media screen and (max-width: 770px) {
    /* line 98, scss/module/_reso.scss */
    #returnForm .product-info-container .product-image {
        width: 40%; }
    /* line 101, scss/module/_reso.scss */
    #returnForm .product-info-container .product-info {
        width: 50%; }
    /* line 104, scss/module/_reso.scss */
    #returnForm .product-info-container .product-disclaimer {
        width: 100%; }
    /* line 108, scss/module/_reso.scss */
    #returnForm button {
        width: auto;
        float: none;
        margin: 20px auto 0; } }

/* line 115, scss/module/_reso.scss */
.return-order-submitted {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 90%;
    max-width: 960px;
    margin: 0 auto; }
/* line 123, scss/module/_reso.scss */
.return-order-submitted .page-description {
    margin-bottom: 10px; }

/* line 127, scss/module/_reso.scss */
.return-order-search {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 90%;
    max-width: 960px;
    margin: 0 auto; }
/* line 135, scss/module/_reso.scss */
.return-order-search .page-description {
    margin-bottom: 10px;
    font-family: "Montserrat", sans-serif;
      
    line-height: 25px;
    font-weight: 300; }
/* line 142, scss/module/_reso.scss */
.return-order-search .page-title {
    margin-top: 85px; }
/* line 144, scss/module/_reso.scss */
.return-order-search .page-title h1 {
    text-transform: uppercase; }

/* line 149, scss/module/_reso.scss */
.return-order-search-form {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
/* line 153, scss/module/_reso.scss */
.return-order-search-form label {
    width: 100%;
    text-align: left;
    margin-top: 30px; }
/* line 158, scss/module/_reso.scss */
.return-order-search-form .required {
    opacity: 0; }
/* line 161, scss/module/_reso.scss */
.return-order-search-form .button {
    margin-top: 50px;
    width: auto;
    background-color: #000000;
    color: #fefefe; }
/* line 166, scss/module/_reso.scss */
.return-order-search-form .button:hover {
    background-color: #fefefe;
    color: #000000; }

/* line 172, scss/module/_reso.scss */
.box-returns .box-inner {
    text-align: center; }
/* line 174, scss/module/_reso.scss */
.box-returns .box-inner .btn-primary {
    width: auto;
    margin: 20px auto;
    float: none; }

/* ============================================ *
 * Calendar styles (restore styles from /js/calendar)
 * ============================================ */
/* line 30, scss/override/_plugin.scss */
div.calendar table {
    border-collapse: separate; }
/* line 33, scss/override/_plugin.scss */
div.calendar table td.button {
    display: table-cell;
    background: inherit;
    color: inherit;
    text-transform: none; }

/* ============================================ *
 * Homepage
 * ============================================ */
/* -------------------------------------------- *
 * Primary Banner
 */
/* line 34, scss/content/_home.scss */
.media__embed {
    width: 100%; }
/* line 37, scss/content/_home.scss */
.media__embed .video-inner {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-top: calc(720 / 1280 * 100%); }
/* line 43, scss/content/_home.scss */
.media__embed .video-inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }

@media only screen and (max-width: 979px) {
    /* line 65, scss/content/_home.scss */
    .media__embed .video-inner {
        padding-top: calc(720 / 1280 * 100vw);
        overflow: visible; }
    /* line 69, scss/content/_home.scss */
    .media__embed .video-inner iframe {
        width: 100vw;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); } }

/* line 79, scss/content/_home.scss */
.video-container {
    max-height: 1080px;
    height: unset;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    position: relative; }
/* line 84, scss/content/_home.scss */
.video-container video {
    max-width: 100%; }
/* line 87, scss/content/_home.scss */
.video-container .text-container {
    position: absolute;
    left: 3%;
    top: 5%; }
/* line 91, scss/content/_home.scss */
.video-container .text-container .title {
    margin-bottom: 10px;
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px; }
/* line 95, scss/content/_home.scss */
.video-container .text-container .subtitle {
    max-width: 370px;
    margin-bottom: 30px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }
/* line 100, scss/content/_home.scss */
.video-container .text-container .action-secondary {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    border: 1px solid #0a0a0a;
    padding: 5px 15px;
    text-decoration: underline;
    width: 140px;
    background-color: transparent;
    width: 145px; }

/* line 109, scss/content/_home.scss */
body.cms-home .slideshow-container {
    margin-top: 0; }

/* line 113, scss/content/_home.scss */
body.cms-home .home-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 1070px; }
/* line 118, scss/content/_home.scss */
body.cms-home .home-block-container .title {
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px; }
/* line 121, scss/content/_home.scss */
body.cms-home .home-block-container .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }
/* line 124, scss/content/_home.scss */
body.cms-home .home-block-container .action-secondary {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    border: 1px solid #0a0a0a;
    padding: 5px 15px;
    text-decoration: underline;
    width: 140px;
    background-color: transparent; }

/* line 129, scss/content/_home.scss */
body.cms-home .video-container {
    max-height: 1100px;
    height: unset;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    position: relative; }
/* line 134, scss/content/_home.scss */
body.cms-home .video-container video {
    max-width: 100%; }
/* line 137, scss/content/_home.scss */
body.cms-home .video-container .text-container {
    position: absolute;
    left: 3%;
    top: 5%; }
/* line 141, scss/content/_home.scss */
body.cms-home .video-container .text-container .title {
    margin-bottom: 10px;
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px; }
/* line 145, scss/content/_home.scss */
body.cms-home .video-container .text-container .subtitle {
    max-width: 370px;
    margin-bottom: 30px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }
/* line 150, scss/content/_home.scss */
body.cms-home .video-container .text-container .action-secondary {
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 11px;
    color: #000000;
    border: 1px solid #0a0a0a;
    padding: 5px 15px;
    text-decoration: underline;
    width: 140px;
    background-color: transparent;
    width: 145px; }

/* line 157, scss/content/_home.scss */
body.cms-home .store-collection-container {
    position: relative;
    max-width: 626px;
    max-height: 945px;
    margin: auto; }
/* line 162, scss/content/_home.scss */
body.cms-home .store-collection-container img {
    width: 100%;
    height: auto; }
/* line 166, scss/content/_home.scss */
body.cms-home .store-collection-container .text-container {
    position: absolute;
    left: 0%;
    top: 4%; }
/* line 170, scss/content/_home.scss */
body.cms-home .store-collection-container .text-container .title {
    margin-bottom: 10px; }
/* line 173, scss/content/_home.scss */
body.cms-home .store-collection-container .text-container .subtitle {
    max-width: 350px;
    margin-bottom: 30px; }
/* line 177, scss/content/_home.scss */
body.cms-home .store-collection-container .text-container .action-secondary {
    text-align: center; }

/* line 183, scss/content/_home.scss */
body.cms-home .featured-product-container {
    position: relative; }
/* line 185, scss/content/_home.scss */
body.cms-home .featured-product-container img {
    max-height: 425px;
    max-width: 425px;
    margin: auto; }
/* line 190, scss/content/_home.scss */
body.cms-home .featured-product-container .text-container {
    position: absolute;
    top: -19%;
    left: -19%; }
/* line 194, scss/content/_home.scss */
body.cms-home .featured-product-container .text-container .title {
    margin-bottom: 10px; }
/* line 197, scss/content/_home.scss */
body.cms-home .featured-product-container .text-container .subtitle {
    max-width: 185px;
    margin-bottom: 30px; }
/* line 201, scss/content/_home.scss */
body.cms-home .featured-product-container .text-container .btn-primary {
    max-width: 125px;
    text-align: center;
    float: unset; }

/* line 209, scss/content/_home.scss */
body.cms-home .villa-torresi-container .img-container {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    max-width: 890px; }

/* line 213, scss/content/_home.scss */
body.cms-home .villa-torresi-container .text-container {
    -webkit-flex: 50%;
    -ms-flex: 50%;
    flex: 50%;
    padding-left: 132px; }
/* line 216, scss/content/_home.scss */
body.cms-home .villa-torresi-container .text-container .subtitle {
    max-width: 320px;
    margin-top: 15px;
    margin-bottom: 30px; }
/* line 221, scss/content/_home.scss */
body.cms-home .villa-torresi-container .text-container .action-secondary {
    max-width: 92px;
    text-align: center; }

/* line 227, scss/content/_home.scss */
body.cms-home .block-5-container {
    margin: auto;
    position: relative;
    max-width: 1564px;
    max-height: 967px;
    float: inherit;
    background-image: url("../images/marble.png");
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 236, scss/content/_home.scss */
body.cms-home .block-5-container .text-container {
    height: 87%;
    -webkit-flex: 50%;
    -ms-flex: 50%;
    flex: 50%; }
/* line 242, scss/content/_home.scss */
body.cms-home .block-5-container .text-container .title {
    margin-bottom: 10px; }
/* line 245, scss/content/_home.scss */
body.cms-home .block-5-container .text-container .subtitle {
    margin-bottom: 30px;
    max-width: 330px; }
/* line 249, scss/content/_home.scss */
body.cms-home .block-5-container .text-container .action-secondary {
    max-width: 92px;
    text-align: center; }
/* line 254, scss/content/_home.scss */
body.cms-home .block-5-container .imgs-container {
    position: relative;
    -webkit-flex: 50%;
    -ms-flex: 50%;
    flex: 50%;
    height: 100%;
    overflow-x: hidden;
    flex: 50%; }
/* line 262, scss/content/_home.scss */
body.cms-home .block-5-container .imgs-container .img-big {
    position: absolute;
    max-width: 480px;
    top: 19%;
    left: 20%; }
/* line 268, scss/content/_home.scss */
body.cms-home .block-5-container .imgs-container .img-small {
    position: absolute;
    top: 34%; }

/* line 275, scss/content/_home.scss */
body.cms-home .block-6-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly; }
/* line 279, scss/content/_home.scss */
body.cms-home .block-6-container img {
    max-width: 615px; }
/* line 282, scss/content/_home.scss */
body.cms-home .block-6-container .text-container {
    max-width: 490px; }
/* line 284, scss/content/_home.scss */
body.cms-home .block-6-container .text-container .subtitle {
    max-width: 340px;
    margin-top: 15px;
    margin-bottom: 30px; }
/* line 289, scss/content/_home.scss */
body.cms-home .block-6-container .text-container .action-secondary {
    max-width: 92px;
    text-align: center; }

/* line 297, scss/content/_home.scss */
.slideshow .banner-msg {
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
    top: 30%;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none; }

/* line 306, scss/content/_home.scss */
.slideshow .banner-msg h2 {
    color: #FFFFFF;
    font-size: 24px;
    text-shadow: 1px 1px 3px false #555555; }

/* line 312, scss/content/_home.scss */
.slideshow .banner-msg h2 strong {
    font-weight: bold;
    display: block;
    font-size: 36px; }

@media only screen and (max-width: 1200px) {
    /* line 320, scss/content/_home.scss */
    body.cms-home .home-block-container {
        height: 800px; }
    /* line 324, scss/content/_home.scss */
    body.cms-home .block-5-container .imgs-container {
        overflow-x: inherit;
        -webkit-flex: 70%;
        -ms-flex: 70%;
        flex: 70%; }
    /* line 327, scss/content/_home.scss */
    body.cms-home .block-5-container .imgs-container .img-big {
        left: 7%; }
    /* line 330, scss/content/_home.scss */
    body.cms-home .block-5-container .imgs-container .img-small {
        left: -20%; }
    /* line 335, scss/content/_home.scss */
    body.cms-home .featured-product-container {
        margin-top: 190px; }
    /* line 337, scss/content/_home.scss */
    body.cms-home .featured-product-container .text-container {
        top: -32%;
        left: 0; }
    /* line 342, scss/content/_home.scss */
    body.cms-home .villa-torresi-container .text-container {
        padding-left: 0px; } }

@media only screen and (max-width: 979px) {
    /* line 350, scss/content/_home.scss */
    body.cms-home .home-block-container {
        height: unset;
        margin-bottom: 50px;
        padding: 0; }
    /* line 354, scss/content/_home.scss */
    body.cms-home .home-block-container .featured-product-container {
        margin-top: 90px; }
    /* line 356, scss/content/_home.scss */
    body.cms-home .home-block-container .featured-product-container .text-container {
        top: -19%;
        left: -19%; }
    /* line 362, scss/content/_home.scss */
    body.cms-home .villa-torresi-container {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 365, scss/content/_home.scss */
    body.cms-home .villa-torresi-container .text-container {
        -webkit-flex: 100%;
        -ms-flex: 100%;
        flex: 100%;
        padding-left: 0px;
        margin-bottom: 30px; }
    /* line 371, scss/content/_home.scss */
    body.cms-home .block-5-container {
        height: 540px;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-justify-content: start;
        -ms-flex-pack: start;
        justify-content: start; }
    /* line 375, scss/content/_home.scss */
    body.cms-home .block-5-container .text-container {
        width: 100%;
        height: unset;
        -webkit-flex: unset;
        -ms-flex: unset;
        flex: unset;
        margin-top: 25px; }
    /* line 381, scss/content/_home.scss */
    body.cms-home .block-5-container .imgs-container {
        -webkit-flex: unset;
        -ms-flex: unset;
        flex: unset;
        height: 300px;
        width: 100%;
        margin-top: 25px; }
    /* line 386, scss/content/_home.scss */
    body.cms-home .block-5-container .imgs-container .img-big {
        left: unset;
        max-width: 300px;
        max-height: 245px;
        margin: auto;
        position: unset; }
    /* line 393, scss/content/_home.scss */
    body.cms-home .block-5-container .imgs-container .img-small {
        max-width: 167px;
        max-height: 167px;
        top: 55%;
        left: 50%;
        -webkit-transform: translate(-50%);
        -ms-transform: translate(-50%);
        transform: translate(-50%); }
    /* line 402, scss/content/_home.scss */
    body.cms-home .block-6-container {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 404, scss/content/_home.scss */
    body.cms-home .block-6-container .text-container {
        width: 100%;
        max-width: unset; }
    /* line 408, scss/content/_home.scss */
    body.cms-home .block-6-container img {
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        max-width: 100%; } }

@media only screen and (max-width: 770px) {
    /* line 418, scss/content/_home.scss */
    .slideshow .banner-msg h2 {
        font-size: 20px; }
    /* line 422, scss/content/_home.scss */
    .slideshow .banner-msg h2 strong {
        font-size: 24px; }
    /* line 429, scss/content/_home.scss */
    body.cms-home .video-container .text-container .subtitle {
        display: none; }
    /* line 435, scss/content/_home.scss */
    body.cms-home .store-collection-container .subtitle, body.cms-home .featured-product-container .subtitle, body.cms-home .block-5-container .subtitle {
        display: none; } }

@media only screen and (max-width: 599px) {
    /* line 446, scss/content/_home.scss */
    body.cms-home .home-block-container .featured-product-container img {
        max-width: 230px;
        max-height: 230px; }
    /* line 453, scss/content/_home.scss */
    body.cms-home .block-5-container img {
        height: 540px; }
    /* line 456, scss/content/_home.scss */
    body.cms-home .block-5-container .img-small {
        max-width: 170px;
        max-height: 170px; } }

@media only screen and (max-width: 479px) {
    /* line 466, scss/content/_home.scss */
    .slideshow .banner-msg {
        top: 20%; }
    /* line 470, scss/content/_home.scss */
    .slideshow .banner-msg h2 {
        font-size: 14px; }
    /* line 474, scss/content/_home.scss */
    .slideshow .banner-msg h2 strong {
        font-size: 16px; } }

/* -------------------------------------------- *
 * Promotion Banner Section
 */
/* line 483, scss/content/_home.scss */
.promos {
    margin: 0 0 10px 0;
    padding: 0;
    width: 100%; }

/* line 489, scss/content/_home.scss */
.promos:after {
    content: '';
    display: table;
    clear: both; }

/* Specifying the body only in order to override the .std ul li styling */
/* line 495, scss/content/_home.scss */
body .promos > li {
    margin: 0 0 10px 0;
    list-style: none;
    text-align: center;
    position: relative;
    border: 1px solid #CCCCCC;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none; }

/* line 504, scss/content/_home.scss */
.promos > li:last-child {
    margin-bottom: 0; }

/* line 508, scss/content/_home.scss */
.promos img {
    max-width: 100%;
    width: 100%; }

/* line 513, scss/content/_home.scss */
.promos a:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
    display: block; }

/* line 518, scss/content/_home.scss */
.promos span {
    color: #FFFFFF;
    text-transform: uppercase;
    position: absolute;
    display: block;
    width: 100%;
    top: 10%;
    font-weight: 500;
    font-size: 20px;
    font-family: "Montserrat", sans-serif;
    text-shadow: 1px 1px 3px false #555555; }

/* line 531, scss/content/_home.scss */
.promos strong {
    font-weight: 600;
    font-size: 26px;
    display: block; }

@media only screen and (min-width: 771px) {
    /* line 539, scss/content/_home.scss */
    .promos span {
        font-size: 16px; }
    /* line 543, scss/content/_home.scss */
    .promos strong {
        font-size: 17px; }
    /* Config: Three columns + flexible gutter */
    /* line 550, scss/content/_home.scss */
    body .promos > li {
        float: left;
        width: 31.74603%;
        margin-right: 2.38095%; }
    /* line 556, scss/content/_home.scss */
    .promos > li:nth-child(3n) {
        margin-right: 0; } }

@media only screen and (min-width: 880px) {
    /* line 562, scss/content/_home.scss */
    .promos span {
        font-size: 18px; }
    /* line 566, scss/content/_home.scss */
    .promos strong {
        font-size: 24px; } }

/* -------------------------------------------- *
 * New Products Section
 */
/* Hiding the reviews content via CSS because we can't modify the template, */
/* since it may be used in other places where those elements are needed */
/* line 577, scss/content/_home.scss */
.cms-index-index .products-grid .ratings,
.cms-index-index .products-grid .actions,
.cms-index-noroute .products-grid .ratings,
.cms-index-noroute .products-grid .actions {
    display: none; }

/* line 584, scss/content/_home.scss */
.cms-index-index h2.subtitle {
    padding: 6px 0;
    text-align: center;
    color: #000000;
    font-weight: 600;
    border-bottom: 1px solid #CCCCCC;
    border-top: 1px solid #CCCCCC; }

/* line 593, scss/content/_home.scss */
.cms-index-noroute h2.subtitle {
    display: none; }

/* -------------------------------------------- *
 * New Products Section
 */
/* line 601, scss/content/_home.scss */
.homesection {
    text-align: center;
    padding: 30px 0; }
/* line 605, scss/content/_home.scss */
.homesection .homesection__imgcontainer {
    display: inline-block;
    position: relative;
    max-width: 80%; }
/* line 610, scss/content/_home.scss */
.homesection .homesection__imgcontainer .homesection__imgcontainer-primary {
    margin: auto;
    display: inline-block;
    width: 100%;
    height: auto; }
/* line 617, scss/content/_home.scss */
.homesection .homesection__imgcontainer .homesection__imgcontainer-primary .homesection__imgprimary.homesection__imgprimary--desk {
    display: none; }
/* line 623, scss/content/_home.scss */
.homesection .homesection__imgcontainer .homesection__imgcontainer-secondary {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    max-width: 50%; }
/* line 631, scss/content/_home.scss */
.homesection .homesection__imgcontainer .homesection__imgcontainer-secondary .homesection__imgsecondary.homesection__imgsecondary--desk {
    display: none; }
/* line 638, scss/content/_home.scss */
.homesection .homesection__textcontainer {
    max-width: 700px;
    margin: auto; }
/* line 642, scss/content/_home.scss */
.homesection .homesection__textcontainer .homesection__text {
    text-align: center;
    margin: 30px auto 0; }
/* line 646, scss/content/_home.scss */
.homesection .homesection__textcontainer .homesection__text .homesection__text-title {
    font-family: "Montserrat", serif;
    font-size: 24px;

    text-transform: uppercase;
    line-height: 24px; }
/* line 654, scss/content/_home.scss */
.homesection .homesection__textcontainer .homesection__text .homesection__text-subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 300;
      
    line-height: 25px;
    margin-top: 30px; }
/* line 663, scss/content/_home.scss */
.homesection .homesection__textcontainer .homesection__text .homesection__text-action {
    margin: 30px auto 0;
    width: 200px; }
/* line 677, scss/content/_home.scss */
.homesection.homesection--leftalign .homesection__imgcontainer .homesection__imgcontainer-secondary {
    left: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
/* line 681, scss/content/_home.scss */
.homesection.homesection--leftalign .homesection__imgcontainer .homesection__imgcontainer-secondary .homesection__imgsecondary {
    margin-left: auto; }
/* line 702, scss/content/_home.scss */
.homesection.homesection--video {
    padding: 0 0 30px 0; }

@media only screen and (min-width: 980px) {
    /* line 711, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) {
        width: 100%;
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    /* line 716, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 55%;
        -ms-flex: 0 1 55%;
        flex: 0 1 55%;
        max-width: unset; }
    /* line 722, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer .homesection__imgcontainer-primary {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-justify-content: right;
        -ms-flex-pack: right;
        justify-content: right;
        margin: auto;
        width: unset;
        height: unset; }
    /* line 732, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer .homesection__imgcontainer-primary .homesection__imgprimary {
        display: none; }
    /* line 735, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer .homesection__imgcontainer-primary .homesection__imgprimary.homesection__imgprimary--desk {
        display: block; }
    /* line 742, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer .homesection__imgcontainer-secondary {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin: auto;
        top: unset;
        right: unset;
        -webkit-transform: unset;
        -ms-transform: unset;
        transform: unset;
        max-width: unset; }
    /* line 753, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer .homesection__imgcontainer-secondary .homesection__imgsecondary {
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        height: auto;
        display: none; }
    /* line 758, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__imgcontainer .homesection__imgcontainer-secondary .homesection__imgsecondary.homesection__imgsecondary--desk {
        display: block; }
    /* line 766, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__textcontainer {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin: auto;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 400px; }
    /* line 774, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__textcontainer .homesection__text {
        margin: auto; }
    /* line 777, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__textcontainer .homesection__text .homesection__text-title {
        text-align: left; }
    /* line 781, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__textcontainer .homesection__text .homesection__text-subtitle {
        text-align: left; }
    /* line 785, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg) .homesection__textcontainer .homesection__text .homesection__text-action {
        margin: 60px auto 0 0; }
    /* line 792, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg).homesection--leftalign .homesection__imgcontainer {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1; }
    /* line 795, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg).homesection--leftalign .homesection__imgcontainer .homesection__imgcontainer-primary {
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1; }
    /* line 802, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg).homesection--leftalign .homesection__imgcontainer .homesection__imgcontainer-secondary {
        left: unset;
        -webkit-transform: unset;
        -ms-transform: unset;
        transform: unset; }
    /* line 806, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg).homesection--leftalign .homesection__imgcontainer .homesection__imgcontainer-secondary .homesection__imgsecondary {
        -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
        transform: translateX(50%); }
    /* line 812, scss/content/_home.scss */
    .homesection:not(.homesection--video):not(.homesection--fullwidthimg).homesection--leftalign .homesection__textcontainer {
        margin: auto; }
    /* line 833, scss/content/_home.scss */
    .homesection.homesection--fullwidthimg .homesection__imgcontainer {
        width: 100%;
        max-width: 100%; }
    /* line 838, scss/content/_home.scss */
    .homesection.homesection--fullwidthimg .homesection__imgcontainer .homesection__imgcontainer-primary .homesection__imgprimary {
        display: none; }
    /* line 841, scss/content/_home.scss */
    .homesection.homesection--fullwidthimg .homesection__imgcontainer .homesection__imgcontainer-primary .homesection__imgprimary.homesection__imgprimary--desk {
        display: block; } }

/* ============================================ *
 * Category Landing Pages
 * ============================================ */
/* line 30, scss/content/_category.scss */
.category-image {
    position: relative; }

/* line 34, scss/content/_category.scss */
.categorylandingMainblock {
    border: 1px solid #E2E2E2;
    padding: 7px; }

/* line 39, scss/content/_category.scss */
.catblocks {
    float: left;
    padding: 0 0 20px 0;
    width: 100%; }

/* line 45, scss/content/_category.scss */
.catblocks li {
    position: relative;
    float: left !important;
    width: 23% !important;
    margin-right: 2.66667% !important;
    margin-bottom: 10px;
    border: 1px solid #CCCCCC;
    padding: 10px; }

/* line 55, scss/content/_category.scss */
.catblocks li:hover {
    border-color: #000000; }

@media only screen and (max-width: 770px) {
    /* line 60, scss/content/_category.scss */
    .catblocks li {
        width: 49% !important;
        margin-right: 2% !important; }
    /* line 65, scss/content/_category.scss */
    .catblocks li:nth-child(even) {
        margin-right: 0 !important; } }

@media only screen and (max-width: 479px) {
    /* line 71, scss/content/_category.scss */
    .catblocks li {
        width: 100% !important;
        margin-right: 0 !important;
        float: none; } }

/* line 78, scss/content/_category.scss */
.catblocks li:last-child {
    margin-right: 0 !important; }

/* line 82, scss/content/_category.scss */
.catblocks li img {
    width: 100%;
    max-width: 100%; }

/* line 87, scss/content/_category.scss */
.catblocks li a span {
    color: #FFFFFF;
    position: absolute;
    background-color: #7B7C7B;
    font-family: raleway;
    font-size: 17px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    bottom: 0px;
    left: 0px;
    width: 100%;
    padding: 5px 10px;
    margin-right: 10px; }

/* line 103, scss/content/_category.scss */
.catblocklinks a {
    color: #FFFFFF;
    text-decoration: none; }

/* line 108, scss/content/_category.scss */
.catlandingbottomPromoblock {
    float: left;
    width: 100%;
    border: 1px solid #E2E2E2;
    margin-bottom: 100px; }

/* line 115, scss/content/_category.scss */
.catalog-category-view div.categoryland-caption {
    display: block;
    margin: 0;
    position: absolute;
    color: #000000;
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;
    text-align: center; }

/* line 126, scss/content/_category.scss */
.catalog-category-view div.categoryland-caption span.blue-big-text {
    color: #000000;
    font-size: 50px;
    font-weight: 800;
    padding: 0 0 0 8px; }

/* line 133, scss/content/_category.scss */
.catalog-category-view div.categoryland-caption span.blue-big-text {
    padding: 0 !important; }

/* line 137, scss/content/_category.scss */
.catalog-category-view div.categoryland-caption span.three-dots {
    background: url(../images/bg_threeDots.png) no-repeat center center;
    display: block;
    height: 20px; }

/* line 143, scss/content/_category.scss */
.catalog-category-view div.categoryland-caption p.desc {
    font: italic 18px/28px Georgia, "Times New Roman", Times, serif;
    color: #656565; }

/* line 148, scss/content/_category.scss */
.cms-home #homepage-main-slides div.slides_control div div.slideshow-caption a.link:hover,
.cms-home #homepage-main-slides div.slides_control div div.slideshow-caption span.link:hover {
    text-decoration: underline;
    color: #1189C5; }

/* line 154, scss/content/_category.scss */
.cms-home #homepage-main-slides div.slides_control div div.slideshow-caption span.blue-big-text,
.catalog-category-view div.categoryland-caption span.blue-big-text {
    color: #000000;
    font-size: 50px;
    font-weight: 800;
    padding: 0 0 0 8px; }

/* line 162, scss/content/_category.scss */
.catalog-category-view div.categoryland-caption span.blue-big-text {
    padding: 0 !important; }

/* line 166, scss/content/_category.scss */
.cms-home #homepage-main-slides div.slides_control div div.slideshow-caption span.three-dots,
.catalog-category-view div.categoryland-caption span.three-dots {
    background: url(../images/bg_threeDots.png) no-repeat center center;
    display: block;
    height: 20px; }

/* line 173, scss/content/_category.scss */
.cms-home #homepage-main-slides div.slides_control div div.slideshow-caption p.desc,
.catalog-category-view div.categoryland-caption p.desc {
    font: italic 18px/28px Georgia, "Times New Roman", Times, serif;
    color: #656565; }

/* ============================================ *
 * Personalizzato - Configuratore
 * ============================================ */
/* line 184, scss/content/_category.scss */
.category-variant .category-title {
    text-align: center;
    display:none}
/* line 186, scss/content/_category.scss */
.category-variant .category-title h1 {
    margin-bottom: 30px; }

/* line 190, scss/content/_category.scss */
.category-variant .category-description {
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    max-width: 800px;
    margin: auto;
    font-size: 14px;
    line-height: 25px;
      
    font-weight: 300; }

/* line 198, scss/content/_category.scss */
.category-variant .video-container {
    max-width: 47%;
    position: unset;
    margin: 0;
    margin-top: 50px;
    margin-left: 1.5%;
    display:none;}
/* line 206, scss/content/_category.scss */
.category-variant .video-container video {
    max-height: 615px; }

/* line 217, scss/content/_category.scss */
.catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item {
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    flex-basis: 33.333%;
    transition: all .5s ease-in-out;
    margin-top: 50px;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    overflow: hidden; }
/* line 224, scss/content/_category.scss */
.catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item:last-child {
    margin-right: 0; }
/* line 227, scss/content/_category.scss */
.catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-image, .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-info {
    width: 90%; }
/* line 232, scss/content/_category.scss */
.catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-info {
    position: unset;
    padding: 0;
    width: 90%;
    margin-top: 15px; }


/* line 260, scss/content/_category.scss */
.catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item:nth-child(4), .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item:last-child {
    margin-right: 0; }

@media only screen and (max-width: 1199px) {
    /* line 271, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between; }
    /* line 274, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item {
        -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-height: 100%;
        margin-right: 0; }
    /* line 279, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .video-container {
        max-width: 100%;
        margin-top: 70px; } }

@media only screen and (max-width: 979px) {
    /* line 293, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-info {
        position: unset; } }

@media only screen and (max-width: 770px) {
    /* line 304, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection {
        margin-top: 50px; }
    /* line 307, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item {
        -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        margin: 0 0 20px; }
    /* line 310, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-info tr {
        display: block;
        padding: 5px; }
    /* line 313, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-info tr td {
        display: block;
        padding: 0; }
    /* line 317, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .item .product-info tr td h2 {
        padding: 0; }
    /* line 323, scss/content/_category.scss */
    .catalog-category-view .category-products-gttheme.custom-collection .products-grid-gttheme .video-container {
        margin-top: 0;
        width: 100%;
        margin-bottom: 20px; } }

/* line 7, scss/content/_cms.scss */
.cms-page-view .page-title {
    display: none; 
}

/* line 10, scss/content/_cms.scss */
.cms-page-view .breadcrumbs {
    overflow: visible;
    margin:0 20px; 
}



/* line 37, scss/content/_cms.scss */
.cms-page-view .title-service-sidebar {
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px;
    color: #0a0a0a !important;
    text-transform: initial;
    font-style: normal;
    margin-bottom: 30px;
    line-height: 1.2; }

/* line 46, scss/content/_cms.scss */
.cms-page-view ul.service-list li {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    padding-bottom: 12px; }

/* line 51, scss/content/_cms.scss */
.cms-page-view .store-data {
    list-style: none; }
/* line 53, scss/content/_cms.scss */
.cms-page-view .store-data li {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    font-style: normal;
    color: #000000;
    margin-left: 0; }

/* line 60, scss/content/_cms.scss */
.cms-page-view #contactForm {
    padding-left: 0;
    margin-top: 45px; }
/* line 63, scss/content/_cms.scss */
.cms-page-view #contactForm .fieldset {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
/* line 66, scss/content/_cms.scss */
.cms-page-view #contactForm .fieldset .required {
    font-family: "Montserrat", sans-serif; }
/* line 69, scss/content/_cms.scss */
.cms-page-view #contactForm .fieldset .check-terms {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
/* line 71, scss/content/_cms.scss */
.cms-page-view #contactForm .fieldset .check-terms input[type="checkbox"] {
    margin-top: 7px;
    margin-right: 10px; }
/* line 77, scss/content/_cms.scss */
.cms-page-view #contactForm ul {
    list-style: none; }
/* line 79, scss/content/_cms.scss */
.cms-page-view #contactForm ul li {
    margin-left: 0; }
/* line 81, scss/content/_cms.scss */
.cms-page-view #contactForm ul li label {
    font-style: normal; }

/* line 87, scss/content/_cms.scss */
.cms-page-view .validation-advice {
    font-style: normal;
    font-family: "Montserrat", sans-serif; }

/* line 91, scss/content/_cms.scss */
.cms-page-view .size-guide-title {
    padding: 10px 0;
    font-weight: bold; }

/* line 95, scss/content/_cms.scss */
.cms-page-view .sizeguide {
    margin-bottom: 30px; }
/* line 97, scss/content/_cms.scss */
.cms-page-view .sizeguide table {
    font-family: "Montserrat", sans-serif;
    font-size: 11px; }
/* line 101, scss/content/_cms.scss */
.cms-page-view .sizeguide tr {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 104, scss/content/_cms.scss */
.cms-page-view .sizeguide tr .first-column {
    position: absolute;
    width: 100px;
    color: #000;
    padding: 0 10px;
    padding-right: 20px;
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fefefe; }
/* line 115, scss/content/_cms.scss */
.cms-page-view .sizeguide tr th {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 45px;
    min-width: 50px; }
/* line 123, scss/content/_cms.scss */
.cms-page-view .sizeguide tr th:nth-child(2) {
    min-width: 110px; }
/* line 127, scss/content/_cms.scss */
.cms-page-view .sizeguide tr:nth-child(even) {
    background-color: #f8f5f5; }

/* line 132, scss/content/_cms.scss */
.cms-page-view .pageCnt {
    max-width: 760px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300;
    margin: auto; }
/* line 137, scss/content/_cms.scss */
.cms-page-view .pageCnt p {
    font-family: "Montserrat", sans-serif; }
/* line 140, scss/content/_cms.scss */
.cms-page-view .pageCnt .title {
    font-family: "Montserrat", serif;
    font-size: 14px;
    text-transform: uppercase;
    color: #000000;
    padding: 20px 0;
    margin-bottom: 0; }
/* line 148, scss/content/_cms.scss */
.cms-page-view .pageCnt h2.title {
    margin-bottom: 35px;
    padding: 0; }
/* line 152, scss/content/_cms.scss */
.cms-page-view .pageCnt.contatti {
    padding:15px;
    text-align: center; }
/* line 154, scss/content/_cms.scss */
.cms-page-view .pageCnt.contatti > img {
    max-width: 300px;
    margin: auto;
    margin-bottom: 40px; }
/* line 159, scss/content/_cms.scss */
.cms-page-view .pageCnt.contatti p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 60px; }

/* line 168, scss/content/_cms.scss */
.cms-page-view .mapouter .gmap_canvas {
    width: 80%;
    margin: 0 auto;
}
/* line 170, scss/content/_cms.scss */
.cms-page-view .mapouter .gmap_canvas #gmap_canvas {
    width: 100%;
    min-height: 646px; }

.iubenda_legal_document,#iubenda_policy{
    margin:20px;
}
#iubenda_policy h2{
    text-transform: uppercase;
}
@media only screen and (max-width: 979px) {
    /* line 201, scss/content/_cms.scss */
    .cms-page-view #contactForm .fieldset {
        width: 100%; }
    /* line 204, scss/content/_cms.scss */
    .cms-page-view #contactForm .buttons-set {
        text-align: center; }
    /* line 207, scss/content/_cms.scss */
    .cms-page-view #contactForm .buttons-set button.button {
        float: none;
        margin: auto; }
    /* line 212, scss/content/_cms.scss */
    .cms-page-view #contactForm .required {
        font-size: 11px; } }

/* line 224, scss/content/_cms.scss */
.cms-block .title {
    font-family: "Montserrat", serif;
    font-style: italic;
    color: #000000;
    font-size: 25px;
    color: #0a0a0a !important;
    text-transform: uppercase;
    font-style: normal; }

/* line 230, scss/content/_cms.scss */
.cms-block .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    margin-top: 25px;
    text-transform: uppercase;
    margin-bottom: 12px; }

/* line 236, scss/content/_cms.scss */
.cms-block .paragraph {
    font-family: "Montserrat", sans-serif;
    line-height: 22px;
       }
/* line 241, scss/content/_cms.scss */
.cms-block .paragraph .title {
    font-size: 18px;
    margin-bottom: 30px; }
/* line 245, scss/content/_cms.scss */
.cms-block .paragraph p {
    font-family: "Montserrat", sans-serif;
    margin: 0; }

/* line 250, scss/content/_cms.scss */
.cms-block .cms-block__mobileimg {
    display: none; }

/* line 255, scss/content/_cms.scss */
.cms-block.picture-text-center {
    margin: 0 0 90px 0;
    width: 100%; }
/* line 259, scss/content/_cms.scss */
.cms-block.picture-text-center .text-center {
    max-width: 400px;
    margin: auto;
    text-align: center;
    margin-top: 80px; }
/* line 264, scss/content/_cms.scss */
.cms-block.picture-text-center .text-center .title {
    margin-bottom: 30px; }

/* line 269, scss/content/_cms.scss */
.cms-block.col2-img-text {
    margin-bottom: 9%; }
/* line 271, scss/content/_cms.scss */
.cms-block.col2-img-text .col-1 img {
    float: right;
    padding-right: 16.5%; }
/* line 275, scss/content/_cms.scss */
.cms-block.col2-img-text .col-2.paragraph {
    text-align: center;
    font-family: "Montserrat", sans-serif;
    color: #000000;
    max-width: 800px;
    margin: auto;
    font-size: 14px;
    line-height: 25px;}
/* line 286, scss/content/_cms.scss */
.cms-block.col2-img-text .col-2.paragraph .paragraph-container {
    max-width: 450px;
    margin: auto; }
/* line 290, scss/content/_cms.scss */
.cms-block.col2-img-text .col-2.paragraph .paragraph-container .title {
    position: absolute;
    top: -6%; }
/* line 294, scss/content/_cms.scss */
.cms-block.col2-img-text .col-2.paragraph .paragraph-container .subtitle {
    position: absolute;
    top: -10%; }
/* line 302, scss/content/_cms.scss */
.cms-block.col2-img-text.larger-img .col-1 {
    width: 51%;
    padding: 0;
    float: none; }
/* line 307, scss/content/_cms.scss */
.cms-block.col2-img-text.larger-img .col-1 img {
    padding-right: 0px; }
/* line 311, scss/content/_cms.scss */
.cms-block.col2-img-text.larger-img .col-2 {
    width: 49%;
    padding-left: 8%; }
/* line 314, scss/content/_cms.scss */
.cms-block.col2-img-text.larger-img .col-2 .subtitle {
    margin-top: -114px;
    top: unset; }
/* line 318, scss/content/_cms.scss */
.cms-block.col2-img-text.larger-img .col-2 .title {
    margin-top: -86px;
    top: unset; }

/* line 325, scss/content/_cms.scss */
.cms-block.video-container-boxed {
    text-align: center;
    margin-bottom: 17%; }
/* line 328, scss/content/_cms.scss */
.cms-block.video-container-boxed video {
    max-width: 100%;
    width: 1565px; }
/* line 332, scss/content/_cms.scss */
.cms-block.video-container-boxed .text-left {
    width: 1565px;
    max-width: 100%;
    margin: auto;
    text-align: left; }
/* line 337, scss/content/_cms.scss */
.cms-block.video-container-boxed .text-left .subtitle {
    margin-top: 8%;
    margin-bottom: 30px; }
/* line 341, scss/content/_cms.scss */
.cms-block.video-container-boxed .text-left .paragraph {
    max-width: 930px; }

/* line 346, scss/content/_cms.scss */
.cms-block.link-text-center {
    margin-bottom: 65px; }
/* line 348, scss/content/_cms.scss */
.cms-block.link-text-center .text-center {
    max-width: 800px;
    margin: auto;
    text-align: center;
    margin-top: 80px; }
/* line 353, scss/content/_cms.scss */
.cms-block.link-text-center .text-center .paragraph {
    font-weight: 300;
      
    line-height: 25px;
    margin: 30px 0; }

/* line 362, scss/content/_cms.scss */
.cms-block .cms-block__mobileimg {
    width: 100%; }

/* line 366, scss/content/_cms.scss */
.cms-block .cms-block__deskimg {
    width: 100%; }

@media only screen and (min-width: 980px) {
    /* line 374, scss/content/_cms.scss */
    .cms-block.col2-img-text {
        position: relative; }
    /* line 377, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set {
        width: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row; }
    /* line 383, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set .col-1 {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 50%;
        -ms-flex: 0 1 50%;
        flex: 0 1 50%;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0;
        width: unset;
        float: none;
        margin: auto; }
    /* line 392, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set .col-1 .cms-block__deskimg {
        margin: auto; }
    /* line 398, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set .col-2.paragraph {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 0 1 50%;
        -ms-flex: 0 1 50%;
        flex: 0 1 50%;
        max-width: unset;
        float: none;
        width: unset;
        padding: unset;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-grid-column-align: center;
        justify-items: center; }
    /* line 410, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set .col-2.paragraph .paragraph-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 330px;
        margin: auto;
        -webkit-align-self: center;
        -ms-flex-item-align: center;
        align-self: center;
        justify-self: center;
        text-align: left; }
    /* line 419, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set .col-2.paragraph .paragraph-container .subtitle {
        position: relative;
        top: unset;
        margin-top: unset; }
    /* line 425, scss/content/_cms.scss */
    .cms-block.col2-img-text .col2-set .col-2.paragraph .paragraph-container .title {
        position: relative;
        margin: 0 0 30px 0;
        top: unset; }
    /* line 436, scss/content/_cms.scss */
    .cms-block.picture-text-center {
        margin-bottom: 150px; }
    /* line 439, scss/content/_cms.scss */
    .cms-block.picture-text-center .text-center {
        max-width: 800px; }
    /* line 444, scss/content/_cms.scss */
    .cms-block.col2-img-text {
        margin-bottom: 180px; }
    /* line 449, scss/content/_cms.scss */
    .cms-block.video-container-boxed:last-child {
        margin-bottom: 0; } }

@media only screen and (max-width: 979px) {
    /* line 458, scss/content/_cms.scss */
    .cms-block .title {
        margin-bottom: 20px; }
    /* line 461, scss/content/_cms.scss */
    .cms-block .cms-block__mobileimg {
        display: block; }
    /* line 464, scss/content/_cms.scss */
    .cms-block .cms-block__deskimg {
        display: none; }
    /* line 468, scss/content/_cms.scss */
    .cms-block.col2-img-text {
        margin-bottom: 90px; }
    /* line 471, scss/content/_cms.scss */
    .cms-block.col2-img-text .col-1 {
        width: 100%; }
    /* line 473, scss/content/_cms.scss */
    .cms-block.col2-img-text .col-1 img {
        float: unset;
        padding: 0;
        margin: auto; }
    /* line 479, scss/content/_cms.scss */
    .cms-block.col2-img-text .col-2.paragraph {
        width: 100%;
        text-align: center; }
    /* line 482, scss/content/_cms.scss */
    .cms-block.col2-img-text .col-2.paragraph .paragraph-container {
        margin: auto; }
    /* line 485, scss/content/_cms.scss */
    .cms-block.col2-img-text .col-2.paragraph .paragraph-container .subtitle {
        position: unset;
        margin-top: 50px;
        margin-bottom: 20px; }
    /* line 490, scss/content/_cms.scss */
    .cms-block.col2-img-text .col-2.paragraph .paragraph-container .title {
        position: unset; }
    /* line 496, scss/content/_cms.scss */
    .cms-block.col2-img-text.larger-img .col-1 {
        width: 100%; }
    /* line 499, scss/content/_cms.scss */
    .cms-block.col2-img-text.larger-img .col-2 {
        width: 100%;
        padding: 0; }
    /* line 502, scss/content/_cms.scss */
    .cms-block.col2-img-text.larger-img .col-2 .title {
        margin-top: 0; }
    /* line 508, scss/content/_cms.scss */
    .cms-block.picture-text-center {
        margin: 0 0 90px 0;
        width: 100%; } }

@media only screen and (max-width: 599px) {
    /* line 517, scss/content/_cms.scss */
    .cms-block.link-text-center .text-center .subtitle.btn-secondary {
        padding: 5px 40%; } }

/* line 527, scss/content/_cms.scss */
.cms-tecnologia .page-header, .cms-technology .page-header {
    margin-bottom: 0px; }

/* line 530, scss/content/_cms.scss */
.cms-tecnologia .col-main, .cms-technology .col-main {
    padding-left: 0; }

/* line 533, scss/content/_cms.scss */
.cms-tecnologia .articles-container, .cms-technology .articles-container {
    max-width: 800px;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
/* line 540, scss/content/_cms.scss */
.cms-tecnologia .articles-container .article, .cms-technology .articles-container .article {
    -webkit-flex-basis: 49%;
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    margin-top: 50px; }
/* line 543, scss/content/_cms.scss */
.cms-tecnologia .articles-container .article .title, .cms-technology .articles-container .article .title {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    margin-top: 30px;
    text-transform: uppercase; }
/* line 549, scss/content/_cms.scss */
.cms-tecnologia .articles-container .article .subtitle, .cms-technology .articles-container .article .subtitle {
    font-family: "Montserrat", serif;
    font-size: 14px;
    margin: 15px 0;
    text-transform: uppercase; }
/* line 555, scss/content/_cms.scss */
.cms-tecnologia .articles-container .article .content, .cms-technology .articles-container .article .content {
    display: none;
    font-family: "Montserrat", sans-serif;
    font-size: 12px; }
/* line 560, scss/content/_cms.scss */
.cms-tecnologia .articles-container .article:hover, .cms-technology .articles-container .article:hover {
    text-decoration: none;
    cursor: pointer; }

/* line 566, scss/content/_cms.scss */
.cms-tecnologia .sidebar, .cms-technology .sidebar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: -50px;
    padding-right: 0; }
/* line 571, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block, .cms-technology .sidebar .cms-content-block {
    position: relative;
    background-color: #000000;
    color: #fefefe;
    border-bottom: 1px solid #fefefe; }
/* line 576, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block:before, .cms-technology .sidebar .cms-content-block:before {
    content: '';
    display: block;
    padding-top: 100%; }
/* line 581, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block .content, .cms-technology .sidebar .cms-content-block .content {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 100%;
    padding-left: 50px; }
/* line 589, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block .content .title, .cms-technology .sidebar .cms-content-block .content .title {
    font-style: 19px;
    margin-bottom: 10px; }
/* line 593, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block .content .subtitle, .cms-technology .sidebar .cms-content-block .content .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    color: #fefefe;
    margin-bottom: 20px; }
/* line 598, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block .content .paragraph, .cms-technology .sidebar .cms-content-block .content .paragraph {
    margin-bottom: 30px;
    max-width: 300px; }
/* line 602, scss/content/_cms.scss */
.cms-tecnologia .sidebar .cms-content-block .content .button, .cms-technology .sidebar .cms-content-block .content .button {
    color: #fefefe;
    border-color: #fefefe; }

/* line 610, scss/content/_cms.scss */
.article-content {
    max-width: 800px;
    margin: 0 auto; }
/* line 613, scss/content/_cms.scss */
.article-content .title {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    margin-top: 30px;
    text-transform: uppercase; }
/* line 619, scss/content/_cms.scss */
.article-content .subtitle {
    font-family: "Montserrat", serif;
    font-size: 14px;
    margin: 15px 0;
    text-transform: uppercase; }
/* line 625, scss/content/_cms.scss */
.article-content .content {
    font-family: "Montserrat", sans-serif;
    font-size: 14px; }

/* line 631, scss/content/_cms.scss */
.mobile-cms-content {
    display: none; }
/* line 633, scss/content/_cms.scss */
.mobile-cms-content .close-tab {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    text-decoration: underline;
    margin-top: 40px; }

/* line 642, scss/content/_cms.scss */
#cms-page-content video, .mobile-cms-content video {
    max-width: 100%; }

/* line 645, scss/content/_cms.scss */
#cms-page-content #slider-img, #cms-page-content #slider-img-mobile, .mobile-cms-content #slider-img, .mobile-cms-content #slider-img-mobile {
    margin: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
/* line 650, scss/content/_cms.scss */
#cms-page-content #slider-img .slick-track img, #cms-page-content #slider-img-mobile .slick-track img, .mobile-cms-content #slider-img .slick-track img, .mobile-cms-content #slider-img-mobile .slick-track img {
    max-width: 515px;
    margin: auto;
    width: 100%; }
/* line 656, scss/content/_cms.scss */
#cms-page-content #slider-img button, #cms-page-content #slider-img-mobile button, .mobile-cms-content #slider-img button, .mobile-cms-content #slider-img-mobile button {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 50%;
    z-index: 1; }
/* line 661, scss/content/_cms.scss */
#cms-page-content #slider-img button.slick-next, #cms-page-content #slider-img-mobile button.slick-next, .mobile-cms-content #slider-img button.slick-next, .mobile-cms-content #slider-img-mobile button.slick-next {
    right: 0%; }

/* line 667, scss/content/_cms.scss */
#cms-page-content .cms-block .text-left, .mobile-cms-content .cms-block .text-left {
    margin-top: 70px; }
/* line 669, scss/content/_cms.scss */
#cms-page-content .cms-block .text-left .title, .mobile-cms-content .cms-block .text-left .title {
    margin-bottom: 30px; }
/* line 672, scss/content/_cms.scss */
#cms-page-content .cms-block .text-left .paragraph p, .mobile-cms-content .cms-block .text-left .paragraph p {
    max-width: 400px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }

@media only screen and (max-width: 979px) {
    /* line 682, scss/content/_cms.scss */
    .cms-tecnologia .col-left.sidebar, .cms-technology .col-left.sidebar {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        transition: width 1s, height 1s;
        will-change: width; }
    /* line 688, scss/content/_cms.scss */
    .mobile-cms-content {
        padding: 20px 15px; } }

@media only screen and (max-width: 770px) {
    /* line 694, scss/content/_cms.scss */
    .cms-tecnologia .articles-container .article, .cms-technology .articles-container .article {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media only screen and (max-width: 599px) {
    /* line 702, scss/content/_cms.scss */
    .sidebar .cms-content-block .content {
        padding: 0 15px; }
    /* line 708, scss/content/_cms.scss */
    #slider-img-mobile .slick-arrow {
        width: 20px;
        height: 20px;
        border: 2px solid black;
        position: absolute;
        bottom: 0px;
        z-index: 1; }
    /* line 715, scss/content/_cms.scss */
    #slider-img-mobile .slick-arrow.arrow-next {
        right: 0; }
    /* line 717, scss/content/_cms.scss */
    #slider-img-mobile .slick-arrow.arrow-next div {
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        margin-right: 7px; }
    /* line 722, scss/content/_cms.scss */
    #slider-img-mobile .slick-arrow div {
        width: 5px;
        height: 5px;
        border: 1px solid black;
        margin: auto;
        border-bottom: none;
        border-right: none;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin-top: 5px; } }

/* line 739, scss/content/_cms.scss */
.cms-newsletter .breadcrumbs {
    display: none; }

/* line 742, scss/content/_cms.scss */
.cms-newsletter .std {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 746, scss/content/_cms.scss */
.cms-newsletter .std .img-container {
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
/* line 748, scss/content/_cms.scss */
.cms-newsletter .std .img-container img {
    float: left;
    width: 100%; }
/* line 754, scss/content/_cms.scss */
.cms-newsletter .std .text-container {
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%; }
/* line 756, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div {
    width: 80%;
    margin: 0 auto;
    margin-top:18%;
    text-align: center; }
/* line 760, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .title {
    font-family: "Montserrat", serif;
    font-size: 14px;
    margin: 15px 0;
    font-weight:bold;
    text-transform: uppercase; }
/* line 766, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    line-height: 25px;
    margin-bottom: 50px;
    line-height: 25px;
      
    font-weight: 300; }
/* line 773, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .block-subscribe {
    text-align: left;
    margin: 0 auto; }
/* line 777, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .block-subscribe > label {
    display: block;
    margin-bottom: 5px; }
/* line 781, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .block-subscribe .validation-advice {
    position: absolute; }
/* line 784, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .block-subscribe .check-terms {
    margin-top: 40px; }
/* line 787, scss/content/_cms.scss */
.cms-newsletter .std .text-container > div .block-subscribe .actions {
    max-width: 200px;
    margin: 0 auto;
    margin-top: 30px; }

@media only screen and (max-width: 979px) {
    /* line 800, scss/content/_cms.scss */
    .cms-newsletter .std .img-container {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
    /* line 802, scss/content/_cms.scss */
    .cms-newsletter .std .img-container img {
        max-width: unset; }
    /* line 806, scss/content/_cms.scss */
    .cms-newsletter .std .text-container {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%; } }

@media only screen and (max-width: 770px) {
    /* line 814, scss/content/_cms.scss */
    .cms-newsletter .std {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 816, scss/content/_cms.scss */
    .cms-newsletter .std .text-container {
        padding: 0 15px;
        width: 100%; }
    /* line 819, scss/content/_cms.scss */
    .cms-newsletter .std .text-container > div {
        width: 100%;
        margin-bottom:18%;
    }
    /* line 821, scss/content/_cms.scss */
    .cms-newsletter .std .text-container > div .title {
        margin-top: 40px;
        font-size: 19px; }
    /* line 826, scss/content/_cms.scss */
    .cms-newsletter .std .text-container > div .content input[type=email] {
        width: 100%; } 
}

/*
*
*
* ASSISTANCE
*
*
*/
.cms-assistance .col2-left-layout .col-main{
    margin:35px 0;
}
.cms-assistance .col-left{
    margin: 35px 0;
    padding-left: 20px;
}
/* line 842, scss/content/_cms.scss */
.cms-assistance .sidebar .service-list li {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: 300;
    text-transform: uppercase; }

/* line 858, scss/content/_cms.scss */
.cms-assistance .std {
    border-left: 1px solid #0a0a0a;
    padding-left: 45px;
    padding-right: 20px;}
/* line 861, scss/content/_cms.scss */
.cms-assistance .std .paragraph {
    display: none;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
    line-height: 12px;
    font-weight: 300;
    font-size: 14px;
    line-height: 25px;
    font-weight: 300; }
/* line 867, scss/content/_cms.scss */
.cms-assistance .std .paragraph:first-child {
    display: block; }
/* line 871, scss/content/_cms.scss */
.cms-assistance .std .paragraph .title,
.cms-assistance .sidebar .service-list li:first-child{
    text-transform: uppercase;
    margin-bottom: 0;
    padding-bottom: 25px;}
.cms-assistance .sidebar .service-list li:first-child{
    font-weight:bold;
    font-size: 18px;
}
/* line 882, scss/content/_cms.scss */
.cms-assistance .std .paragraph .store-data {
    margin-bottom: 30px; }
/* line 886, scss/content/_cms.scss */
.cms-assistance .std .paragraph .store-data li {
    font-family: "Montserrat", sans-serif;
    color: #000000;
    max-width: 800px;
    font-size: 14px;
    line-height: 25px;
    font-weight: 300; }
/* line 894, scss/content/_cms.scss */
.cms-assistance .std .paragraph .store-data li > a {
    padding-left: 20px;
    text-transform: initial; }
/* line 900, scss/content/_cms.scss */
.cms-assistance .std .paragraph .assistance-available {
    text-align: left;
    margin-bottom: 30px; }
/* line 906, scss/content/_cms.scss */
.cms-assistance .std .paragraph .store-data li {
    text-transform: uppercase; }

/* line 921, scss/content/_cms.scss */
.cms-assistance .std .paragraph .title-content {
    display: none; }

@media only screen and (max-width: 979px) {
    /* line 930, scss/content/_cms.scss */
    .cms-assistance .sidebar {
        display: none; }
    /* line 933, scss/content/_cms.scss */
    .cms-assistance .col2-left-layout .col-main {
        float: unset;
        width: 100%; }
    /* line 937, scss/content/_cms.scss */
    .cms-assistance .std {
        padding: 0 15px;
        border: none; }
    /* line 940, scss/content/_cms.scss */
    .cms-assistance .std .paragraph:first-child {
        display: block;
        margin: 70px auto 0;
        max-width: 400px; }

    /* line 959, scss/content/_cms.scss */
    .cms-assistance .std .paragraph h2.title {
        text-align: center; }
    /* line 963, scss/content/_cms.scss */
    .cms-assistance .std .paragraph .assistance-available {
        text-align: center;
        font-size: 11px; }
    /* line 967, scss/content/_cms.scss */
    .cms-assistance .std .paragraph .store-data li {
        font-size: 11px; }
    /* line 969, scss/content/_cms.scss */
    .cms-assistance .std .paragraph .store-data li > a {
        padding-left: 0; }
    /* line 977, scss/content/_cms.scss */
    .cms-assistance .std .paragraph h2.title {
        text-align: center; } }

/* line 982, scss/content/_cms.scss */
.assistance-sections {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 300;
    padding: 0 20px;
    margin: 0 auto 60px auto;}
/* line 983, scss/content/_cms.scss */
.assistance-sections .title-content {
    display: none;}
/* line 994, scss/content/_cms.scss */
.assistance-sections .title {
    font-family: "Montserrat", serif;
    font-size: 14px;
    text-transform: uppercase;
    color: #000000;
    padding: 20px 0;
    margin-bottom: 0; }
/* line 1002, scss/content/_cms.scss */
.assistance-sections h2.title {
    margin: 35px 0;
    padding: 0;
    text-align: center; }

/* line 1015, scss/content/_cms.scss */
.cms-lavora-con-noi .page-title, .cms-work-with-us .page-title {
    display: block;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 35px; }
/* line 1020, scss/content/_cms.scss */
.cms-lavora-con-noi .page-title h1, .cms-work-with-us .page-title h1 {
    text-transform: uppercase; }

/* line 1024, scss/content/_cms.scss */
.cms-lavora-con-noi .std, .cms-work-with-us .std {
    font-family: "Montserrat", sans-serif;
    text-align: center;
    line-height: 25px;
      
    font-weight: 300; }
/* line 1028, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request, .cms-work-with-us .std #request {
    text-align: left;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 65%;
    margin: auto;
    margin-top: 50px; }
/* line 1036, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .left, .cms-work-with-us .std #request .left {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 400px;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    padding-bottom: 40px;
    border-bottom: 1px solid #0a0a0a; }
/* line 1044, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .left .info, .cms-work-with-us .std #request .left .info {
    margin-bottom: 25px;
    text-transform: uppercase;
    width: 49%; }
/* line 1049, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .left .inputfile, .cms-work-with-us .std #request .left .inputfile {
    position: relative;
    max-width: 400px; }
/* line 1052, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .left .inputfile > img, .cms-work-with-us .std #request .left .inputfile > img {
    position: absolute;
    right: 8px;
    top: 8px; }
/* line 1062, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .check-terms, .cms-work-with-us .std #request .check-terms {
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    margin-top: 20px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
/* line 1067, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .check-terms input[type="checkbox"], .cms-work-with-us .std #request .check-terms input[type="checkbox"] {
    margin-top: 7px;
    margin-right: 10px; }
/* line 1071, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .check-terms .input-box, .cms-work-with-us .std #request .check-terms .input-box {
    width: unset; }
/* line 1074, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .check-terms .validation-advice, .cms-work-with-us .std #request .check-terms .validation-advice {
    bottom: -18px; }
/* line 1078, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request > p.required, .cms-work-with-us .std #request > p.required {
    margin-top: 20px;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    font-family: "Montserrat", sans-serif;
    font-size: 11px; }
/* line 1084, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .button-container, .cms-work-with-us .std #request .button-container {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    text-align: center;
    margin-top: 40px; }
/* line 1088, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .button-container .btn-primary, .cms-work-with-us .std #request .button-container .btn-primary {
    max-width: 140px;
    float: unset;
    margin: auto;
    background-color: #000000;
    color: #fefefe; }
/* line 1094, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .button-container .btn-primary:hover, .cms-work-with-us .std #request .button-container .btn-primary:hover {
    background-color: #fefefe;
    color: #000000; }
/* line 1100, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .select, .cms-work-with-us .std #request .select {
    max-width: 400px; }
/* line 1103, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .input-box, .cms-lavora-con-noi .std #request .select, .cms-work-with-us .std #request .input-box, .cms-work-with-us .std #request .select {
    margin-bottom: 20px;
    width: 49%; }
/* line 1108, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request #customer_cv, .cms-work-with-us .std #request #customer_cv {
    width: 100%; }
/* line 1111, scss/content/_cms.scss */
.cms-lavora-con-noi .std #request .validation-advice, .cms-work-with-us .std #request .validation-advice {
    position: absolute;
    font-family: "Montserrat", sans-serif; }

@media only screen and (max-width: 979px) {
    /* line 1120, scss/content/_cms.scss */
    .cms-lavora-con-noi .page-title h1, .cms-work-with-us .page-title h1 {
        font-size: 14px; }
    /* line 1123, scss/content/_cms.scss */
    .cms-lavora-con-noi .std, .cms-work-with-us .std {
        font-size: 11px; }
    /* line 1126, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request, .cms-work-with-us .std #request {
        width: 100%; }
    /* line 1128, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .left, .cms-work-with-us .std #request .left {
        max-height: unset;
        border-bottom: none;
        padding-bottom: 0; }
    /* line 1132, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .left .input-box, .cms-work-with-us .std #request .left .input-box {
        width: 100%; }
    /* line 1134, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .left .input-box input[type=text], .cms-work-with-us .std #request .left .input-box input[type=text] {
        width: 100%; }
    /* line 1138, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .left .info, .cms-work-with-us .std #request .left .info {
        text-transform: initial;
        text-align: center; }
    /* line 1142, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .left .info, .cms-lavora-con-noi .std #request .left .select, .cms-lavora-con-noi .std #request .left .inputfile, .cms-work-with-us .std #request .left .info, .cms-work-with-us .std #request .left .select, .cms-work-with-us .std #request .left .inputfile {
        width: 100%;
        max-width: unset; }
    /* line 1147, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .check-terms, .cms-work-with-us .std #request .check-terms {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2; }
    /* line 1151, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .button-container, .cms-work-with-us .std #request .button-container {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3; }
    /* line 1154, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .button-container button, .cms-work-with-us .std #request .button-container button {
        background: #0a0a0a;
        color: #fefefe;
        margin-bottom: 80px; }
    /* line 1158, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .button-container button:hover, .cms-work-with-us .std #request .button-container button:hover {
        background: #fefefe;
        color: #000000; }
    /* line 1164, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request > p.required, .cms-work-with-us .std #request > p.required {
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin-top: 0; }
    /* line 1168, scss/content/_cms.scss */
    .cms-lavora-con-noi .std #request .validation-advice, .cms-work-with-us .std #request .validation-advice {
        font-size: 11px; } }

@media only screen and (max-width: 599px) {
    /* line 1178, scss/content/_cms.scss */
    .cms-page-view .mapouter .gmap_canvas #gmap_canvas {
        min-height: 300px;
        margin-bottom: 60px; } }

/* line 2, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
/* line 6, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-1 {
    width: 55%;
    padding: 0; }
/* line 9, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-1 img {
    float: right;
    padding-right: 0; }
/* line 13, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-1 .title, .product-costum.col2-img-text .col2-set .col-1 .subtitle, .product-costum.col2-img-text .col2-set .col-1 p {
    max-width: 585px;
    margin-left: auto;
    text-align: left;
    padding-right: 15%; }
/* line 20, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2 {
    width: 45%;
    position: unset;
    padding-left: 8%; }
/* line 24, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2 .title, .product-costum.col2-img-text .col2-set .col-2 .subtitle, .product-costum.col2-img-text .col2-set .col-2 p {
    max-width: 450px; }
/* line 27, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2.img {
    padding-left: 0; }
/* line 32, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2 .title, .product-costum.col2-img-text .col2-set .col-2 .subtitle, .product-costum.col2-img-text .col2-set .col-2 p, .product-costum.col2-img-text .col2-set .col-1 .title, .product-costum.col2-img-text .col2-set .col-1 .subtitle, .product-costum.col2-img-text .col2-set .col-1 p {
    position: unset; }
/* line 35, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2 .subtitle, .product-costum.col2-img-text .col2-set .col-1 .subtitle {
    margin-bottom: 50px; }
/* line 38, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2 .title, .product-costum.col2-img-text .col2-set .col-1 .title {
    margin-bottom: 30px; }
/* line 41, scss/content/_product.scss */
.product-costum.col2-img-text .col2-set .col-2 p, .product-costum.col2-img-text .col2-set .col-1 p {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }

/* line 48, scss/content/_product.scss */
.product-costum.video-container-boxed .text-left {
    margin-left: 55%;
    max-width: 25%; }
/* line 51, scss/content/_product.scss */
.product-costum.video-container-boxed .text-left .title {
    margin-bottom: 30px; }
/* line 54, scss/content/_product.scss */
.product-costum.video-container-boxed .text-left .paragraph {
    margin-bottom: 80px; }
/* line 55, scss/content/_product.scss */
.product-costum.video-container-boxed .text-left .paragraph p {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300; }

/* line 61, scss/content/_product.scss */
.product-costum.video-container-boxed video {
    max-width: 65%;
    float: right;
    margin-right: 12%; }

@media only screen and (max-width: 1200px) {
    /* line 70, scss/content/_product.scss */
    .product-costum.video-container-boxed .text-left {
        max-width: 45%; }
    /* line 73, scss/content/_product.scss */
    .product-costum.video-container-boxed video {
        float: unset;
        max-width: 100%;
        margin-right: 0; } }

/* line 9, scss/content/_customizer.scss */
.cosmo-customizer-index-index .images-container {
    text-align: center;
    width: 66.66667%; }
/* line 12, scss/content/_customizer.scss */
.cosmo-customizer-index-index .images-container #threesixty {
    margin: auto;
    max-width: 750px;
    max-height: 750px; }

/* line 19, scss/content/_customizer.scss */
.cosmo-customizer-index-index .initials-details-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around; }
/* line 23, scss/content/_customizer.scss */
.cosmo-customizer-index-index .initials-details-container .front-img-detail {
    max-width: 500px;
    max-height: 500px; }
/* line 27, scss/content/_customizer.scss */
.cosmo-customizer-index-index .initials-details-container .back-img-detail {
    position: relative; }
/* line 29, scss/content/_customizer.scss */
.cosmo-customizer-index-index .initials-details-container .back-img-detail img {
    position: absolute;
    top: 0; }
/* line 32, scss/content/_customizer.scss */
.cosmo-customizer-index-index .initials-details-container .back-img-detail img:first-child {
    position: unset; }
/* line 36, scss/content/_customizer.scss */
.cosmo-customizer-index-index .initials-details-container .back-img-detail.visible-detail {
    width: 500px;
    height: 500px; }

/* line 46, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container {
    width: 33.33333%;
    padding: 0 15px; }
/* line 49, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .customizer-block {
    padding-top: 20px;
    padding-bottom: 50px;
    border-bottom: 1px solid #0a0a0a; }
/* line 53, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile {
    display: none; }
/* line 57, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block {
    padding-bottom: 80px;
    border-bottom: 1px solid #0a0a0a; }
/* line 60, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block .name {
    font-size: 19px;
    margin-bottom: 20px; }
/* line 64, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block .price {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    float: left;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 25%;
    position: relative; }
/* line 71, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block .price .symbol {
    margin-right: 5px; }
/* line 74, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block .price .value {
    padding-right: 5px; }
/* line 77, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block .price .info-iva {
    width: 300%;
    font-size: 11px;
    position: absolute;
    bottom: -51px; }
/* line 84, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .top-block .delivery_time_date {
    float: right;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    font-size: 12px;
       }
/* line 92, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .title {
    font-size: 12px;
    font-family: "Montserrat", sans-serif;
    text-transform: uppercase;
    margin-bottom: 15px;
       }
/* line 99, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .subtitle {
    font-size: 12px;
    font-family: "Montserrat", sans-serif;
    margin-bottom: 35px;
       }
/* line 105, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .table-row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 15px; }
/* line 109, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .table-row .id {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    min-width: 85px;
    text-transform: uppercase; }
/* line 114, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .table-row .values {
    width: 85%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 119, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .table-row .values .value {
    margin-right: 15px; }
/* line 122, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .table-row .values .value label img {
    max-width: 45px; }
/* line 126, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .table-row .values .value:last-child {
    margin-right: 0; }
/* line 132, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container input[type=radio] {
    display: none; }
/* line 135, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container input[type=radio]:checked + label {
    border: 2px solid #0a0a0a;
    pointer-events: auto; }
/* line 139, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container input[type=radio]:disabled + label {
    opacity: 0.1;
    border: 2px solid transparent;
    cursor: initial;
    pointer-events: none; }
/* line 145, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container input[type=radio] + label {
    border: 2px solid transparent;
    cursor: pointer;
    pointer-events: auto; }
/* line 150, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block {
    padding-bottom: 0px;
    position: relative; }
/* line 153, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .letters {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
/* line 157, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .letters .letter {
    position: relative;
    padding-bottom: 50px; }
/* line 163, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .letters .letter label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    width: 100%; }
/* line 167, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .letters .letter input {
    max-width: 50px;
    border: 1px solid #0a0a0a;
    font-size: 25px;
    font-style: italic;
    font-family: "Montserrat", serif;
    text-align: center; }
/* line 175, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .letters .letter .validation-advice {
    position: absolute;
    padding-right: 10px; }
/* line 179, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .letters .letter .suggestion {
    color: #DF280A; }
/* line 184, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .suggestion-initials {
    display: none; }
/* line 187, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .validation-letter-advice {
    display: none;
    bottom: 0;
    font-family: "Montserrat", sans-serif; }
/* line 193, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .initials-block .initials-details-container {
    display: none; }
/* line 197, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block {
    padding-top: 20px;
    border: none;
    padding-bottom: 0; }
/* line 202, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .title > a {
    float: right; }
/* line 207, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .values label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    padding: 5px; }
/* line 211, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .values .size-separator {
    display: inline-block; }
/* line 213, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .values .size-separator:after {
    content: '-';
    margin: 0 5px; }
/* line 217, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .values .size-separator:last-child {
    display: none; }
/* line 222, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .popup-overlay {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #fefefe;
    opacity: .8; }
/* line 234, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .popup-size-guide {
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    text-align: center; }
/* line 244, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .popup-size-guide:before {
    content: '';
    display: inline-block;
    vertical-align: middle; }
/* line 250, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .popup-size-guide .closepopup {
    background-image: url("../images/close-icon.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15px;
    padding-top: 30px;
    padding-right: 30px;
    width: 15px;
    position: absolute;
    top: 0;
    right: 0; }
/* line 262, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .popup-size-guide #size-guide {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #0a0a0a;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
/* line 274, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .popup-size-guide #size-guide .subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300; }
/* line 280, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .size-guide-title {
    padding: 10px 0;
    padding: 10px 0;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: #000000;
     
    line-height: 12px;
    font-weight: 300;
    line-height: 25px;
      
    font-weight: 300;
    text-transform: uppercase;
    text-align: center; }
/* line 288, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide {
    margin-bottom: 30px; }
/* line 290, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide table {
    font-family: "Montserrat", sans-serif;
    font-size: 11px; }
/* line 294, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide tr {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
/* line 297, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide tr .first-column {
    position: absolute;
    width: 100px;
    color: #000;
    padding: 0 10px;
    padding-right: 20px;
    -webkit-justify-content: left;
    -ms-flex-pack: left;
    justify-content: left;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fefefe; }
/* line 308, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide tr th {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 45px;
    min-width: 50px; }
/* line 316, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide tr th:nth-child(2) {
    min-width: 110px; }
/* line 320, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .size-block .sizeguide tr:nth-child(even) {
    background-color: #f8f5f5; }
/* line 327, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .buttons .btn-cart {
    max-width: 170px;
    margin-top: 50px; }
/* line 330, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .buttons .btn-cart.not-clickable {
    pointer-events: none; }
/* line 334, scss/content/_customizer.scss */
.cosmo-customizer-index-index .product-info-container .buttons .top-block {
    display: none; }

/** RESPONSIVE **/
@media only screen and (max-width: 979px) {
    /* line 345, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container {
        width: 100%; }
    /* line 349, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container .slick-slider .slick-arrow {
        width: 20px;
        height: 20px;
        border: 2px solid #0a0a0a;
        position: absolute;
        bottom: 0px;
        z-index: 1; }
    /* line 356, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container .slick-slider .slick-arrow div {
        width: 5px;
        height: 5px;
        border: 1px solid black;
        margin: auto;
        border-bottom: none;
        border-right: none;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin-top: 5px; }
    /* line 367, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container .slick-slider .arrow-prev {
        left: 0; }
    /* line 370, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container .slick-slider .arrow-next {
        right: 0; }
    /* line 372, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container .slick-slider .arrow-next div {
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        margin-right: 7px; }
    /* line 378, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .images-container .initials-details-container {
        display: none; }
    /* line 382, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container {
        width: 100%; }
    /* line 384, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .top-block {
        padding-top: 20px; }
    /* line 388, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block {
        display: none;
        padding-bottom: 0;
        border-bottom: none;
        min-height: 240px;
        position: relative; }
    /* line 397, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile {
        bottom: 0;
        width: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center; }
    /* line 405, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile a, .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile button {
        font-family: "Montserrat", sans-serif;
        font-size: 11px;
        color: #000000;
         
        line-height: 12px;
        font-weight: 300;
        text-align: center;
        background: #0a0a0a;
        color: #fefefe;
        max-width: 100px;
        padding: 0;
        -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin: auto;
        margin-top: 20px;
        line-height: 40px; }
    /* line 416, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile a:hover, .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile button:hover {
        background: #fefefe;
        color: #000000; }
    /* line 420, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile a.prev, .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile button.prev {
        background: #fefefe;
        color: #000000;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2; }
    /* line 424, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile a.prev:hover, .cosmo-customizer-index-index .product-info-container .customizer-block .actions-mobile button.prev:hover {
        background: #0a0a0a;
        color: #fefefe; }
    /* line 434, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table {
        z-index: 1; }
    /* line 436, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .table-row {
        display: block; }
    /* line 438, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .table-row:focus {
        outline: unset; }
    /* line 449, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .table-row .values {
        padding-top: 20px; }
    /* line 454, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .slick-arrow {
        width: 10px;
        height: 20px;
        position: absolute;
        bottom: 0px;
        z-index: 1; }
    /* line 461, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .mat-arrow-next {
        right: 0; }
    /* line 463, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .mat-arrow-next:after {
        content: '>'; }
    /* line 467, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .mat-arrow-prev {
        left: 0; }
    /* line 469, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block .options-table .mat-arrow-prev:after {
        content: '<'; }
    /* line 475, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .suggestion-initials {
        width: 100%;
        display: none;
        font-family: "Montserrat", sans-serif; }
    /* line 481, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .letters {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
    /* line 484, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .letters .letter .suggestion {
        position: absolute;
        top: 60px; }
    /* line 490, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .validation-letter-advice {
        bottom: unset; }
    /* line 493, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .initials-details-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
    /* line 495, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .initials-details-container .front-img-detail {
        display: none; }
    /* line 500, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.current-step {
        display: block; }
    /* line 504, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .buttons {
        display: none; }
    /* line 506, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .buttons .top-block {
        display: none;
        padding-bottom: 0;
        border: none; }
    /* line 510, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .buttons .top-block .price {
        float: unset;
        padding: 10px 0; }
    /* line 514, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .buttons .top-block .delivery_time_date {
        float: unset;
        font-family: "Montserrat", sans-serif;
        font-size: 11px;
        color: #000000;
         
        line-height: 12px;
        font-weight: 300; }
    /* line 519, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .buttons.current-step {
        display: block; } }

@media only screen and (max-width: 770px) {
    /* line 531, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .initials-details-container {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    /* line 533, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .customizer-block.initials-block .initials-details-container .back-img-detail.visible-detail {
        height: 100%; } }

@media only screen and (max-width: 479px) {
    /* line 547, scss/content/_customizer.scss */
    .cosmo-customizer-index-index .product-info-container .initials-block .letters .letter input {
        max-width: 120px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJfdmFyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJtaXhpbi9fYnJlYWtwb2ludC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIm1peGluL19jbGVhcmZpeC5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsInZlbmRvci9fbm9ybWFsaXplLnNjc3MiLCJjb3JlL19yZXNldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiZnVuY3Rpb24vX2JsYWNrLnNjc3MiLCJjb3JlL19jb21tb24uc2NzcyIsIm1peGluL190eXBvZ3JhcGh5LnNjc3MiLCJtaXhpbi9fbm90LXNlbGVjdGFibGUuc2NzcyIsIm1peGluL190b2dnbGUtY29udGVudC5zY3NzIiwibWl4aW4vX3RyaWFuZ2xlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jb2xvcnMuc2NzcyIsIm1peGluL19pbWFnZS1yZXBsYWNlbWVudC5zY3NzIiwibWl4aW4vX2lmLXJlc29sdXRpb24uc2NzcyIsIm1peGluL19jdXN0b20uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19vcGFjaXR5LnNjc3MiLCJjb3JlL19mb3JtLnNjc3MiLCJjb3JlL190YWJsZS5zY3NzIiwibGF5b3V0L19nbG9iYWwuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1uYXYuc2NzcyIsIm1peGluL19tZW51LnNjc3MiLCJsYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyIsImxheW91dC9faGVhZGVyLWFjY291bnQuc2NzcyIsImxheW91dC9faGVhZGVyLWNhcnQuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJtb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwibWl4aW4vX2xvYWRpbmctb3ZlcmxheS5zY3NzIiwibW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsIm1vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MiLCJtb2R1bGUvX2NhdGFsb2ctY29tcGFyZS5zY3NzIiwibW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MiLCJtb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJtb2R1bGUvX2NoZWNrb3V0LXN1Y2Nlc3Muc2NzcyIsIm1vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyIsIm1vZHVsZS9fY3VzdG9tZXIuc2NzcyIsIm1vZHVsZS9fY29udGFjdHMuc2NzcyIsIm1vZHVsZS9fcGF5cGFsLnNjc3MiLCJtb2R1bGUvX3Jldmlldy5zY3NzIiwibW9kdWxlL19zbGlkZXNob3cuc2NzcyIsIm1vZHVsZS9fd2lzaGxpc3Quc2NzcyIsIm1vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzIiwibW9kdWxlL19zZWFyY2guc2NzcyIsIm1vZHVsZS9fYWNjb3VudC1yZXZpZXdzLnNjc3MiLCJtb2R1bGUvX2Ntcy5zY3NzIiwibW9kdWxlL19wcmljaW5nX2NvbmRpdGlvbnMuc2NzcyIsIm1vZHVsZS9fY29va2llcy5zY3NzIiwibW9kdWxlL190YWdzLnNjc3MiLCJtb2R1bGUvX2NhcHRjaGEuc2NzcyIsIm1vZHVsZS9fYWNjb3VudC1vcmRlcnMuc2NzcyIsIm1vZHVsZS9fcmVjdXJyaW5nLXByb2ZpbGVzLnNjc3MiLCJtb2R1bGUvX2JpbGxpbmctYWdyZWVtZW50cy5zY3NzIiwibW9kdWxlL19wb3B1bGFyLXRlcm1zLnNjc3MiLCJtb2R1bGUvX3dpZGdldC5zY3NzIiwibW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MiLCJtb2R1bGUvX3Jlc28uc2NzcyIsIm92ZXJyaWRlL19wbHVnaW4uc2NzcyIsImNvbnRlbnQvX2hvbWUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL190ZXh0LXNoYWRvdy5zY3NzIiwiY29udGVudC9fY2F0ZWdvcnkuc2NzcyIsImNvbnRlbnQvX2Ntcy5zY3NzIiwiY29udGVudC9fcHJvZHVjdC5zY3NzIiwiY29udGVudC9fY3VzdG9taXplci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ2lQakI7RUFDRSxzQkFBcUI7RUFDckIscUNBQW9DLEVBQUE7O0FBR3RDO0VBQ0UsNEJBQTJCO0VBQzNCLG9FQUFtRSxFQUFBOztBQUdyRTtFQUNFLDRCQUEyQjtFQUMzQixxRUFBb0U7RUFDcEUsbUJBQWtCLEVBQUE7O0FDOVBwQjs7Ozs7R0FLRztBQ3NESDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQ0U7QUN5SEEsNEVBQTRFO0FBRTVFOzs7O0tBSUc7QUovSkwsbUVBQW1FO0FJaUtqRTtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUVEOztLQUVHO0FKN0pMLG1FQUFtRTtBSStKakU7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7a0ZBQ2dGO0FBRWhGOzs7OztLQUtHO0FKL0pMLG1FQUFtRTtBSWlLakU7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFjLEVBQ2Y7O0FBRUQ7OztLQUdHO0FKaEtMLG1FQUFtRTtBSWtLakU7Ozs7RUFJRSxzQkFBcUI7RUFBRSxPQUFPO0VBQzlCLHlC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Z0I7RUFDaEIsZUFBYztFQUNkLGdCQUFlLEVBQ2hCOztBUDhmSCx3RUFBd0U7QU96ZmxFO0VLdEVKLGdCQ2VxRCxFTnlEaEQ7O0FQMmZQLHdFQUF3RTtBT3ZmaEU7RU8zRUosbUJBQWtCO0VBQ2xCLGVBSG1ELEVQK0U5Qzs7QVAwZlQsd0VBQXdFO0FPeGZoRTtFTy9FSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQbUY5Qzs7QVAyZlQseUVBQXlFO0FPcmZuRTtFTzVESixnQkRoQmdDLEVOOEUzQjs7QVB1ZlAsd0VBQXdFO0FPM2dCbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVA2Z0JQLHdFQUF3RTtBT3pnQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUDRnQlQsd0VBQXdFO0FPMWdCaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQNmdCVCx5RUFBeUU7QU92Z0JuRTtFTzVESixzQkRicUQsRU4yRWhEOztBUHlnQlAsd0VBQXdFO0FPN2hCbEU7RUt0RUosV0NlcUQsRU55RGhEOztBUCtoQlAsd0VBQXdFO0FPM2hCaEU7RU8zRUosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQK0U5Qzs7QVA4aEJULHdFQUF3RTtBTzVoQmhFO0VPL0VKLG1CQUFrQjtFQUNsQixXQUhtRCxFUG1GOUM7O0FQK2hCVCx5RUFBeUU7QU96aEJuRTtFTzVESix1QkRicUQsRU4yRWhEOztBUDJoQlAsd0VBQXdFO0FPL2lCbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVBpakJQLHdFQUF3RTtBTzdpQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUGdqQlQsd0VBQXdFO0FPOWlCaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQaWpCVCx5RUFBeUU7QU8zaUJuRTtFTzVESixpQkRicUQsRU4yRWhEOztBUDZpQlAsd0VBQXdFO0FPamtCbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVBta0JQLHdFQUF3RTtBTy9qQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUGtrQlQsd0VBQXdFO0FPaGtCaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQbWtCVCx5RUFBeUU7QU83akJuRTtFTzVESix1QkRicUQsRU4yRWhEOztBUCtqQlAsd0VBQXdFO0FPbmxCbEU7RUt0RUosV0NlcUQsRU55RGhEOztBUHFsQlAsd0VBQXdFO0FPamxCaEU7RU8zRUosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQK0U5Qzs7QVBvbEJULHdFQUF3RTtBT2xsQmhFO0VPL0VKLG1CQUFrQjtFQUNsQixXQUhtRCxFUG1GOUM7O0FQcWxCVCx5RUFBeUU7QU8va0JuRTtFTzVESix1QkRicUQsRU4yRWhEOztBUGlsQlAsd0VBQXdFO0FPcm1CbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVB1bUJQLHdFQUF3RTtBT25tQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUHNtQlQsd0VBQXdFO0FPcG1CaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQdW1CVCx5RUFBeUU7QU9qbUJuRTtFTzVESixpQkRicUQsRU4yRWhEOztBUG1tQlAsd0VBQXdFO0FPdm5CbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVB5bkJQLHdFQUF3RTtBT3JuQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUHduQlQsd0VBQXdFO0FPdG5CaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQeW5CVCx5RUFBeUU7QU9ubkJuRTtFTzVESix1QkRicUQsRU4yRWhEOztBUHFuQlAsd0VBQXdFO0FPem9CbEU7RUt0RUosV0NlcUQsRU55RGhEOztBUDJvQlAsd0VBQXdFO0FPdm9CaEU7RU8zRUosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQK0U5Qzs7QVAwb0JULHdFQUF3RTtBT3hvQmhFO0VPL0VKLG1CQUFrQjtFQUNsQixXQUhtRCxFUG1GOUM7O0FQMm9CVCx5RUFBeUU7QU9yb0JuRTtFTzVESix1QkRicUQsRU4yRWhEOztBUHVvQlAsd0VBQXdFO0FPM3BCbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVA2cEJQLHdFQUF3RTtBT3pwQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUDRwQlQsd0VBQXdFO0FPMXBCaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQNnBCVCx5RUFBeUU7QU92cEJuRTtFTzVESixpQkRicUQsRU4yRWhEOztBUHlwQlAsd0VBQXdFO0FPN3FCbEU7RUt0RUosaUJDZXFELEVOeURoRDs7QVArcUJQLHdFQUF3RTtBTzNxQmhFO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBUDhxQlQsd0VBQXdFO0FPNXFCaEU7RU8vRUosbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUG1GOUM7O0FQK3FCVCx5RUFBeUU7QU96cUJuRTtFTzVESix1QkRicUQsRU4yRWhEOztBUDJxQlAsd0VBQXdFO0FPL3JCbEU7RUt0RUosWUNlcUQsRU55RGhEOztBUGlzQlAseUVBQXlFO0FPanJCbkU7RU81REosdUJEYnFELEVOMkVoRDs7QVBtckJQLHVFQUF1RTtBTzlxQmpFO0VRdkZGLFlBQXVCO0VBQ3ZCLFlYOEV1RCxFVzdDeEQ7RWZ1dUJELHVFQUF1RTtFT2xyQm5FO0lRL0RBLFlBQVcsRUFDWjtFZm12QkgsdUVBQXVFO0VPcnJCbkU7SVEzREEsWUFBVyxFQUNaO0Vma3ZCSCx1RUFBdUU7RU94ckJuRTtJUXZEQSxZWCtDcUQsRVc5Q3REOztBZmt2QkwsdUVBQXVFO0FPNXJCakU7RVF2RkYsV0FBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFZnF2QkQsdUVBQXVFO0VPaHNCbkU7SVEvREEsWUFBVyxFQUNaO0VmaXdCSCx1RUFBdUU7RU9uc0JuRTtJUTNEQSxZQUFXLEVBQ1o7RWZnd0JILHVFQUF1RTtFT3RzQm5FO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FmZ3dCTCx1RUFBdUU7QU8xc0JqRTtFUXZGRixpQkFBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFZm13QkQsdUVBQXVFO0VPOXNCbkU7SVEvREEsWUFBVyxFQUNaO0VmK3dCSCx1RUFBdUU7RU9qdEJuRTtJUTNEQSxZQUFXLEVBQ1o7RWY4d0JILHVFQUF1RTtFT3B0Qm5FO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FmOHdCTCx1RUFBdUU7QU94dEJqRTtFUXZGRixXQUF1QjtFQUN2QixZWDhFdUQsRVc3Q3hEO0VmaXhCRCx1RUFBdUU7RU81dEJuRTtJUS9EQSxZQUFXLEVBQ1o7RWY2eEJILHVFQUF1RTtFTy90Qm5FO0lRM0RBLFlBQVcsRUFDWjtFZjR4QkgsdUVBQXVFO0VPbHVCbkU7SVF2REEsWVgrQ3FELEVXOUN0RDs7QWY0eEJMLHVFQUF1RTtBT3R1QmpFO0VRdkZGLFdBQXVCO0VBQ3ZCLFlYOEV1RCxFVzdDeEQ7RWYreEJELHVFQUF1RTtFTzF1Qm5FO0lRL0RBLFlBQVcsRUFDWjtFZjJ5QkgsdUVBQXVFO0VPN3VCbkU7SVEzREEsWUFBVyxFQUNaO0VmMHlCSCx1RUFBdUU7RU9odkJuRTtJUXZEQSxZWCtDcUQsRVc5Q3REOztBZjB5QkwsdUVBQXVFO0FPcHZCakU7RVF2RkYsaUJBQXVCO0VBQ3ZCLFlYOEV1RCxFVzdDeEQ7RWY2eUJELHVFQUF1RTtFT3h2Qm5FO0lRL0RBLFlBQVcsRUFDWjtFZnl6QkgsdUVBQXVFO0VPM3ZCbkU7SVEzREEsWUFBVyxFQUNaO0Vmd3pCSCx1RUFBdUU7RU85dkJuRTtJUXZEQSxZWCtDcUQsRVc5Q3REOztBZnd6QkwsdUVBQXVFO0FPbHdCakU7RVF2RkYsaUJBQXVCO0VBQ3ZCLFlYOEV1RCxFVzdDeEQ7RWYyekJELHVFQUF1RTtFT3R3Qm5FO0lRL0RBLFlBQVcsRUFDWjtFZnUwQkgsdUVBQXVFO0VPendCbkU7SVEzREEsWUFBVyxFQUNaO0VmczBCSCx1RUFBdUU7RU81d0JuRTtJUXZEQSxZWCtDcUQsRVc5Q3REOztBZnMwQkwsdUVBQXVFO0FPaHhCakU7RVF2RkYsYUFBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFZnkwQkQsdUVBQXVFO0VPcHhCbkU7SVEvREEsWUFBVyxFQUNaO0VmcTFCSCx1RUFBdUU7RU92eEJuRTtJUTNEQSxZQUFXLEVBQ1o7RWZvMUJILHVFQUF1RTtFTzF4Qm5FO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FmbzFCTCx5RUFBeUU7QU94eEJyRTtFR3pHRixnQkFBZTtFQUNmLGlCQUFnQixFSHlHa0M7O0FQNHhCcEQseUVBQXlFO0FPN3hCckU7RUFJSSxlQUFjO0VBQ2QsZ0JBQWUsRUFDaEI7O0FQNHhCUCx5RUFBeUU7QU96eEJyRTtFQUNFLGVBQWM7RUFDZCxnQkFBZSxFQUNoQjs7QVAyeEJMLHlFQUF5RTtBT3p4QnJFO0VHOUdGLHVCQUQ4QjtFQUU5Qix3QkFGOEIsRUhrSCtCOztBUDJ4Qi9ELHlFQUF5RTtBT3Z4QnJFO0VPakhBLGtCQUFpQjtFQUNqQixtQkFBa0IsRVBrSGpCO0VQeXhCSCx5RUFBeUU7RWNoNUJ2RTtJQUNFLFlBQVc7SUFDWCxZQUFXLEVBQ1o7O0FkazVCTCx5RUFBeUU7QU8zeEJyRTs7O0VPNUdGLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixZQUFXLEVQNkdSOztBSUVEO0VYK3hCRix3RUFBd0U7RU85MUJwRTtJS3RFSixnQkNlcUQsRU55RGhEO0VQKzFCTCx3RUFBd0U7RU8zMUJsRTtJTzNFSixtQkFBa0I7SUFDbEIsZUFIbUQsRVArRTlDO0VQNjFCUCx3RUFBd0U7RU8zMUJsRTtJTy9FSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQbUY5QztFUDYxQlAseUVBQXlFO0VPdjFCckU7SU81REosZ0JEaEJnQyxFTjhFM0I7RVB3MUJMLHdFQUF3RTtFTzUyQnBFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVA2MkJMLHdFQUF3RTtFT3oyQmxFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQMjJCUCx3RUFBd0U7RU96MkJsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUDIyQlAseUVBQXlFO0VPcjJCckU7SU81REosc0JEYnFELEVOMkVoRDtFUHMyQkwsd0VBQXdFO0VPMTNCcEU7SUt0RUosV0NlcUQsRU55RGhEO0VQMjNCTCx3RUFBd0U7RU92M0JsRTtJTzNFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVArRTlDO0VQeTNCUCx3RUFBd0U7RU92M0JsRTtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VQeTNCUCx5RUFBeUU7RU9uM0JyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQbzNCTCx3RUFBd0U7RU94NEJwRTtJS3RFSixpQkNlcUQsRU55RGhEO0VQeTRCTCx3RUFBd0U7RU9yNEJsRTtJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFUHU0QlAsd0VBQXdFO0VPcjRCbEU7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RVB1NEJQLHlFQUF5RTtFT2o0QnJFO0lPNURKLGlCRGJxRCxFTjJFaEQ7RVBrNEJMLHdFQUF3RTtFT3Q1QnBFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVB1NUJMLHdFQUF3RTtFT241QmxFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQcTVCUCx3RUFBd0U7RU9uNUJsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUHE1QlAseUVBQXlFO0VPLzRCckU7SU81REosdUJEYnFELEVOMkVoRDtFUGc1Qkwsd0VBQXdFO0VPcDZCcEU7SUt0RUosV0NlcUQsRU55RGhEO0VQcTZCTCx3RUFBd0U7RU9qNkJsRTtJTzNFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVArRTlDO0VQbTZCUCx3RUFBd0U7RU9qNkJsRTtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VQbTZCUCx5RUFBeUU7RU83NUJyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQODVCTCx3RUFBd0U7RU9sN0JwRTtJS3RFSixpQkNlcUQsRU55RGhEO0VQbTdCTCx3RUFBd0U7RU8vNkJsRTtJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFUGk3QlAsd0VBQXdFO0VPLzZCbEU7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RVBpN0JQLHlFQUF5RTtFTzM2QnJFO0lPNURKLGlCRGJxRCxFTjJFaEQ7RVA0NkJMLHdFQUF3RTtFT2g4QnBFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVBpOEJMLHdFQUF3RTtFTzc3QmxFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQKzdCUCx3RUFBd0U7RU83N0JsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUCs3QlAseUVBQXlFO0VPejdCckU7SU81REosdUJEYnFELEVOMkVoRDtFUDA3Qkwsd0VBQXdFO0VPOThCcEU7SUt0RUosV0NlcUQsRU55RGhEO0VQKzhCTCx3RUFBd0U7RU8zOEJsRTtJTzNFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVArRTlDO0VQNjhCUCx3RUFBd0U7RU8zOEJsRTtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VQNjhCUCx5RUFBeUU7RU92OEJyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQdzhCTCx3RUFBd0U7RU81OUJwRTtJS3RFSixpQkNlcUQsRU55RGhEO0VQNjlCTCx3RUFBd0U7RU96OUJsRTtJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFUDI5QlAsd0VBQXdFO0VPejlCbEU7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RVAyOUJQLHlFQUF5RTtFT3I5QnJFO0lPNURKLGlCRGJxRCxFTjJFaEQ7RVBzOUJMLHdFQUF3RTtFTzErQnBFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVAyK0JMLHdFQUF3RTtFT3YrQmxFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQeStCUCx3RUFBd0U7RU92K0JsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUHkrQlAseUVBQXlFO0VPbitCckU7SU81REosdUJEYnFELEVOMkVoRDtFUG8rQkwsd0VBQXdFO0VPeC9CcEU7SUt0RUosWUNlcUQsRU55RGhEO0VQeS9CTCx5RUFBeUU7RU96K0JyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQMCtCTCx1RUFBdUU7RU9yK0JuRTtJUXZGRixZQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmOGhDQyx1RUFBdUU7SU96K0JyRTtNUS9EQSxZQUFXLEVBQ1o7SWYwaUNELHVFQUF1RTtJTzUrQnJFO01RM0RBLFlBQVcsRUFDWjtJZnlpQ0QsdUVBQXVFO0lPLytCckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZndpQ0gsdUVBQXVFO0VPbC9CbkU7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJZjJpQ0MsdUVBQXVFO0lPdC9CckU7TVEvREEsWUFBVyxFQUNaO0lmdWpDRCx1RUFBdUU7SU96L0JyRTtNUTNEQSxZQUFXLEVBQ1o7SWZzakNELHVFQUF1RTtJTzUvQnJFO01RdkRBLFlYK0NxRCxFVzlDdEQ7RWZxakNILHVFQUF1RTtFTy8vQm5FO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmd2pDQyx1RUFBdUU7SU9uZ0NyRTtNUS9EQSxZQUFXLEVBQ1o7SWZva0NELHVFQUF1RTtJT3RnQ3JFO01RM0RBLFlBQVcsRUFDWjtJZm1rQ0QsdUVBQXVFO0lPemdDckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZmtrQ0gsdUVBQXVFO0VPNWdDbkU7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJZnFrQ0MsdUVBQXVFO0lPaGhDckU7TVEvREEsWUFBVyxFQUNaO0lmaWxDRCx1RUFBdUU7SU9uaENyRTtNUTNEQSxZQUFXLEVBQ1o7SWZnbENELHVFQUF1RTtJT3RoQ3JFO01RdkRBLFlYK0NxRCxFVzlDdEQ7RWYra0NILHVFQUF1RTtFT3poQ25FO0lRdkZGLFdBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SWZrbENDLHVFQUF1RTtJTzdoQ3JFO01RL0RBLFlBQVcsRUFDWjtJZjhsQ0QsdUVBQXVFO0lPaGlDckU7TVEzREEsWUFBVyxFQUNaO0lmNmxDRCx1RUFBdUU7SU9uaUNyRTtNUXZEQSxZWCtDcUQsRVc5Q3REO0VmNGxDSCx1RUFBdUU7RU90aUNuRTtJUXZGRixpQkFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJZitsQ0MsdUVBQXVFO0lPMWlDckU7TVEvREEsWUFBVyxFQUNaO0lmMm1DRCx1RUFBdUU7SU83aUNyRTtNUTNEQSxZQUFXLEVBQ1o7SWYwbUNELHVFQUF1RTtJT2hqQ3JFO01RdkRBLFlYK0NxRCxFVzlDdEQ7RWZ5bUNILHVFQUF1RTtFT25qQ25FO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmNG1DQyx1RUFBdUU7SU92akNyRTtNUS9EQSxZQUFXLEVBQ1o7SWZ3bkNELHVFQUF1RTtJTzFqQ3JFO01RM0RBLFlBQVcsRUFDWjtJZnVuQ0QsdUVBQXVFO0lPN2pDckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZnNuQ0gsdUVBQXVFO0VPaGtDbkU7SVF2RkYsYUFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJZnluQ0MsdUVBQXVFO0lPcGtDckU7TVEvREEsWUFBVyxFQUNaO0lmcW9DRCx1RUFBdUU7SU92a0NyRTtNUTNEQSxZQUFXLEVBQ1o7SWZvb0NELHVFQUF1RTtJTzFrQ3JFO01RdkRBLFlYK0NxRCxFVzlDdEQ7RWZtb0NILHlFQUF5RTtFT3ZrQ3ZFO0lHekdGLGdCQUFlO0lBQ2YsaUJBQWdCLEVIeUdrQztFUDBrQ2xELHlFQUF5RTtFTzNrQ3ZFO0lBSUksZUFBYztJQUNkLGdCQUFlLEVBQ2hCO0VQeWtDTCx5RUFBeUU7RU90a0N2RTtJQUNFLGVBQWM7SUFDZCxnQkFBZSxFQUNoQjtFUHVrQ0gseUVBQXlFO0VPcmtDdkU7SUc5R0Ysd0JBRDhCO0lBRTlCLHlCQUY4QixFSGtIK0I7RVBza0M3RCx5RUFBeUU7RU9sa0N2RTtJT2pIQSxrQkFBaUI7SUFDakIsbUJBQWtCLEVQa0hqQjtJUG9rQ0QseUVBQXlFO0ljM3JDekU7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VkNHJDSCx5RUFBeUU7RU9ya0N2RTs7O0lPNUdGLGlCQUFnQjtJQUNoQixlQUFjO0lBQ2QsZ0JBQWU7SUFDZixZQUFXLEVQNkdSLEVBQUE7O0FJRUQ7RVh5a0NGLHdFQUF3RTtFT3hvQ3BFO0lLdEVKLGdCQ2VxRCxFTnlEaEQ7RVB5b0NMLHdFQUF3RTtFT3JvQ2xFO0lPM0VKLG1CQUFrQjtJQUNsQixlQUhtRCxFUCtFOUM7RVB1b0NQLHdFQUF3RTtFT3JvQ2xFO0lPL0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBtRjlDO0VQdW9DUCx5RUFBeUU7RU9qb0NyRTtJTzVESixnQkRoQmdDLEVOOEUzQjtFUGtvQ0wsd0VBQXdFO0VPdHBDcEU7SUt0RUosaUJDZXFELEVOeURoRDtFUHVwQ0wsd0VBQXdFO0VPbnBDbEU7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RVBxcENQLHdFQUF3RTtFT25wQ2xFO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VQcXBDUCx5RUFBeUU7RU8vb0NyRTtJTzVESixzQkRicUQsRU4yRWhEO0VQZ3BDTCx3RUFBd0U7RU9wcUNwRTtJS3RFSixXQ2VxRCxFTnlEaEQ7RVBxcUNMLHdFQUF3RTtFT2pxQ2xFO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RVBtcUNQLHdFQUF3RTtFT2pxQ2xFO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRCxFUG1GOUM7RVBtcUNQLHlFQUF5RTtFTzdwQ3JFO0lPNURKLHVCRGJxRCxFTjJFaEQ7RVA4cENMLHdFQUF3RTtFT2xyQ3BFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVBtckNMLHdFQUF3RTtFTy9xQ2xFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQaXJDUCx3RUFBd0U7RU8vcUNsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUGlyQ1AseUVBQXlFO0VPM3FDckU7SU81REosaUJEYnFELEVOMkVoRDtFUDRxQ0wsd0VBQXdFO0VPaHNDcEU7SUt0RUosaUJDZXFELEVOeURoRDtFUGlzQ0wsd0VBQXdFO0VPN3JDbEU7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RVArckNQLHdFQUF3RTtFTzdyQ2xFO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VQK3JDUCx5RUFBeUU7RU96ckNyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQMHJDTCx3RUFBd0U7RU85c0NwRTtJS3RFSixXQ2VxRCxFTnlEaEQ7RVArc0NMLHdFQUF3RTtFTzNzQ2xFO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RVA2c0NQLHdFQUF3RTtFTzNzQ2xFO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRCxFUG1GOUM7RVA2c0NQLHlFQUF5RTtFT3ZzQ3JFO0lPNURKLHVCRGJxRCxFTjJFaEQ7RVB3c0NMLHdFQUF3RTtFTzV0Q3BFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVA2dENMLHdFQUF3RTtFT3p0Q2xFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQMnRDUCx3RUFBd0U7RU96dENsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUDJ0Q1AseUVBQXlFO0VPcnRDckU7SU81REosaUJEYnFELEVOMkVoRDtFUHN0Q0wsd0VBQXdFO0VPMXVDcEU7SUt0RUosaUJDZXFELEVOeURoRDtFUDJ1Q0wsd0VBQXdFO0VPdnVDbEU7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RVB5dUNQLHdFQUF3RTtFT3Z1Q2xFO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VQeXVDUCx5RUFBeUU7RU9udUNyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQb3VDTCx3RUFBd0U7RU94dkNwRTtJS3RFSixXQ2VxRCxFTnlEaEQ7RVB5dkNMLHdFQUF3RTtFT3J2Q2xFO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RVB1dkNQLHdFQUF3RTtFT3J2Q2xFO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRCxFUG1GOUM7RVB1dkNQLHlFQUF5RTtFT2p2Q3JFO0lPNURKLHVCRGJxRCxFTjJFaEQ7RVBrdkNMLHdFQUF3RTtFT3R3Q3BFO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RVB1d0NMLHdFQUF3RTtFT253Q2xFO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VQcXdDUCx3RUFBd0U7RU9ud0NsRTtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFUHF3Q1AseUVBQXlFO0VPL3ZDckU7SU81REosaUJEYnFELEVOMkVoRDtFUGd3Q0wsd0VBQXdFO0VPcHhDcEU7SUt0RUosaUJDZXFELEVOeURoRDtFUHF4Q0wsd0VBQXdFO0VPanhDbEU7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RVBteENQLHdFQUF3RTtFT2p4Q2xFO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VQbXhDUCx5RUFBeUU7RU83d0NyRTtJTzVESix1QkRicUQsRU4yRWhEO0VQOHdDTCx3RUFBd0U7RU9seUNwRTtJS3RFSixZQ2VxRCxFTnlEaEQ7RVBteUNMLHlFQUF5RTtFT254Q3JFO0lPNURKLHVCRGJxRCxFTjJFaEQ7RVBveENMLHVFQUF1RTtFTy93Q25FO0lRdkZGLFlBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SWZ3MENDLHVFQUF1RTtJT254Q3JFO01RL0RBLFlBQVcsRUFDWjtJZm8xQ0QsdUVBQXVFO0lPdHhDckU7TVEzREEsWUFBVyxFQUNaO0lmbTFDRCx1RUFBdUU7SU96eENyRTtNUXZEQSxZWCtDcUQsRVc5Q3REO0VmazFDSCx1RUFBdUU7RU81eENuRTtJUXZGRixXQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmcTFDQyx1RUFBdUU7SU9oeUNyRTtNUS9EQSxZQUFXLEVBQ1o7SWZpMkNELHVFQUF1RTtJT255Q3JFO01RM0RBLFlBQVcsRUFDWjtJZmcyQ0QsdUVBQXVFO0lPdHlDckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZisxQ0gsdUVBQXVFO0VPenlDbkU7SVF2RkYsaUJBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SWZrMkNDLHVFQUF1RTtJTzd5Q3JFO01RL0RBLFlBQVcsRUFDWjtJZjgyQ0QsdUVBQXVFO0lPaHpDckU7TVEzREEsWUFBVyxFQUNaO0lmNjJDRCx1RUFBdUU7SU9uekNyRTtNUXZEQSxZWCtDcUQsRVc5Q3REO0VmNDJDSCx1RUFBdUU7RU90ekNuRTtJUXZGRixXQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmKzJDQyx1RUFBdUU7SU8xekNyRTtNUS9EQSxZQUFXLEVBQ1o7SWYyM0NELHVFQUF1RTtJTzd6Q3JFO01RM0RBLFlBQVcsRUFDWjtJZjAzQ0QsdUVBQXVFO0lPaDBDckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZnkzQ0gsdUVBQXVFO0VPbjBDbkU7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJZjQzQ0MsdUVBQXVFO0lPdjBDckU7TVEvREEsWUFBVyxFQUNaO0lmdzRDRCx1RUFBdUU7SU8xMENyRTtNUTNEQSxZQUFXLEVBQ1o7SWZ1NENELHVFQUF1RTtJTzcwQ3JFO01RdkRBLFlYK0NxRCxFVzlDdEQ7RWZzNENILHVFQUF1RTtFT2gxQ25FO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmeTRDQyx1RUFBdUU7SU9wMUNyRTtNUS9EQSxZQUFXLEVBQ1o7SWZxNUNELHVFQUF1RTtJT3YxQ3JFO01RM0RBLFlBQVcsRUFDWjtJZm81Q0QsdUVBQXVFO0lPMTFDckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZm01Q0gsdUVBQXVFO0VPNzFDbkU7SVF2RkYsaUJBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SWZzNUNDLHVFQUF1RTtJT2oyQ3JFO01RL0RBLFlBQVcsRUFDWjtJZms2Q0QsdUVBQXVFO0lPcDJDckU7TVEzREEsWUFBVyxFQUNaO0lmaTZDRCx1RUFBdUU7SU92MkNyRTtNUXZEQSxZWCtDcUQsRVc5Q3REO0VmZzZDSCx1RUFBdUU7RU8xMkNuRTtJUXZGRixhQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lmbTZDQyx1RUFBdUU7SU85MkNyRTtNUS9EQSxZQUFXLEVBQ1o7SWYrNkNELHVFQUF1RTtJT2ozQ3JFO01RM0RBLFlBQVcsRUFDWjtJZjg2Q0QsdUVBQXVFO0lPcDNDckU7TVF2REEsWVgrQ3FELEVXOUN0RDtFZjY2Q0gseUVBQXlFO0VPajNDdkU7SUd6R0YsZ0JBQWU7SUFDZixpQkFBZ0IsRUh5R2tDO0VQbzNDbEQseUVBQXlFO0VP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RDs7R0FFRztBbkM4NUlILG9DQUFvQztBbUM1NUlwQztFQUNJLGVsQ1RpQjtFa0NVakIsZ0JsQzZJWSxFa0M1SWY7O0FBRUQ7O0dBRUc7QW5DNjVJSCxvQ0FBb0M7QUl6M0lsQztFK0JqQ0UsZ0JBQWUsRUFDbEI7O0FuQzY1SUQsb0NBQW9DO0FtQzM1SXBDO0VBQ0ksaUJBQWdCLEVBQ25COztBbkM2NUlELG9DQUFvQztBbUMzNUlwQztFQUNJLGFBQVk7RUFDWiwwQmxDc0JvQjtFa0NyQnBCLGdCbENzSFc7RWtDckhYLGFBQVksRUFDZjs7QUFFRDs7R0FFRztBbkM0NUlILG9DQUFvQztBSXI5SGxDO0VtQjdrQitELHVCWXlJL0I7RUFDOUIsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixhQUFZLEVBQ2Y7O0FBRUQ7O0dBRUc7QW5DNjVJSCxvQ0FBb0M7QW1DMzVJcEM7RVp4SnlELHlCWXlKN0I7RVp2SmdDLHNCWXVKaEM7RVpwSnFDLGlCWW9KckM7RVpwSnFDLG1CWXFKbkM7RUFDMUIsMEJsQ0RvQjtFa0NFcEIsb0JBQW1CO0VBQ25CLGdCbEM4RlcsRWtDekZkO0VuQzg1SUMsb0NBQW9DO0VtQ3g2SXRDO0lBUVEsMEJsQ3ZFUSxFa0N3RVg7O0FuQ202SUwsb0NBQW9DO0FtQ2g2SXBDO0VBQ0ksc0JsQzlDYyxFa0MrQ2pCOztBbkNrNklELG9DQUFvQztBbUMvNUlwQztFQUNJLHVCTHRKeUMsRUt1SjVDOztBbkNpNklELG9DQUFvQztBbUMvNUlwQzs7Ozs7O0VBTUksYUFBWTtFQUNaLGVBQWMsRUFDakI7O0FuQ2k2SUQsb0NBQW9DO0FtQ3o2SXBDOzs7Ozs7RUFpQkksYWxDZ0ZpQjtFa0MvRWpCLHNCL0IvSlc7RStCZ0tYLGdCQUFlO0VBQ2Ysb0NsQ21ENEI7RWtDbEQ1QixlL0JsS1c7RStCbUtYLGdCbEM0RFc7RWtDM0RYLDBCQUF5QixFQUM1Qjs7QUFFRCwwREFBMEQ7QUFDMUQ7RW5DKzVJRSxvQ0FBb0M7RW1DOTVJbEM7Ozs7Ozs7SUFPSSxnQkFBZTtJQUFFLG1DQUFtQyxFQUN2RCxFQUFBOztBbkNpNklMLG9DQUFvQztBbUM5NUlwQztFQUNJLGdCQUFlLEVBQ2xCOztBQUVEOztHQUVHO0FuQys1SUgsb0NBQW9DO0FtQzc1SXBDOztFQUVJLFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsdUJBQXNCLEVBQ3pCOztBQUVEOztHQUVHO0FuQzg1SUgsb0NBQW9DO0FtQzU1SXBDO0VBQ0ksZWxDL0hpQixFa0NnSXBCOztBbkM4NUlELG9DQUFvQztBbUM1NUlwQztFQUNJLGVsQ25JaUIsRWtDb0lwQjs7QUFFRDs7R0FFRztBbkM2NUlILG9DQUFvQztBbUMzNUlwQzs7RUFFSSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULHNCQUFxQixFQUN4Qjs7QW5DNjVJRCxvQ0FBb0M7QW1DMzVJcEM7O0VBRUksWUFBVztFQUNYLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZ0JsQ0ZTO0VrQ0dULG9CQUFtQjtFQUNuQixvQkFBbUIsRUFDdEI7O0FBRUQ7O0dBRUc7QW5DNDVJSCxvQ0FBb0M7QW1DMTVJcEM7O0VBRUksZ0JBQWU7RUFDZixlbENwSmM7RWtDcUpkLGdCbENiVztFa0NjWCxtQ2xDMUIrQixFa0MyQmxDOztBQUVEOztrREFFa0Q7QW5DMjVJbEQsb0NBQW9DO0FtQ3o1SXBDO0VBQ0ksaUJsQ1BpQixFa0MwQnBCO0VuQ3c0SUMsb0NBQW9DO0VtQzU1SXRDO0lBR1Esb0JsQzdOVSxFa0M4TmI7RW5DMjVJSCxvQ0FBb0M7RW1DLzVJdEM7SUFNUSxnQkFBZTtJQUNmLGFBQXNCO0lBQ3RCLGdCQUFlLEVBQ2xCO0VuQzI1SUgsb0NBQW9DO0VtQ3A2SXRDO0lBWVEsWUFBVyxFQUNkO0VuQzA1SUgsb0NBQW9DO0VtQ3Y2SXRDOzs7SUFrQlEsb0JBQW1CLEVBQ3RCOztBQUdMLDBGQUEwRjtBbkN3NUkxRixvQ0FBb0M7QW1DdjVJcEM7Ozs7O0VBcUNJLHFIQUFxSCxFQVV4SDtFbkMrMklDLG9DQUFvQztFbUM5NUl0Qzs7Ozs7SUFPUSxnQkFBZTtJQUNmLFlBQVcsRUFLZDtJbkN5NUlELG9DQUFvQztJbUN0Nkl4Qzs7Ozs7TUFXWSxjQUFhLEVBQ2hCO0VuQ2k2SVAsb0NBQW9DO0VtQzc2SXRDOzs7Ozs7Ozs7O0lBaUJRLFlBQVc7SUFDWCxvQkFBbUI7SUFDbkIsaUJBQWdCLEVBRW5CO0VuQ3M2SUgsb0NBQW9DO0VtQzM3SXRDOzs7OztJVjhJSSxlckJ6Wlc7SXFCMFpYLGtCQUFpQjtJVXRIYixzQkFBcUI7SUFDckIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCwyQkFBMEIsRUFLN0I7SW5DczZJRCxvQ0FBb0M7SW1DejhJeEM7Ozs7O01BaUNZLDJCQUEwQixFQUM3QjtFbkM4NklQLG9DQUFvQztFbUNoOUl0Qzs7Ozs7SUF1Q1EsbUJBQWtCO0lBQ2xCLDhCQUE2QixFQUtoQztJbkMyNklELG9DQUFvQztJbUN4OUl4Qzs7Ozs7TUEyQ1ksOEJBQTZCLEVBQ2hDOztBbkNvN0lULG9DQUFvQztBbUMvNklwQzs7RUFFSSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGdCQUFlLEVBQ2xCOztBbkNpN0lELG9DQUFvQztBbUMvNklwQztFQUVRLFlBQVc7RUFDWCxnQkFBZTtFQUNmLG1CQUFrQixFQUNyQjs7QW5DZzdJTCxvQ0FBb0M7QW1DNzZJcEM7RUFDSSxpQkFBZ0IsRUFpQm5CO0VuQzg1SUMsb0NBQW9DO0VtQ2g3SXRDO0lBSVEsWUFBVztJRm5XakIsa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixpQkFBZ0I7SUVtV1YsZ0JsQ2hIUyxFa0NpSFo7RW5DZzdJSCxvQ0FBb0M7RW1DdjdJdEM7O0lBVVEsa0JBQWlCLEVBQ3BCO0VuQ2c3SUgsb0NBQW9DO0VtQzM3SXRDO0lBYVEsWUFBVztJQUNYLHNCQUFxQjtJQUNyQixZQUFXO0lBQ1gsV0FBVSxFQUNiOztBbkNpN0lMLG9DQUFvQztBbUM5NklwQztFQUVRLG1DbEM5STJCO0VrQytJM0IsZ0JsQ3JJSztFa0NzSUwsZS9CbldPO0UrQm9XUCxvQkFBbUIsRUFDdEI7O0FBR0w7O0dBRUc7QW5DNjZJSCxvQ0FBb0M7QW1DNTZJcEM7RUFFUSxpQkFBZ0I7RUFDaEIsYUFBWSxFQVNmO0VuQ282SUgsb0NBQW9DO0VtQ2g3SXRDO0lBS1ksa0JBQWlCO0lBQ2pCLG9DbEM3Sm9CO0lrQzhKcEIsMEJBQXlCLEVBQzVCO0VuQzY2SVAsb0NBQW9DO0VtQ3I3SXRDO0lBVVksYUFBWSxFQUNmOztBaEM3WEQ7RUg0eUpOLG9DQUFvQztFbUN0NklsQztJQUNJLFlBQVcsRUFDZDtFbkN1NklILG9DQUFvQztFbUNwakp0QztJQStJUSxnQkFBZSxFQUNsQixFQUFBOztBQUlMOztHQUVHO0FuQ3E2SUgsb0NBQW9DO0FtQ242SXBDO0VBRVEsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQixFQUN0Qjs7QW5DbzZJTCxvQ0FBb0M7QW1DeDZJcEM7RUFPUSx3QkFBZTtNQUFmLDZCQUFlO1VBQWYsZ0JBQWUsRUFDbEI7O0FuQ282SUwsb0NBQW9DO0FtQzU2SXBDO0VBVVEsa0JBQWlCLEVBQ3BCOztBQzVhTDs7a0RBRWtEO0FwQ2sxSmxELG9DQUFvQztBb0NoMUpwQztFQUNJLHFCQUFvQixFQUN2Qjs7QUFFRDs7a0RBRWtEO0FwQ2kxSmxELG9DQUFvQztBb0MvMEpwQztFQUNJLGVoQ1FXO0U2QjdCYixvQ2hDaVA4QjtFZ0NoUDlCLGdCaEM2UGU7RWdDNVBmLGU3QjJCYTtFNkIxQmIsdUJBQXNCO0VBQ3RCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUdrQmQsMEJBQXlCLEVBQzVCOztBcENzMUpELG9DQUFvQztBb0NwMUpwQztFQUNJLFlBQVcsRUFDZDs7QXBDczFKRCxvQ0FBb0M7QW9DcDFKcEM7O0VBRUksY0FBYTtFQUNiLG9CQUFtQixFQUN0Qjs7QXBDczFKRCxvQ0FBb0M7QW9DcDFKcEM7RUFDSSxvQm5DMEp3QjtFbUN6SnhCLDBCQUF5QjtFQUN6QixvQ25DME00QjtFbUN6TTVCLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsZ0JuQ29OYSxFbUNuTmhCOztBcENzMUpELG9DQUFvQztBb0NwMUpwQzs7RUFFSSxpQ25DaUpvQixFbUNoSnZCOztBcENzMUpELG9DQUFvQztBb0NwMUpwQzs7RUFFSSxvQ25DNkw0QjtFbUM1TDVCLDBCQUF5QjtFSDVDM0Isa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixpQkFBZ0I7RUc0Q2QsZ0JuQ3VNYSxFbUN0TWhCOztBcEN3MUpELG9DQUFvQztBb0NsMUpwQztFQUNJLGtCQUFpQjtFQUNqQixpQkFBZ0IsRUFLbkI7RXBDKzBKQyxvQ0FBb0M7RW9DdDFKdEM7SUFLUSxhQUFZLEVBQ2Y7O0FBR0w7O2tEQUVrRDtBcENrMUpsRCxvQ0FBb0M7QW9DaDFKcEM7RUFDSSwwQm5Db0hvQjtFbUNuSHBCLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFNbkI7RXBDNDBKQyxvQ0FBb0M7RW9DcjFKdEM7SUFNUSxrQkFBaUI7SUFDakIsZ0JBQWUsRUFDbEI7O0FwQ2sxSkwscUNBQXFDO0FvQy8wSnJDOztFQUVJLG9CQUFtQixFQUN0Qjs7QXBDaTFKRCxxQ0FBcUM7QW9DLzBKckM7RUFDSSxrQkFBaUI7RUFDakIsd0JBQXVCLEVBQzFCOztBcENpMUpELHFDQUFxQztBb0MvMEpyQztFQUNJLGVBQWMsRUFDakI7O0FBRUQ7O2tEQUVrRDtBcENnMUpsRCxxQ0FBcUM7QW9DOTBKckM7O0VBR1EsOEJuQ3FGZ0IsRW1DcEZuQjs7QXBDKzBKTCxxQ0FBcUM7QW9DbjFKckM7O0VBUVEsaUNuQ2dGZ0I7RW1DL0VoQixhQUFZO0VBQ1osOEJBQTZCLEVBQ2hDOztBcEMrMEpMLHFDQUFxQztBb0MxMUpyQztFQWNRLDBCbkM2RW9CLEVtQzVFdkI7O0FwQyswSkwscUNBQXFDO0FvQzkxSnJDO0VBa0JRLDBCbkN3RW1CLEVtQ3ZFdEI7O0FBR0w7O2tEQUVrRDtBakMxRzFDO0VIdzdKTixxQ0FBcUM7RW9DdHVKbkM7SUFoQkEsYUFBYSxFQWtCWjtJcEN1dUpELHFDQUFxQztJb0M3MEpyQzs7O01BR0ksZUFBYyxFQUNqQjtJcEM4MEpELHFDQUFxQztJb0M1MEpyQztNQUNJLGdCQUFlO01BQ2YsZUFBYyxFQUNqQjtJcEM2MEpELHFDQUFxQztJb0MzMEpyQztNQUNJLGNBQWEsRUFDaEI7SXBDNDBKRCxxQ0FBcUM7SW9DMTBKckM7TUFDSSxjQUFhLEVBQ2hCO0lwQzIwSkQscUNBQXFDO0lvQ3owSnJDO01BQ0ksbUJBQWtCO01BQ2xCLGlDbkM2QmlCLEVtQzVCcEI7SXBDMDBKRCxxQ0FBcUM7SW9DeDBKckM7TUFDSSxvQkFBbUI7TUFDbkIsZ0JBQWU7TUFDZixpQkFBZ0IsRUFDbkI7SXBDeTBKRCxxQ0FBcUM7SW9DdjBKckM7TUFDSSxjQUFhLEVBQ2hCO0lwQ3cwSkQscUNBQXFDO0lvQ3QwSnJDO01BQ0ksa0JBQWlCLEVBQ3BCO0lwQ3UwSkQscUNBQXFDO0lvQ3IwSnJDOztNQUVJLGtCQUFpQixFQUNwQjtJcENzMEpELHFDQUFxQztJb0NwMEpyQztNQUNJLGlCQUFnQjtNQUNoQixtQkFBa0IsRUFDckI7SXBDcTBKRCxxQ0FBcUM7SW9DbjBKckM7TUFDSSxrQ0FBaUM7TUFDakMsZ0JuQ3VFUTtNbUN0RVIsbUNuQ3lEMkI7TW1DeEQzQixtQkFBa0I7TUFDbEIsMEJBQXlCLEVBQzVCO0lwQ28wSkQscUNBQXFDO0lvQ2wwSnJDO01BQ0ksZUFBYztNQUNkLGtCQUFpQixFQUNwQjtJcENtMEpELHFDQUFxQztJb0NqMEpyQztNM0JoTEEsWUFBVztNQUNYLGVBQWM7TUFDZCxZQUFXLEUyQmdMVjtJcENvMEpELHFDQUFxQztJb0NsMEpyQztNQUNJLGVBQWM7TUFDZCxZQUFXLEVBQ2Q7SXBDbTBKRCxxQ0FBcUM7SW9DajBKckM7TUFDSSxjQUFhLEVBQ2hCO0lwQ2swSkQscUNBQXFDO0lvQ2gwSnJDO01BQ0ksWUFBVztNQUNYLFdBQXNCLEVBQ3pCO0lwQ2kwSkQscUNBQXFDO0lvQy96SnJDO01BQ0ksaUJBQWdCO01BQ2hCLFdBQXNCLEVBQ3pCO0lwQ2cwSkQscUNBQXFDO0lvQzV6SnJDO01BQ0ksY0FBYSxFQUNoQjtJcEM2ekpELHFDQUFxQztJb0MzekpyQztNQUNJLFdBQVUsRUFDYjtJcEM0ekpELHFDQUFxQztJb0MxekpyQztNQUNJLGVBQWMsRUFDakIsRUFBQTs7QWpDOU1HO0VIMmdLTixxQ0FBcUM7RW9DbnpKbkM7SUF0QkEsYUFBYSxFQXdCWjtJcENvekpELHFDQUFxQztJb0NoNkpyQzs7O01BR0ksZUFBYyxFQUNqQjtJcENpNkpELHFDQUFxQztJb0MvNUpyQztNQUNJLGdCQUFlO01BQ2YsZUFBYyxFQUNqQjtJcENnNkpELHFDQUFxQztJb0M5NUpyQztNQUNJLGNBQWEsRUFDaEI7SXBDKzVKRCxxQ0FBcUM7SW9DNzVKckM7TUFDSSxjQUFhLEVBQ2hCO0lwQzg1SkQscUNBQXFDO0lvQzU1SnJDO01BQ0ksbUJBQWtCO01BQ2xCLGlDbkM2QmlCLEVtQzVCcEI7SXBDNjVKRCxxQ0FBcUM7SW9DMzVKckM7TUFDSSxvQkFBbUI7TUFDbkIsZ0JBQWU7TUFDZixpQkFBZ0IsRUFDbkI7SXBDNDVKRCxxQ0FBcUM7SW9DMTVKckM7TUFDSSxjQUFhLEVBQ2hCO0lwQzI1SkQscUNBQXFDO0lvQ3o1SnJDO01BQ0ksa0JBQWlCLEVBQ3BCO0lwQzA1SkQscUNBQXFDO0lvQ3g1SnJDOztNQUVJLGtCQUFpQixFQUNwQjtJcEN5NUpELHFDQUFxQztJb0N2NUpyQztNQUNJLGlCQUFnQjtNQUNoQixtQkFBa0IsRUFDckI7SXBDdzVKRCxxQ0FBcUM7SW9DdDVKckM7TUFDSSxrQ0FBaUM7TUFDakMsZ0JuQ3VFUTtNbUN0RVIsbUNuQ3lEMkI7TW1DeEQzQixtQkFBa0I7TUFDbEIsMEJBQXlCLEVBQzVCO0lwQ3U1SkQscUNBQXFDO0lvQ3I1SnJDO01BQ0ksZUFBYztNQUNkLGtCQUFpQixFQUNwQjtJcENzNUpELHFDQUFxQztJb0NwNUpyQztNM0JoTEEsWUFBVztNQUNYLGVBQWM7TUFDZCxZQUFXLEUyQmdMVjtJcEN1NUpELHFDQUFxQztJb0NyNUpyQztNQUNJLGVBQWM7TUFDZCxZQUFXLEVBQ2Q7SXBDczVKRCxxQ0FBcUM7SW9DcDVKckM7TUFDSSxjQUFhLEVBQ2hCO0lwQ3E1SkQscUNBQXFDO0lvQ241SnJDO01BQ0ksWUFBVztNQUNYLFdBQXNCLEVBQ3pCO0lwQ281SkQscUNBQXFDO0lvQ2w1SnJDO01BQ0ksaUJBQWdCO01BQ2hCLFdBQXNCLEVBQ3pCO0lwQ201SkQscUNBQXFDO0lvQy80SnJDO01BQ0ksY0FBYSxFQUNoQjtJcENnNUpELHFDQUFxQztJb0M5NEpyQztNQUNJLFdBQVUsRUFDYjtJcEMrNEpELHFDQUFxQztJb0M3NEpyQztNQUNJLGVBQWMsRUFDakIsRUFBQTs7QWpDOU1HO0VIOGxLTixxQ0FBcUM7RW9DaDRKbkM7SUFDSSxjQUFhLEVBQ2hCLEVBQUE7O0FDOU9MOztrREFFa0Q7QXJDaW5LbEQsdUNBQXVDO0FtQi9sS3JDOztFa0JkRSxhQUFZLEVBS2Y7RXJDNG1LQyx1Q0FBdUM7RXFDbm5LekM7O0lBS1EsaUJBQWdCLEVBQ25COztBckNrbktMLHVDQUF1QztBeUJ6aEt2QztFWXJGSSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxvQkFBbUIsRUFDdEI7O0FyQ2luS0QsdUNBQXVDO0FxQy9tS3ZDO0U1QlhJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFNEJXZDs7QUN0QkQ7O2tEQUVrRDtBdEMwb0tsRCx1Q0FBdUM7QXNDeG9LdkM7RUFDSSxjQUFhLEVBQ2hCOztBdEMwb0tELHVDQUF1QztBc0N4b0t2QztFQUNJLG1CQUFrQjtFQUNsQixZQUFXLEVBQ2Q7O0F0QzBvS0QsdUNBQXVDO0FzQ3hvS3ZDO0VBR1ksY0FBYSxFQUNoQjs7QXRDd29LVCx1Q0FBdUM7QXNDNW9LdkM7RUFPUSxpQkFBZ0I7RUFDaEIsMEJBQWlCO01BQWpCLDJCQUFpQjtjQUFqQiwwQkFBaUI7VUFBakIsa0JBQWlCO0VBQ2pCLHFCQUFZO01BQVoscUJBQVk7VUFBWixhQUFZLEVBMENmO0V0QzhsS0gsdUNBQXVDO0VzQ2pwS3pDO0lBV1ksZ0JyQzhOSztJcUM3Tkwsb0NyQ2dOb0I7SXFDL01wQiwwQkFBeUI7SUFDekIsaUJBQWdCO0lBQ2hCLG1CQUFrQixFQUNyQjtFdEN3b0tQLHVDQUF1QztFc0N4cEt6QztJQWtCWSxjQUFhO0lBQ2IsbUJBQWtCO0lBQ2xCLDBCbENSRztJa0NTSCxjQUFhO0lBQ2IsaUJBQWdCO0lBQ2hCLG1DckNvTXVCO0lxQ25NdkIsZ0JyQzJNRztJcUMxTUgsaUJBQWdCLEVBeUJuQjtJdENnbktMLHVDQUF1QztJc0NscUszQztNQTJCZ0Isc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiw0QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQjtNQUNuQix1Q0FBOEI7VUFBOUIsdUJBQThCO2NBQTlCLCtCQUE4QjtNQUM5QixvQkFBbUI7TUFDbkIsdUJBQXNCLEVBa0J6QjtNdEN3bktQLHVDQUF1QztNc0N6cUs3QztRQWlDb0Isd0JBQWU7WUFBZixvQkFBZTtnQkFBZixnQkFBZTtRQUNmLG1CQUFrQixFQUlyQjtRdEN1b0tULHVDQUF1QztRc0M3cUsvQztVQW9Dd0IsZ0JBQWUsRUFDbEI7TXRDMm9LZix1Q0FBdUM7TXNDaHJLN0M7UUF5Q3dCLGdCckMwTFQ7UXFDekxTLHNCQUFxQjtRQUNyQixtQ3JDZ0xXLEVxQy9LZDtNdEN5b0tmLHVDQUF1QztNc0Nycks3QztRQThDd0IsbUJBQWtCLEVBQ3JCOztBbkM5Q2I7RUh5cktOLHVDQUF1QztFc0Mxckt6QztJQTBEWSwwQkFBaUI7UUFBakIsMkJBQWlCO2dCQUFqQiwwQkFBaUI7WUFBakIsa0JBQWlCO0lBQ2pCLHFCQUFZO1FBQVoscUJBQVk7WUFBWixhQUFZO0lBQ1osZ0JBQWUsRUFDbEIsRUFBQTs7QUFLVDs7a0RBRWtEO0F0QytuS2xELHdDQUF3QztBc0M3bkt4QztFQUdJLGtCQUFpQjtFQUNqQixxQkFBb0I7RUFFcEIsZ0JBQWU7RUFDZixPQUFNO0VBQ04sUUFBTztFQUNQLFNBQVE7RUFDUixvQmxDcEVXO0VrQ3FFWCxhQUFZO0VBQ1osbUJyQ3ZEYTtFcUN3RGIsb0JyQ3hEYSxFcUN5RGhCOztBbkNuRk87RUhndEtOLHdDQUF3QztFc0Mzb0sxQztJQW1CUSxrQkFBaUI7SUFDakIscUJBQW9CLEVBQ3ZCO0V0QzBuS0gsd0NBQXdDO0VzQ3huS3RDO0lBQ0ksa0JyQ3ZDZ0Q7SXFDd0NoRCxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix3QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLHVDQUE4QjtRQUE5Qix1QkFBOEI7WUFBOUIsK0JBQThCO0lBQzlCLGFBQVksRUFDZixFQUFBOztBdEMwbktMLHdDQUF3QztBc0N0bkt4Qzs7RUFFSSxxRXJDOEZxRSxFcUM3RnhFOztBQUVEOztrREFFa0Q7QXRDdW5LbEQsd0NBQXdDO0FzQ3JuS3hDO0VBQ0ksY3JDMUZNO0VxQzJGTiwwQnJDakRZO0VxQ2tEWiwwQkFBeUIsRUFxQjVCO0V0Q2ttS0Msd0NBQXdDO0VzQzFuSzFDO0lBTVEsa0JyQ2hFa0I7SXFDaUVsQixrQkFBaUI7SUFDakIsbUJBQWtCLEVBQ3JCO0V0Q3NuS0gsd0NBQXdDO0VzQy9uSzFDO0k3QnBISSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRTZCK0hWO0V0Q3VuS0gsd0NBQXdDO0VzQ3BvSzFDOztJQWlCUSxZQUFXO0lBQ1gsbUJyQzNHRSxFcUM0R0w7RXRDc25LSCx3Q0FBd0M7RXNDem9LMUM7SUFzQlEsYUFBWSxFQUNmOztBdENzbktMLHdDQUF3QztBc0Nubkt4QztFQUNJLGFBQVk7RUFDWixlQUFjO0VBQ2QsNkJBQTRCLEVBUS9CO0V0QzZtS0Msd0NBQXdDO0VzQ3huSzFDO0lBTVEsY0FBYSxFQUNoQjtFdENvbktILHdDQUF3QztFc0MzbksxQztJQVNRLGdCQUFlLEVBQ2xCOztBbkNuSkc7RUh5d0tOLHdDQUF3QztFc0Nob0sxQztJQWVRLGlCQUFnQixFQU1uQjtJdEM4bUtELHdDQUF3QztJc0Nub0s1QztNQW1CWSxnQnJDMkVJLEVxQzFFUCxFQUFBOztBdENtbktULHdDQUF3QztBc0MvbUt4Qzs7RUFFSSxlckNsRmtCLEVxQ21GckI7O0FuQ3BLTztFSHN4S04sd0NBQXdDO0VzQ3ZxSzFDO0lBMERRLGNBQWEsRUFDaEIsRUFBQTs7QUFJTDs7a0RBRWtEO0F0QzZtS2xELHdDQUF3QztBc0MzbUt4QztFQUNJLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFFdEIsYUFBWSxFQWtDZjtFdEMwa0tDLHdDQUF3QztFc0NobksxQztJQU1RLGVBQWM7SUFDZCxZQUFXO0lBRVgsaUJBQWdCO0lBRWhCLG1CQUFrQjtJQUNsQiwyQkFBMEIsRUFhN0I7SXRDOGxLRCx3Q0FBd0M7SXNDdm5LNUM7TUFlWSxpQkFBZ0IsRUFDbkI7SXRDMG1LTCx3Q0FBd0M7SXNDMW5LNUM7TUFtQlksZUFBYztNQUNkLGlCQUFnQixFQUNuQjtJdEN5bUtMLHdDQUF3QztJc0M5bks1QztNQXVCWSxjQUFhLEVBQ2hCO0V0Q3ltS1Asd0NBQXdDO0VzQ2pvSzFDO0lBNEJRLGFBQVksRUFDZjtFdEN1bUtILHdDQUF3QztFc0Nwb0sxQztJQWdDUSwwQkFBeUI7SUFDekIsZ0JyQ3FCUztJcUNwQlQsaUJBQWdCO0lBQ2hCLG9DckNNd0I7SXFDTHhCLGVsQy9NTyxFa0NnTlY7O0FuQ3ZORztFSCt6S04sd0NBQXdDO0VzQzdvSzFDO0lBcURZLDJCQUEwQixFQVM3QjtJdENrbEtMLHdDQUF3QztJc0NocEs1QztNQXdEZ0IsY0FBYSxFQUNoQjtJdEMwbEtULHdDQUF3QztJc0NucEs1QztNQTREZ0IsZUFBYyxFQUNqQixFQUFBOztBbkMvT0w7RUgwMEtOLHdDQUF3QztFc0N4cEsxQztJQXNFUSxnQkFBZSxFQUNsQixFQUFBOztBQUlMOztrREFFa0Q7QXRDa2xLbEQsd0NBQXdDO0FzQ2hsS3hDO0VBQ0ksWUFBVyxFQUlkOztBbkN0UU87RUhzMUtOLHdDQUF3QztFc0Mxa0t0QztJQUNJLFVBQVMsRUFDWixFQUFBOztBbkM5UUc7RUgyMUtOLHdDQUF3QztFc0Mva0t0QztJQVFJLGlCQUFnQixFQUNuQixFQUFBOztBQUdMOztHQUVHO0F0Q3drS0gsd0NBQXdDO0FzQ3RrS3hDO0VBQ0ksbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxXQUFVO0VBQ1YsYUFBWTtFQUNaLG9CQUFtQjtFQUNuQixlckNuTlk7RXFDb05aLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFDckI7O0F0Q3drS0Qsd0NBQXdDO0FzQ3RrS3hDO0VBRUksaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsZ0JyQ3BFYSxFcUNzRWhCOztBdENza0tELHdDQUF3QztBc0Nwa0t4QztFQUNJLGFBQVksRUFDZjs7QW5DbFRPO0VIeTNLTix3Q0FBd0M7RXNDN2pLdEM7SUFDSSxnQkFBZSxFQUNsQixFQUFBOztBbkM5VEc7RUg4M0tOLHdDQUF3QztFc0NsbUsxQztJQTJDUSxXQUFVLEVBQ2IsRUFBQTs7QUFJTDs7R0FFRztBbkM5VUs7RUhzNEtOLHdDQUF3QztFc0Nyakt0QztJQUVJLGVBQWMsRUFDakI7RXRDcWpLSCx3Q0FBd0M7RXNDbmpLdEM7SUFDSSxlQUFjLEVBQ2pCLEVBQUE7O0FBSUw7O0dBRUc7QXRDa2pLSCx3Q0FBd0M7QXNDaGpLeEM7RUFDSSxzQkFBcUI7RUFDckIsWUFBVztFQUNYLGFBQVk7RUFDWix1QkFBc0IsRUFDekI7O0F0Q2tqS0Qsd0NBQXdDO0FzQ2hqS3hDOztFQUVJLGtCQUFpQixFQUNwQjs7QW5DMVdPO0VINjVLTix3Q0FBd0M7RXNDN2pLMUM7SUFlUSxrQkFBaUIsRUFDcEIsRUFBQTs7QUFJTDs7R0FFRztBdEM4aUtILHdDQUF3QztBc0M1aUt4QztFQUVRLGNBQWE7RUFDYixlbENwWE87RWtDcVhQLG9DckNqS3dCLEVxQ2tLM0I7O0FuQzdYRztFSDI2S04sd0NBQXdDO0VzQ25qSzFDO0lBY1ksZ0JBQWUsRUFDbEIsRUFBQTs7QUFLVDs7a0RBRWtEO0F0Q29pS2xELHdDQUF3QztBc0NsaUt4QztFQUNJLGNBQWEsRUFDaEI7O0F0Q29pS0Qsd0NBQXdDO0FzQ2xpS3hDO0VBQ0ksZUFBYztFQUNkLG9CbEMzWVcsRWtDNFlkOztBQUVEOztrREFFa0Q7QW5DM1oxQztFSCs3S04sd0NBQXdDO0VzQzloS3RDOztJQUVJLHVCQUFzQjtJQUN0QixpQ3JDcFFpQjtJcUNxUWpCLG1CQUFrQjtJQUNsQixlckN2VlE7SXFDd1ZSLG1DckM3TTJCO0lxQzhNM0IsMEJBQXlCO0lBQ3pCLGtCQUFpQixFQUNwQjtFdEMraEtILHdDQUF3QztFc0M3aEt0Qzs7SUFFSSxpQkFBZ0IsRUFDbkI7RXRDOGhLSCx3Q0FBd0M7RXNDNWhLdEM7O0lBRUksMEJyQ3hScUI7SXFDeVJyQixzQkFBcUIsRUFDeEI7RXRDNmhLSCx3Q0FBd0M7RXNDNWhLdEM7SUFDSSxVQUFTO0lBQ1QsWUFBVyxFQVVkO0l0Q29oS0Qsd0NBQXdDO0lzQ2hpS3hDO01BVVEsWUFBVyxFQUNkLEVBQUE7O0F0Q3loS1Qsd0NBQXdDO0FzQ3BoS3hDO0VBSUksc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixrQ0FBeUI7TUFBekIsbUJBQXlCO1VBQXpCLDBCQUF5QixFQVE1QjtFdEMyZ0tDLHdDQUF3QztFc0N6aEsxQztJQVFRLDZDQUFvQztRQUFwQyw4QkFBb0M7WUFBcEMscUNBQW9DLEVBQ3ZDO0VuQy9jRztJSG0rS0osd0NBQXdDO0lzQzdoSzVDO01BWVEsaUJBQWdCLEVBRXZCLEVBQUE7O0FuQ3BkTztFSHcrS04sd0NBQXdDO0VzQ3R6SzFDO0lBc1NRLGFBQVksRUFDZixFQUFBOztBbkN6ZEc7RUg2K0tOLHdDQUF3QztFc0NoaEt0QztJQUdZLCtCQUFzQjtRQUF0QixxQkFBc0I7WUFBdEIsdUJBQXNCLEVBSXpCO0l0QzRnS1Qsd0NBQXdDO0lzQ25oS3hDO01BS2dCLG9CQUFtQixFQUN0QixFQUFBOztBQU1qQjs7a0RBRWtEO0F0QzRnS2xELHdDQUF3QztBc0MxZ0t4QztFQUVRLGlEQUFnRDtFQUNoRCw0QkFBMkI7RUFDM0Isc0JBQXFCO0VBQ3JCLFlBQVcsRUFDZDs7QW5DbmZHO0VIKy9LTix3Q0FBd0M7RXNDbjZLdEM7SUE0Wkksd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlO0lBQ2YsK0JBQXNCO1FBQXRCLHFCQUFzQjtZQUF0Qix1QkFBc0IsRUFnQnpCO0l0QzAvSkQsd0NBQXdDO0lzQzVnS3hDO01BSVEsV0FBVSxFQUliO010Q3VnS0gsd0NBQXdDO01zQy9nSzFDO1FBTVksWUFBVyxFQUNkO0l0QzJnS1Qsd0NBQXdDO0lzQ2xoS3hDO01BVVEsWUFBVyxFQUlkO010Q3VnS0gsd0NBQXdDO01zQ3JoSzFDO1FBWVksa0NBQXlCO1lBQXpCLG1CQUF5QjtnQkFBekIsMEJBQXlCLEVBQzVCO0l0QzJnS1Qsd0NBQXdDO0lzQ2hoTDVDO01Bd2dCWSx5QkFBZ0I7VUFBaEIseUJBQWdCO2NBQWhCLGlCQUFnQixFQUNuQixFQUFBOztBbkN4Z0JEO0VIb2hMTix3Q0FBd0M7RXNDOWhMMUM7SUF3aEJRLGVBQWMsRUFDakI7RXRDd2dLSCx3Q0FBd0M7RXNDdmdLdEM7SUFDSSxjQUFhLEVBQ2hCO0V0Q3dnS0gsd0NBQXdDO0VzQzk3S3RDO0lBd2JJLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsMEJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUIsRUEyTHBCO0l0QzgwSkQsd0NBQXdDO0lzQzVnS3hDO01BS1EsV0FBVSxFQUNiO0l0Q3lnS0wsd0NBQXdDO0lzQ25pTDVDO01BNGhCWSxjQUFhLEVBQ2hCO0l0Q3lnS0wsd0NBQXdDO0lzQ2xoS3hDO01BV1EsY0FBYSxFQUNoQjtJdEN5Z0tMLHdDQUF3QztJc0NyaEt4QztNQWNRLGVBQWMsRUFRakI7TXRDa2dLSCx3Q0FBd0M7TXNDeGhLMUM7UUFnQlksbURBQWtEO1FBQ2xELDRCQUEyQjtRQUMzQixZQUFXO1FBQ1gsYUFBWTtRQUNaLDZCQUE0QixFQUMvQjtJdEMwZ0tULHdDQUF3QztJc0Mzakt4QztNQW9EUSxXQUFVO01BQ1Ysc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiw0QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQjtNQUNuQixrQ0FBeUI7VUFBekIsbUJBQXlCO2NBQXpCLDBCQUF5QixFQTZFNUI7TXRDNjdKSCx3Q0FBd0M7TXNDcmlLMUM7UUE2QlksZ0JBQWU7UUFDZixrQkFBaUI7UUFDakIsbUJBQWtCO1FBQ2xCLGFBQVksRUFPZjtRdENvZ0tMLHdDQUF3QztRc0MzaUs1QztVQWtDZ0IseUJBQXdCLEVBQzNCO1F0QzJnS1Qsd0NBQXdDO1FzQzlpSzVDO1VBcUNnQixhQUFZLEVBQ2Y7TXRDMmdLWCx3Q0FBd0M7TXNDampLMUM7UUF5Q1ksV0FBVTtRQUNWLGtCQUFpQixFQVdwQjtRdENnZ0tMLHdDQUF3QztRc0Nyaks1QztVQTRDZ0IsbUJBQWtCO1VBQ2xCLFdBQVU7VUFDVixVQUFTO1VBQ1QsU0FBUTtVQUlSLGVsQy9qQkwsRWtDZ2tCRTtNdEN3Z0tYLHdDQUF3QztNc0M1aksxQztRQXVEWSxjQUFhLEVBQ2hCO010Q3VnS1Asd0NBQXdDO01zQzNsSzFDO1FBc0ZZLGlCQUFRO1lBQVIsa0JBQVE7Z0JBQVIsU0FBUSxFQTBCWDtRdEM4K0pMLHdDQUF3QztRc0Nsa0s1QztVQThEb0IsVUFBUyxFQWlCWjtVdENzL0pYLHdDQUF3QztVc0Nya0s5QztZQXNFNEIsZ0JBQWU7WUFDZixhQUFZO1lBQ1osb0JBQW1CO1lBQ25CLGlCQUFnQixFQUNuQjtVdENpZ0tuQix3Q0FBd0M7VXNDM2tLOUM7WUE2RXdCLGNBQWEsRUFDaEI7UXRDZ2dLakIsd0NBQXdDO1FzQzlrSzVDO1VBa0ZnQixjQUFhLEVBQ2hCO010QzgvSlgsd0NBQXdDO01zQ2psSzFDO1FBc0ZZLGlCQUFRO1lBQVIsa0JBQVE7Z0JBQVIsU0FBUTtRQUNSLGFBQVksRUFhZjtRdENpL0pMLHdDQUF3QztRc0NybEs1QztVQXlGZ0Isa0RBQWlEO1VBQ2pELDRCQUEyQjtVQUMzQiw2QkFBNEI7VUFDNUIsc0JBQXFCO1VBRXJCLGtCQUFpQjtVQUNqQixZQUFXLEVBSWQ7VXRDMC9KUCx3Q0FBd0M7VXNDN2xLOUM7WUFpR29CLHVCQUFzQixFQUN6QjtNdEM4L0pmLHdDQUF3QztNc0NobUsxQztRQXNHWSxpQkFBUTtZQUFSLGtCQUFRO2dCQUFSLFNBQVEsRUFDWDtJdEM0L0pULHdDQUF3QztJc0Mvbkt4QztNQXNJUSxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLHVCQUFzQjtNQUN0QixhQUFZO01BQ1osY0FBYTtNQUNiLFVBQVM7TUFDVCxVQUFTO01BQ1QsV0FBVTtNQUNWLG1CQUFrQjtNQUNsQixvQkFBbUI7TUFDbkIsZ0JyQzdtQks7TXFDOG1CTCxrQkFBaUIsRUF3RXBCO010Q283Skgsd0NBQXdDO01zQzdvSzFDO1FBbUpZLHFCQUFvQixFQVl2QjtRdENpL0pMLHdDQUF3QztRc0Nwbks1QztVQXlIZ0IsK0JBQXNCO2NBQXRCLDJCQUFzQjtrQkFBdEIsdUJBQXNCLEVBU3pCO1V0Q3EvSlAsd0NBQXdDO1VzQ3ZuSzlDO1lBMkhvQiw4QkFBNkIsRUFNaEM7WXRDeS9KVCx3Q0FBd0M7WXNDMW5LaEQ7Y0E2SHdCLGFBQVk7Y0FDWixvQkFBbUI7Y0FDbkIsbUNyQ3hiTyxFcUN5YlY7TXRDKy9KbkIsd0NBQXdDO01zQ25wTDlDO1FBeXBCZ0IsZUFBYztRQUNkLDhCbENscEJEO1FrQ21wQkMsbUJBQWtCO1FBQ2xCLGtCQUFpQixFQW9EcEI7UXRDeThKTCx3Q0FBd0M7UXNDcm9LNUM7VUx6aUJGLG9DaENpUDhCO1VnQ2hQOUIsZ0JoQzZQZTtVZ0M1UGYsZTdCMkJhO1U2QjFCYix1QkFBc0I7VUFDdEIsa0JBQWlCO1VBQ2pCLGlCQUFnQixFSytxQkQ7UXRDa2dLVCx3Q0FBd0M7UXNDN29LNUM7VUE2SWdCLG9CQUFtQixFQWtCdEI7VXRDaS9KUCx3Q0FBd0M7VXNDaHBLOUM7WUErSW9CLG9DckN2Y1E7WXFDd2NSLGdCckM1YlI7WXFDNmJRLFlBQVc7WUFDWCwwQkFBeUI7WUFDekIsa0JBQWlCLEVBV3BCO1l0Q3kvSlQsd0NBQXdDO1lzQ3ZwS2hEO2NBd0p3QixtQkFBa0I7Y0FDbEIsK0JsQ3JxQmIsRWtDc3FCVTtZdENpZ0tiLHdDQUF3QztZc0MzcEtoRDtjQTRKd0IsbUJBQWtCLEVBQ3JCO1F0Q2lnS2pCLHdDQUF3QztRc0M5cEs1QztVQWlLZ0IsbUJBQWtCLEVBMEJyQjtVdENzK0pQLHdDQUF3QztVc0NqcUs5QztZQW9Lb0IsV0FBVTtZQUNWLGdCQUFlO1lBQ2Ysc0JBQWE7WUFBYixxQkFBYTtZQUFiLGNBQWEsRUFvQmhCO1l0QzQrSlQsd0NBQXdDO1lzQ3RxS2hEO2NBeUt3QixzQkFBYTtjQUFiLHFCQUFhO2NBQWIsY0FBYTtjQUNiLHNCQUFhO2tCQUFiLGtCQUFhO3NCQUFiLGNBQWE7Y0FDYixXQUFVLEVBY2I7Y3RDay9KWCx3Q0FBd0M7Y3NDM3FLbEQ7Z0JBNks0QixhQUFZLEVBQ2Y7Y3RDZ2dLZix3Q0FBd0M7Y3NDOXFLbEQ7Z0JBaUw0QiwrQkFBc0I7b0JBQXRCLHFCQUFzQjt3QkFBdEIsdUJBQXNCO2dCQUN0QixvQkFBbUIsRUFDdEI7Y3RDKy9KZix3Q0FBd0M7Y3NDbHJLbEQ7Z0JBc0w0Qiw4QkFBcUI7b0JBQXJCLG9CQUFxQjt3QkFBckIsc0JBQXFCO2dCQUNyQixtQkFBa0IsRUFDckIsRUFBQTs7QW5DM3NCckI7RUgyc0xOLHdDQUF3QztFc0N0L0p0QztJQUNJLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCLEVBQ3pCLEVBQUE7O0FDcnVCTDs7a0RBRWtEO0F2Qzh0TGxELDJDQUEyQztBdUM1dEwzQztFQUVRLFdBQVUsRUFlYjtFdkM4c0xILDJDQUEyQztFc0N4dkt6QztJQ25lUSxnQnRDOE9LO0lzQzdPTCxvQ3RDZ09vQjtJc0MvTnBCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsdUNBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEI7SUFDOUIsd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBT2xCO0l2Q3V0TEwsMkNBQTJDO0l1Q3Z1TC9DO01BV2dCLG1CQUFrQixFQUlyQjtNdkMydExQLDJDQUEyQztNdUMxdUxqRDtRQWFvQixrQkFBaUIsRUFDcEI7O0FBTWpCOztrREFFa0Q7QXZDMnRMbEQsMkNBQTJDO0F1Q3p0TDNDO0VBQ0ksV0FBVSxFQVNiO0V2Q2t0TEMsMkNBQTJDO0V1QzV0TDdDO0lBSVEsc0JBQXFCLEVBS3hCOztBdkN1dExMLDJDQUEyQztBdUNwdEwzQztFQUNJLGdCQUFlLEVBQ2xCOztBdkNzdExELDJDQUEyQztBdUNwdEwzQztFQUVJLDZCQUEyRCxFQUM5RDs7QXBDakNPO0VIdXZMTiwyQ0FBMkM7RXVDenVMN0M7SUEwQlEsV0FBVSxFQUNiLEVBQUE7O0FwQ3pDRztFSDR2TE4sMkNBQTJDO0V1Qzl1TDdDO0lBb0NRLGNBQWEsRUFDaEIsRUFBQTs7QUFJTDs7a0RBRWtEO0FwQ3pEMUM7RUhvd0xOLDRDQUE0QztFdUN2c0wxQztJQUNJLGVBQWMsRUFDakIsRUFBQTs7QXBDL0RHO0VIeXdMTiw0Q0FBNEM7RXVDNXNMMUM7SUFXSSxlQUFjO0lBQUUsc0JBQXNCLEVBRXpDLEVBQUE7O0FBSUw7O2tEQUVrRDtBcENoRjFDO0VIa3hMTiw0Q0FBNEM7RXVDL3JMMUM7SUFDSSxlQUFjO0lBQ2QsaUJBQWdCLEVBQ25CLEVBQUE7O0FBSUw7O2tEQUVrRDtBdkM4ckxsRCw0Q0FBNEM7QXVDMXJMNUM7RUFHUSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGV0Q3RCUTtFc0N3QlIscUV0QytGaUUsRXNDOUZwRTs7QXZDeXJMTCw0Q0FBNEM7QXVDanNMNUM7RUFXUSxtQkFBa0IsRUFDckI7O0F2Q3lyTEwsNENBQTRDO0F1Q3JzTDVDO0VBZVEsaUN0Q2lEaUIsRXNDaERwQjs7QXZDeXJMTCw0Q0FBNEM7QXVDcnJMNUM7O0VBRUksZUFBYyxFQUNqQjs7QXZDdXJMRCw0Q0FBNEM7QXVDcnJMNUM7RUFDSSwwQkFBeUI7RUFDekIsb0N0Q2dHNEI7RXNDL0Y1QixlbkNySFc7RW1Dc0hYLG9CQUFtQixFQUN0Qjs7QUFFRDs7a0RBRWtEO0FwQ2xJMUM7RUh5ekxOLDRDQUE0QztFdUNuckwxQzs7SUFLUSxrQkFBc0MsRUFDekM7RXZDaXJMUCw0Q0FBNEM7RXVDdnJMMUM7SUFVUSxjQUFhLEVBQ2hCO0V2QytxTFAsNENBQTRDO0V1QzFyTDFDO0lBZVEsb0JBQW1CLEVBQ3RCO0V2QzZxTFAsNENBQTRDO0V1Q251TDlDO0lBeURZLHVCQUFzQixFQUN6QjtFdkM0cUxQLDRDQUE0QztFdUNoc0wxQzs7SVYvSUEsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsVUFBUztJQUNULGVBQWM7SUFVVixvQ0FBcUM7SUFDckMsbUNBQW9DO0lBQ3BDLDJCVWdLcUM7SVYvSnJDLG9CQUFtQjtJVWdLZixTQUFRO0lBQ1IsV0FBVTtJQUNWLFlBQVc7SUFDWCxpQkFBZ0IsRUFDbkI7RXZDMHFMUCw0Q0FBNEM7RXVDaHRMMUM7O0lBMENRLGV0Q2hISSxFc0NpSFAsRUFBQTs7QUFJVDs7a0RBRWtEO0FwQ3ZMMUM7RUgrMUxOLDRDQUE0QztFdUM1d0wxQztJQTZISSwyQ0FBMkM7SUFhM0MsY0FBYztJQU1kLGtFQUFrRTtJQUtsRSxtRUFBbUU7SUFhbkUsY0FBYyxFQVdqQjtJdkNzbUxELDRDQUE0QztJdUMzcUw1Qzs7TUFRUSxzQkFBcUI7TUFDckIsbUJBQWtCLEVBQ3JCO0l2Q3NxTEwsNENBQTRDO0l1Q2hyTDVDO01BYVEsb0JBQW1CO01BQ25CLG9CQUFtQixFQUN0QjtJdkNxcUxMLDRDQUE0QztJdUNwckw1QztNQWtCUSxhQUFZLEVBQ2Y7SXZDb3FMTCw0Q0FBNEM7SXVDNXVMNUM7TUMvSUEsb0JBQW1CO01BQ25CLDBCdkN3S3FCO01zQ21EYixtQkFBa0I7TUFDbEIsUUFBTztNQUNQLFVBdkhhO01BdUhhLHVDQUF1QztNQUNqRSxZQUFXO01BQ1gsYUFBWTtNQUNaLG1CdEN2TE07TXNDd0xOLG9CdEN4TE07TXNDeUxOLGNBQWE7TUFBRSwyQkFBMkIsRUFDN0M7SXZDcXFMTCw0Q0FBNEM7SXVDcnNMNUM7TUFvQ1EsV0FBVTtNQUNWLFVBQVMsRUFDWjtJdkNtcUxMLDRDQUE0QztJdUN6c0w1QztNQTBDUSxlQUFjLEVBQ2pCO0l2Q2lxTEwsNENBQTRDO0l1QzVzTDVDO01BK0NRLFNBQVE7TUFDUixXQUFVLEVBUWI7TXZDd3BMSCw0Q0FBNEM7TXVDaHRMOUM7UUFvRFksV0FBVTtRQUNWLFlBQVc7UUFDWCxVQUFTLEVBQ1o7SXZDOHBMVCw0Q0FBNEM7SXVDcnRMNUM7TUE0RFEsbUJBQWtCLEVBUXJCO012Q29wTEgsNENBQTRDO011Q3h0TDlDO1FWcE1BLFlBQVc7UUFDWCxtQkFBa0I7UUFDbEIsU0FBUTtRQUNSLFVBQVM7UUFDVCxlQUFjO1FBaUJWLGtDQUFtQztRQUNuQyxxQ0FBc0M7UUFDdEMsNEJVNE8wQztRVjNPMUMsbUJBQWtCO1FVNE9WLFdBQVU7UUFDVixTQUFRO1FBQ1IsaUJBQWdCLEVBQ25CLEVBQUE7O0F2Q29xTGIsNENBQTRDO0F1Qy9wTDVDO0VBRVEsZUFBYyxFQUNqQjs7QUVwUkw7O2tEQUVrRDtBekNxN0xsRCw4Q0FBOEM7QXlDbjdMOUM7RUFJWSxrQ0FBd0UsRUFDM0U7O0F6Q2s3TFQsOENBQThDO0F5Q3Y3TDlDO0VBVVEsZ0NBQXNFLEVBQ3pFOztBdENERztFSGs3TE4sOENBQThDO0V5QzE2TDVDO0lBQ0ksY0FBYSxFQUNoQixFQUFBOztBQUlMOztrREFFa0Q7QXpDeTZMbEQsOENBQThDO0F5Q3Y2TDlDO0VBQ0ksY0FBYSxFQUloQjs7QXRDdkJPO0VIODdMTiw4Q0FBOEM7RXlDNTZMaEQ7SUFZUSxlQUFjO0lBTWQsV0FBVTtJQUNWLGlCQUFnQixFQVduQjtJekNtNUxELDhDQUE4QztJeUN0Nkw5QztNQVdRLDBCQUF5QjtNQUN6QixnQnhDK0xLO013QzlMTCxvQ3hDaUxvQixFd0NoTHZCO0l6QzY1TEwsOENBQThDO0l5QzM2TDlDO01BZ0JRLG1CQUFrQixFQUVyQixFQUFBOztBQUtUOztrREFFa0Q7QXpDeTVMbEQsOENBQThDO0F5Q3Y1TDlDO0VBQ0ksbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxpQkFBZ0IsRUFDbkI7O0F6Q3k1TEQsK0NBQStDO0F5Q3Y1TC9DO0VBQ0ksY0FBYSxFQUNoQjs7QXpDeTVMRCwrQ0FBK0M7QXlDdjVML0M7RUFDSSxZQUFXO0VBQ1gsYUFBWTtFQUNaLG9CQUFtQjtFQUNuQixtQ3hDb0orQixFd0NuSmxDOztBekN5NUxELCtDQUErQztBeUN2NUwvQztFVnZFSSxxQkFBb0I7RVV5RXBCLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sU0FBUTtFQUNSLFlBQVc7RUFDWCxhQUFZO0VBQ1osVUFBUztFQUNULGlCQUFnQixFQUNuQjs7QXpDeTVMRCwrQ0FBK0M7QXlDdjVML0M7RUFDSSxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsWUFBVztFQUNYLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsbUJBQWtCO0VBRWxCLGdDQUFzRSxFQUN6RTs7QXpDdzVMRCwrQ0FBK0M7QXlDdDVML0M7RUFDSSxhQUFZLEVBQ2Y7O0F6Q3c1TEQsK0NBQStDO0F5Q3Q1TC9DO0VBQ0ksa0JBQXVCO0VBQ3ZCLG1CQUF3QixFQUMzQjs7QUFFRDs7a0RBRWtEO0F6Q3U1TGxELCtDQUErQztBeUMvNkwvQztFQTRCUSx5REFBd0Q7RUFDeEQsNEJBQTJCO0VBQzNCLFlBQVc7RUFDWCxhQUFZLEVBQ2Y7O0F6Q3M1TEwsK0NBQStDO0F5Q241TC9DO0VBQ0ksY0FBYTtFQUNiLGdCQUFlO0VBQ2YscUNBQW9DO0VBQ3BDLGFBQVk7RUFDWixPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZLEVBMkJmO0V6QzAzTEMsK0NBQStDO0V5Qzc1TGpEO0lBVVEsZUFBYyxFQUNqQjtFekNxNUxILCtDQUErQztFeUNoNkxqRDtJQWFRLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsUUFBTztJQUNQLGNBQWE7SUFDYixrREFBaUQ7SUFDakQsNEJBQTJCO0lBQzNCLFlBQVcsRUFDZDtFekNxNUxILCtDQUErQztFeUN6NkxqRDtJQXNCUSxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFVBQVM7SUFDVCxlQUFjO0lBQ2QseUNBQWdDO1FBQWhDLHFDQUFnQztZQUFoQyxpQ0FBZ0MsRUFRbkM7SXpDODRMRCwrQ0FBK0M7SXlDaDdMbkQ7TUE2QmdCLDhCQUE2QjtNQUM3QixhQUFZO01BQ1osaUNBQWdDLEVBQ25DOztBQ3JLYjs7a0RBRWtEO0FBRWxEOztHQUVHO0ExQzJqTUgsK0NBQStDO0EwQ3pqTS9DO0VBSVksaUNBQStFLEVBQ2xGOztBMUN3ak1ULCtDQUErQztBMEM3ak0vQztFQVVRLCtCQUE4RSxFQUNqRjs7QXZDTEc7RUg0ak1OLCtDQUErQztFMENoak03QztJQUNJLFlBQVc7SUFDWCxZQUFXO0lBQ1gsb0JBQW1CO0lBQ25CLHNCQUFxQjtJQUNyQixnQkFBZTtJQUNmLDBCQUF5QixFQUM1QjtFMUNpak1ILCtDQUErQztFMEM1aU03QztJRmpDQSxvQkFBbUI7SUFDbkIsMEJ2Q3dLcUI7SXlDdElqQixlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLGFBQVk7SUFDWixVQUFTO0lBQ1QsYUFBWTtJQUNaLGFBQVksRUFDZjtFMUM4aU1ILCtDQUErQztFMEM1aU03QztJQUNJLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsZXpDMENRO0l5Q3pDUixlQUFjLEVBQ2pCO0UxQzZpTUgsK0NBQStDO0UwQzNpTTdDO0lBQ0ksZXpDc0JRLEV5Q3JCWCxFQUFBOztBQUlMOztHQUVHO0ExQzBpTUgsK0NBQStDO0EwQ3hpTS9DO0VBQ0ksZUFBYyxFQUNqQjs7QTFDMGlNRCwrQ0FBK0M7QTBDN2pNM0M7RUFzQkEsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsa0JBQWdCO0VBQ2hCLG1CQUFrQixFQUNyQjs7QTFDMGlNRCxnREFBZ0Q7QTBDOWpNNUM7RUF1QkEsZXpDQVksRXlDQ2Y7O0FDL0VEOztrREFFa0Q7QUFFbEQ7O0dBRUc7QTNDeW5NSCw0Q0FBNEM7QTJDdm5NNUM7RUFTUSwrQkFBMkUsRUFDOUU7O0EzQ2luTUwsNENBQTRDO0EyQzVtTTVDO0VBQ0ksZUFBYztFQUVkLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLGFBQVk7RUFDWixXQUFVO0VBRVYsU0FBUTtFQUNSLFNBQVE7RUFFUixrQkFBaUI7RUFDakIsYUFBWTtFQUNaLGFBQVksRUFTZjtFM0NrbU1DLDRDQUE0QztFMkN4bk05QztJQWVRLGdCQUFlO0lBQ2YsVUFBUztJQUNULFNBQVE7SUFDUixhQUFZO0lBQ1osOEJ2Q3JCTztJdUNzQlAsb0J2Q2xCTyxFdUNtQlY7O0F4QzlCRztFSDJvTU4sNENBQTRDO0UyQ3htTTFDO0lBQ0ksWUFBVztJQUNYLGdCQUFlLEVBQ2xCLEVBQUE7O0F4Q3RDRztFSGlwTU4sNENBQTRDO0UyQzltTTFDO0lBYUksaUJBQWdCLEVBQ25CLEVBQUE7O0FBR0w7O0dBRUc7QTNDa21NSCw0Q0FBNEM7QTJDaG1NNUM7RXBCNUVpRSxvQm9CNkVsQztFQUMzQixzQkFBcUI7RUFDckIsVUFBUztFQUNULG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsV0FBVTtFQUNWLFlBQVc7RUFDWCxvQnZDckRXO0V1Q3NEWCxlQUFjO0VBQ2QsZUFBYztFQUVkLG1CQUFrQjtFQUNsQiwwRDFDK0h1RDtFMEM5SHZELG1CQUFrQixFQUNyQjs7QTNDcW1NRCw2Q0FBNkM7QTJDNWxNN0M7RUFDSSxjQUFhLEVBQ2hCOztBeENsRk87RUhpck1OLDZDQUE2QztFMkN6bk0vQztJQThCUSxtQkFBa0IsRUFDckIsRUFBQTs7QXhDdkZHO0VIc3JNTiw2Q0FBNkM7RTJDbnBNM0M7SUF5REksZTFDNUJRO0kwQzZCUiwwQkFBeUIsRUF3QjVCO0kzQ3FrTUQsNkNBQTZDO0kyQy9sTTdDO01BS1Esc0JBQXFCLEVBQ3hCO0kzQzRsTUwsNkNBQTZDO0kyQ3JvTWpEO01BK0NZLGlCQUFnQjtNQUdoQixldkNuR0c7TXVDb0dILG1CQUFrQixFQVNyQixFQUFBOztBM0Mra01ULDZDQUE2QztBMkN2a003QztFQUNJLGNBQWEsRUFDaEI7O0FBRUQ7O0dBRUc7QTNDd2tNSCw2Q0FBNkM7QTJDdGtNN0M7RUFDSSxjQUFhO0VBQ2IsbUJBQWtCLEVBQ3JCOztBQUVEOztHQUVHO0FBRUgsYUFBYTtBM0Nza01iLDZDQUE2QztBMkNwa003QztFQUNJLGlCQUFnQjtFQUNoQixjQUFhLEVBQ2hCOztBM0Nza01ELDZDQUE2QztBMkNwa003QztFQUNJLFlBQVc7RUFDWCxXQUFVLEVBQ2I7O0EzQ3NrTUQsNkNBQTZDO0EyQ3BrTTdDO0VBQ0ksZ0JBQWUsRUFDbEI7O0FBRUQsY0FBYztBM0Nxa01kLDZDQUE2QztBMkNua003QztFQUNJLHFCQUFvQjtFQUNwQixxRTFDcUNxRTtFMENwQ3JFLGdCQUFlO0VBQ2YsaUJBQWdCLEVBQ25COztBQUVELFVBQVU7QTNDb2tNViw2Q0FBNkM7QTJDbGtNN0M7RUFDSSxtQkFBa0IsRUFDckI7O0EzQ29rTUQsNkNBQTZDO0EyQ2xrTTdDO0VBQ0ksbUJBQWtCO0VBQ2xCLGlCQUFnQztFQUNoQyw2QkFBNEM7RUFDNUMsOEIxQ2hCcUI7RTBDaUJyQixnQjFDcURXO0UwQ3BEWCxrQkFBaUIsRUFDcEI7O0EzQ29rTUQsNkNBQTZDO0EyQ2xrTTdDO0VBQ0ksc0JBQXFCLEVBQ3hCOztBM0Nva01ELDZDQUE2QztBMkNsa003QztFQUNJLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsVUFBUyxFQUNaOztBM0Nva01ELDZDQUE2QztBMkNsa003QztFQUNJLFlBQVc7RUFDWCxhQUFZLEVBQ2Y7O0EzQ29rTUQsNkNBQTZDO0EyQ2hrTTdDO0VBQ0ksaUJBQWdCO0VBQ2hCLGUxQ3hIaUI7RTBDeUhqQixnQjFDOEJZLEUwQzdCZjs7QUFFRCx1REFBdUQ7QTNDaWtNdkQsNkNBQTZDO0EyQ2hrTTdDO0VBQ0ksd0JBQXVCO0VBQ3ZCLDhCMUMvQ3FCO0UwQ2dEckIsZ0IxQ3NCVyxFMENyQmQ7O0FBRUQ7O2tEQUVrRDtBM0Npa01sRCw2Q0FBNkM7QTJDL2pNN0M7RUFFUSxjQUFhLEVBQ2hCOztBM0Nna01MLDZDQUE2QztBMkNoeU03QztFQWtPUSxzREFBcUQ7RUFDckQsNEJBQTJCO0VBQzNCLHNCQUFxQjtFQUNyQixZQUFXLEVBRWQ7O0EzQ2drTUwsNkNBQTZDO0EyQzFrTTdDO0VBYVkscURBQW9ELEVBQ3ZEOztBeENyT0Q7RUhzeU1OLDZDQUE2QztFMkM3eE0vQztJQW1PUSxXQUFVLEVBQ2IsRUFBQTs7QXhDN09HO0VIMnlNTiw2Q0FBNkM7RTJDcGxNL0M7SUE0QlksY0FBYSxFQUNoQjtFM0Mwak1QLDZDQUE2QztFMkNwek0vQztJQTRQWSxlQUFjLEVBQ2pCO0UzQzBqTVAsNkNBQTZDO0UyQ3h5TS9DO0lBaVBRLFVBQVMsRUFDWixFQUFBOztBQzFRTDs7a0RBRWtEO0E1Q3EwTWxELHVDQUF1QztBNENuME12QztFQUNFLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNuQjs7QUFFRDs7R0FFRztBNUNvME1ILHVDQUF1QztBNENsME12QztFQUNFLHVCQUFzQjtFQUN0QixleENLYTtFd0NKYixnQkFBZTtFQUNmLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsVUFBUztFQUNULFlBQVc7RUFDWCxhQUFZO0VBQ1osV0FBVTtFQUNWLGFBQVk7RUFDWixXQUFVO0VBQ1YsdUJBQXNCO0VBQ3RCLGNBQWEsRUE2QmQ7RTVDdXlNQyx1Q0FBdUM7RTRDajFNekM7SUFnQk0sZUFBYztJQUNkLDJCQUEwQixFQVkzQjtJNUN3ek1ELHVDQUF1QztJNENyMU0zQztNQW1CUSxhQUFZO01BQ1osZUFBYztNQUNkLDBCQUF5QjtNQUN6QixnQkFBZTtNQUNmLGdCQUFlO01BQ2YsY0FBYTtNQUNiLHNCQUFxQjtNQUNyQixlQUFjO01BQ2QsZ0IzQzZNUyxFMkM1TVY7RTVDbzBNTCx1Q0FBdUM7RTRDaDJNekM7SUErQk0sZ0IzQ3lNVztJMkN4TVgsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsV0FBVSxFQUNYO0U1Q20wTUgsdUNBQXVDO0U0Q3YyTXpDO0lBdUNJLFlBQVc7SUFDWCxXQUFVLEVBQ1g7O0E1Q20wTUgsdUNBQXVDO0E0Q2gwTXZDOztFQUVFLHFFM0N3SnVFLEUyQ3ZKeEU7O0E1Q2swTUQsdUNBQXVDO0E0Q2gwTXZDO0VBQ0Usc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWU7RUFDZiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QiwwQkFBeUI7RUFDekIsaUJBQWdCO0VBQ2hCLG9CQUFtQjtFQUNuQixvQ0FBbUM7RUFDbkMsZ0IzQytLZTtFMkM5S2YsaUJBQWdCLEVBcUhqQjtFNUM2c01DLHdDQUF3QztFNEMzME0xQztJQVlJLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCxnQ0FBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQWV4QjtJNUNtek1DLHdDQUF3QztJNENoMU01QztNQWlCTSxtQkFBa0I7TUFDbEIscUJBQW9CO01BQ3BCLGdCQUFlLEVBU2hCO001Q3l6TUMsd0NBQXdDO000Q3IxTTlDO1FBc0JRLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsK0JBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCLEVBQ3ZCO001Q2kwTUQsd0NBQXdDO000Q3oxTTlDO1FBMEJRLGNBQWEsRUFDZDtFNUNpME1MLHdDQUF3QztFNEM1MU0xQztJQWdDSSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0IsRUEyRnZCO0k1Q291TUMsd0NBQXdDO0k0Q2oyTTVDO01BcUNNLHlCQUF3QjtNQUN4QixxQkFBb0IsRUEwRXJCO001Q3F2TUMsd0NBQXdDO000Q3IyTTlDO1FBeUNRLG1CQUFrQjtRQUNsQixjQUFhLEVBQ2Q7TTVDOHpNRCx3Q0FBd0M7TTRDejJNOUM7UUE4Q1EsbUJBQWtCO1FBQ2xCLGdCQUFlLEVBQ2hCO001QzZ6TUQsd0NBQXdDO000QzcyTTlDO1FBbURRLG1CQUFrQjtRQUNsQixjQUFhLEVBOEJkO1E1Qyt4TUMsd0NBQXdDO1E0Q2ozTWhEO1VBdURVLFlBQVc7VUFDWCxnQkFBZTtVQUNmLHNCQUFhO1VBQWIscUJBQWE7VUFBYixjQUFhLEVBd0JkO1U1Q3F5TUMsd0NBQXdDO1U0Q3QzTWxEO1lBNERZLHNCQUFhO1lBQWIscUJBQWE7WUFBYixjQUFhO1lBQ2Isc0JBQWE7Z0JBQWIsa0JBQWE7b0JBQWIsY0FBYTtZQUNiLFdBQVUsRUFrQlg7WTVDMnlNQyx3Q0FBd0M7WTRDMzNNcEQ7Y0FnRWMsYUFBWSxFQUNiO1k1QzZ6TUQsd0NBQXdDO1k0QzkzTXBEO2NBb0VjLCtCQUFzQjtrQkFBdEIscUJBQXNCO3NCQUF0Qix1QkFBc0I7Y0FDdEIsb0JBQW1CLEVBS3BCO2M1Q3d6TUMsd0NBQXdDO2M0Q2w0TXREO2dCQXdFZ0Isa0JBQWlCLEVBQ2xCO1k1QzR6TUgsd0NBQXdDO1k0Q3I0TXBEO2NBNkVjLDhCQUFxQjtrQkFBckIsb0JBQXFCO3NCQUFyQixzQkFBcUI7Y0FDckIsbUJBQWtCLEVBQ25CO001QzB6TVAsd0NBQXdDO000Q3o0TTlDO1FBcUZRLG1CQUFrQixFQTBCbkI7UTVDNnhNQyx3Q0FBd0M7UTRDNTRNaEQ7VUF3RlUsWUFBVztVQUNYLGdCQUFlO1VBQ2Ysc0JBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWEsRUFvQmQ7VTVDbXlNQyx3Q0FBd0M7VTRDajVNbEQ7WUE2Rlksc0JBQWE7WUFBYixxQkFBYTtZQUFiLGNBQWE7WUFDYixzQkFBYTtnQkFBYixrQkFBYTtvQkFBYixjQUFhLEVBZWQ7WTVDd3lNQyx3Q0FBd0M7WTRDcjVNcEQ7Y0FpR2MsK0JBQXNCO2tCQUF0QixxQkFBc0I7c0JBQXRCLHVCQUFzQjtjQUN0QixvQkFBbUIsRUFLcEI7YzVDa3pNQyx3Q0FBd0M7YzRDejVNdEQ7Z0JBcUdnQixrQkFBaUIsRUFDbEI7WTVDc3pNSCx3Q0FBd0M7WTRDNTVNcEQ7Y0EwR2MsOEJBQXFCO2tCQUFyQixvQkFBcUI7c0JBQXJCLHNCQUFxQjtjQUNyQixtQkFBa0IsRUFDbkI7STVDb3pNVCx3Q0FBd0M7STRDaDZNNUM7TUFtSE0sZ0JBQWUsRUFTaEI7TTVDdXlNQyx3Q0FBd0M7TTRDbjZNOUM7UUFzSFEsbUJBQWtCLEVBS25CO1E1QzJ5TUMsd0NBQXdDO1E0Q3Q2TWhEO1VBeUhVLGdCQUFlLEVBQ2hCOztBekMzS0Q7RUg0OU1OLHdDQUF3QztFNEM1OU0xQztJQW9MSSxXQUFVLEVBQ1g7RTVDMHlNRCx3Q0FBd0M7RTRDOTZNMUM7SUFzSUksNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsa0JBQWlCO0lBQ2pCLG9CQUFtQixFQTJHcEI7STVDZ3NNQyx3Q0FBd0M7STRDbjdNNUM7TUEySU0sOEJBQXFCO1VBQXJCLG9CQUFxQjtjQUFyQixzQkFBcUI7TUFDckIsd0JBQWU7VUFBZiw2QkFBZTtjQUFmLGdCQUFlLEVBZ0JoQjtNNUMyeE1DLHdDQUF3QztNNEN2N005QztRQStJUSxpQkFBZ0I7UUFDaEIsdUJBQXNCO1FBQ3RCLG1CQUFrQjtRQUNsQixXQUFVLEVBU1g7UTVDa3lNQyx3Q0FBd0M7UTRDNzdNaEQ7VUFxSlUsb0JBQW1CLEVBQ3BCO1E1QzB5TUQsd0NBQXdDO1E0Q2g4TWhEO1VBeUpVLGVBQWMsRUFDZjtJNUN5eU1MLHdDQUF3QztJNENuOE01QztNQStKTSwrQkFBc0I7VUFBdEIscUJBQXNCO2NBQXRCLHVCQUFzQjtNQUN0Qix3QkFBZTtVQUFmLDZCQUFlO2NBQWYsZ0JBQWUsRUFrRmhCO001Q3F0TUMsd0NBQXdDO000Q3Y4TTlDO1FBbUtRLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2Isd0JBQWU7WUFBZixvQkFBZTtnQkFBZixnQkFBZTtRQUNmLG9CQUFtQixFQTJEcEI7UTVDNHVNQyx3Q0FBd0M7UTRDNThNaEQ7VUF3S1Usc0JBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWE7VUFDYixtQkFBa0IsRUFDbkI7UTVDc3lNRCx3Q0FBd0M7UTRDaDlNaEQ7VUE2S1UsV0FBVTtVQUNWLGNBQWEsRUFDZDtRNUNxeU1ELHdDQUF3QztRNENwOU1oRDtVQWtMVSxzQkFBYTtVQUFiLHFCQUFhO1VBQWIsY0FBYSxFQW1CZDtVNUNreE1DLHdDQUF3QztVNEN2OU1sRDtZQXFMWSxzQkFBYTtZQUFiLHFCQUFhO1lBQWIsY0FBYTtZQUNiLHlCQUFnQjtnQkFBaEIscUJBQWdCO29CQUFoQixpQkFBZ0I7WUFDaEIsV0FBVSxFQWFYO1k1Q3d4TUMsd0NBQXdDO1k0QzU5TXBEO2NBMkxnQiwrQkFBc0I7a0JBQXRCLHFCQUFzQjtzQkFBdEIsdUJBQXNCO2NBQ3RCLGVBQWMsRUFDZjtZNUNteU1ILHdDQUF3QztZNENoK01wRDtjQWdNZ0IsK0JBQXNCO2tCQUF0QixxQkFBc0I7c0JBQXRCLHVCQUFzQjtjQUN0QixtQkFBa0IsRUFDbkI7UTVDa3lNUCx3Q0FBd0M7UTRDcCtNaEQ7VUF3TVUsc0JBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWE7VUFDYix1QkFBYztjQUFkLG1CQUFjO2tCQUFkLGVBQWM7VUFDZCw2QkFBb0I7Y0FBcEIseUJBQW9CO2tCQUFwQixxQkFBb0I7VUFDcEIsdUJBQXNCO1VBQ3RCLGtCQUFpQixFQW1CbEI7VTVDNHdNQyx3Q0FBd0M7VTRDMytNbEQ7WUErTVksc0JBQWE7WUFBYixxQkFBYTtZQUFiLGNBQWE7WUFDYix5QkFBZ0I7Z0JBQWhCLHFCQUFnQjtvQkFBaEIsaUJBQWdCO1lBQ2hCLFdBQVUsRUFhWDtZNUNreE1DLHdDQUF3QztZNENoL01wRDtjQXFOZ0IsK0JBQXNCO2tCQUF0QixxQkFBc0I7c0JBQXRCLHVCQUFzQjtjQUN0QixlQUFjLEVBQ2Y7WTVDNnhNSCx3Q0FBd0M7WTRDcC9NcEQ7Y0EwTmdCLCtCQUFzQjtrQkFBdEIscUJBQXNCO3NCQUF0Qix1QkFBc0I7Y0FDdEIsbUJBQWtCLEVBQ25CO001QzR4TVQsd0NBQXdDO000Q3gvTTlDO1FBbU9RLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2Isd0JBQWU7WUFBZixvQkFBZTtnQkFBZixnQkFBZTtRQUNmLG9CQUFtQixFQVlwQjtRNUM0d01DLHdDQUF3QztRNEM3L01oRDtVQXdPVSxZQUFXO1VBQ1gsc0JBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWE7VUFDYix3QkFBZTtjQUFmLG9CQUFlO2tCQUFmLGdCQUFlO1VBQ2YsdUNBQThCO2NBQTlCLHVCQUE4QjtrQkFBOUIsK0JBQThCLEVBSy9CO1U1Q214TUMsd0NBQXdDO1U0QzkzTWhEO1lBeUdVLGNBQWEsRUFDZCxFQUFBOztBekNoU0g7RUh5ak5OLHdDQUF3QztFNEN4Z04xQztJQXlQUSx3QkFBZTtRQUFmLDZCQUFlO1lBQWYsZ0JBQWUsRUFDaEI7RTVDaXhNTCx3Q0FBd0M7RTRDM2dOMUM7SUE2UFEsd0JBQWU7UUFBZiw2QkFBZTtZQUFmLGdCQUFlLEVBV2hCO0k1Q3N3TUgsd0NBQXdDO0k0QzlnTjVDO01Ba1FjLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsbUJBQWtCO01BQ2xCLHNCQUFhO1VBQWIsa0JBQWE7Y0FBYixjQUFhLEVBQ2QsRUFBQTs7QUFRYjs7S0FFSztBNUN3d01MLHdDQUF3QztBNEN0d014QztFQUNFLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLFFBQU87RUFDUCxTQUFRO0VBQ1IsVUFBUztFQUNULE9BQU07RUFDTixnQkFBZSxFQWlIaEI7RTVDdXBNQyx3Q0FBd0M7RTRDL3dNMUM7SUFVSSxpQkFBZ0I7SUFDaEIsZ0NBQStCO0lBQy9CLHFCQUFvQixFQUNyQjtFNUN1d01ELHdDQUF3QztFNENweE0xQztJQWdCSSxlQUFjO0lBQ2QsbUJBQWtCLEVBQ25CO0U1Q3N3TUQsd0NBQXdDO0U0Q3h4TTFDO0lBcUJJLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLGtCQUFpQjtJQUNqQixtQkFBa0I7SUFDbEIsZ0JBQWUsRUFPaEI7STVDK3ZNQyx3Q0FBd0M7STRDaHlNNUM7TUE2Qk0sY0FBYTtNQUNiLGFBQVk7TUFDWixnQkFBZSxFQUNoQjtFNUNxd01ILHdDQUF3QztFNENyeU0xQztJQW9DSSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLG9DM0M3STRCO0kyQzhJNUIsaUJBQWdCO0lBQ2hCLHNCQUFxQjtJQUNyQixrQkFBaUI7SUFDakIsMEJBQXlCO0lBQ3pCLGlCQUFnQjtJQUNoQixrQkFBaUI7SUFDakIsbUJBQWtCLEVBS25CO0k1Qyt2TUMsd0NBQXdDO0k0Q2p6TTVDO01BZ0RNLGNBQWEsRUFDZDtFNUNtd01ILHdDQUF3QztFNENwek0xQztJQXFESSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLG9DM0M5SjRCO0kyQytKNUIsaUJBQWdCO0lBQ2hCLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbkI7RTVDaXdNRCx3Q0FBd0M7RTRDNXpNMUM7SUE4REksZ0JBQWU7SUFDZixVQUFTO0lBQ1QsaUJBQWdCO0lBQ2hCLGNBQWE7SUFDYixZQUFXO0lBQ1gsVUFBUztJQUNULG9DQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCLEVBc0M1QjtJNUMydE1DLHdDQUF3QztJNENyME01QztNQXVFTSxZQUFXO01BQ1gsYUFBWTtNQUNaLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsdUJBQXNCLEVBOEJ2QjtNNUNtdU1DLHdDQUF3QztNNEM1ME05QztRQThFUSxtQkFBa0I7UUFDbEIsYUFBWTtRQUNaLFlBQVc7UUFDWCxZQUFXLEVBQ1o7TTVDZ3dNRCx3Q0FBd0M7TTRDbDFNOUM7UUFxRlEsb0JBQW1CO1FBQ25CLDBCQUF5QjtRQUN6QixZQUFXO1FBQ1gsc0JBQXFCO1FBQ3JCLGFBQVk7UUFDWixVQUFTO1FBQ1QsbUJBQWtCO1FBQ2xCLG9CQUFtQjtRQUNuQixZQUFXO1FBQ1gsVUFBUztRQUNULG1EQUEwQztZQUExQywrQ0FBMEM7Z0JBQTFDLDJDQUEwQyxFQUMzQztNNUMrdk1ELHdDQUF3QztNNEMvMU05QztRQW1HUSxtQkFBa0I7UUFDbEIsWUFBVztRQUNYLFlBQVc7UUFDWCxpQkFBZ0I7UUFDaEIsYUFBWSxFQUNiO0U1Qzh2TUwsd0NBQXdDO0U0Q3QyTTFDO0lBNkdJLGFBQVk7SUFDWixhQUFZO0lBQ1osdUJBQXNCO0lBQ3RCLFlBQVc7SUFDWCxrQkFBaUI7SUFDakIsMEJBQXlCO0lBQ3pCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLG9CQUFtQixFQUNwQjs7QXpDeGJLO0VIcXJOTix3Q0FBd0M7RTRDbjNNMUM7SUE2SE0sbUJBQWtCO0lBQ2xCLGFBQVk7SUFDWixVQUFTO0lBQ1QsU0FBUTtJQUNSLHlDQUFnQztRQUFoQyxxQ0FBZ0M7WUFBaEMsaUNBQWdDO0lBQ2hDLFdBQVU7SUFDVixnQ0FBK0IsRUFDaEM7RTVDd3ZNSCx3Q0FBd0M7RTRDNTNNMUM7SUF1SU0sZUFBYztJQUNkLGlCQUFnQixFQU9qQjtJNUNpdk1ELHdDQUF3QztJNENoNE01QztNQTJJUSxrQkFBaUI7TUFDakIsbUJBQWtCO01BQ2xCLGlCQUFnQixFQUNqQjtFNUN1dk1MLHdDQUF3QztFNENyNE0xQztJQWtKTSxrQkFBaUI7SUFDakIsb0JBQW1CO0lBQ25CLGlCQUFnQixFQUtqQjtJNUNpdk1ELHdDQUF3QztJNEMxNE01QztNQXVKUSxlQUFjLEVBQ2Y7RTVDcXZNTCx3Q0FBd0M7RTRDNzRNMUM7SUE0Sk0saUJBQWdCLEVBQ2pCLEVBQUE7O0FDN2VMOzt1REFFdUQ7QUFFdkQ7O0dBRUc7QTdDaXVOSCw2Q0FBNkM7QTZDL3RON0M7RUFFUSxjQUFhLEVBQ2hCOztBN0NndU5MLDZDQUE2QztBNkM5dE43QztFWnJDRSxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxXQUFVO0VBQ1YsbUJBQWtCO0VBQ2xCLG9CQUFtQixFWW1GaEI7RTdDbXJOSCw2Q0FBNkM7RTZDdHVOL0M7SUFNWSxtQkFBa0IsRUE0Q3JCO0k3Q3VyTkwsNkNBQTZDO0k2Q3p1TmpEO01BVWdCLG1CQUFrQjtNQUtsQixTQUFRO01BQ1IsVUFBUztNQUNULGlCQUFnQixFQWVuQjtNN0Mrc05QLDZDQUE2QztNNkMvdU5uRDtRWjVCRSxtQ2hDdVBpQztRZ0N0UGpDLG1CQUFrQjtRQUNsQixlN0JrQ2E7UTZCakNiLGdCaEN5UGdCO1E0QzVNRSxvQkFBbUI7UUFDbkIsbUM1Q3NNZTtRNENyTWYsMEJBQXlCO1FBQ3pCLG1CQUFrQixFQUNyQjtNN0NpdU5YLDZDQUE2QztNNkN6dk5uRDtRWnJCRSxvQ2hDaVA4QjtRZ0NoUDlCLGdCaEM2UGU7UWdDNVBmLGU3QjJCYTtRNkIxQmIsdUJBQXNCO1FBQ3RCLGtCQUFpQjtRQUNqQixpQkFBZ0I7UVkyQ0UsZ0I1QzBNUDtRNEN6TU8sa0JBQWlCO1FBQ2pCLG9CQUFtQjtRQUNuQixpQjVDK01FLEU0QzlNTDtJN0NzdU5iLDZDQUE2QztJNkNyd05qRDtNQWtDZ0IsY0FBYSxFQUNoQjtJN0NxdU5ULDZDQUE2QztJNkN4d05qRDtNQXFDZ0IsaUJBQWdCO01BQ2hCLFdBQVU7TUFDVixTQUFRO01BQ1IsU0FBUTtNQUNSLG1CQUFrQixFQUNyQjtJN0NxdU5ULDZDQUE2QztJNkMvd05qRDtNQTRDZ0IsbUJBQWtCO01BQ2xCLFdBQVU7TUFDVixZQUFXO01BQ1gsWUFBVztNQUNYLFdBQVUsRUFDYjs7QTdDc3VOYiw2Q0FBNkM7QTZDdnhON0M7RUFxRFEsZ0JBQWUsRUFDbEI7O0E3Q3F1TkwsNkNBQTZDO0E2QzN4TjdDO0VBeURZLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsd0JBQWU7TUFBZixvQkFBZTtVQUFmLGdCQUFlO0VBQ2YsbUJBQWtCLEVBcU9yQjtFN0NnZ05QLDhDQUE4QztFNkNqeU5oRDtJQThEZ0Isc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixZQUFXO0lBQ1gsdUNBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEI7SUFDOUIsa0JBQWlCLEVBMkJwQjtJN0Myc05ULDhDQUE4QztJNkN4eU5sRDtNQXFFb0IsaUJBQWdCO01BQ2hCLGFBQVk7TUFDWixtQkFBa0I7TUFDbEIsNkJBQW9CO1VBQXBCLHlCQUFvQjtjQUFwQixxQkFBb0I7TUFDcEIsbUJBQWtCO01BQ2xCLHVCQUFjO1VBQWQscUJBQWM7Y0FBZCxlQUFjO01BQ2QsYUFBWSxFQVlmO003QzB0TlgsOENBQThDO002Q2p6TnBEO1FaNUJFLG1DaEN1UGlDO1FnQ3RQakMsbUJBQWtCO1FBQ2xCLGU3QmtDYTtRNkJqQ2IsZ0JoQ3lQZ0I7UTRDbEpNLG1CQUFrQjtRQUNsQixvQkFBbUI7UUFDbkIsMEJBQXlCLEVBQzVCO003Q3l1TmYsOENBQThDO002QzF6TnBEO1FackJFLG9DaENpUDhCO1FnQ2hQOUIsZ0JoQzZQZTtRZ0M1UGYsZTdCMkJhO1E2QjFCYix1QkFBc0I7UUFDdEIsa0JBQWlCO1FBQ2pCLGlCQUFnQjtRWW9HTSxnQjVDaUpYO1FnQ2pQWCxrQkFBaUI7UUFDakIsb0JBQW1CO1FBQ25CLGlCQUFnQixFWWdHRztJN0Nndk5qQiw4Q0FBOEM7STZDdDBObEQ7TUF5Rm9CLFdBQVU7TUFDVix1QkFBc0I7TUFDdEIsK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0IsRUFDekI7RTdDK3VOZiw4Q0FBOEM7RTZDMzBOaEQ7SUErRmdCLFlBQVc7SUFDWCxtQkFBa0IsRUFnR3JCO0k3QytvTlQsOENBQThDO0k2Qy8wTmxEO01Ba0dvQixhQUFZLEVBWWY7TTdDb3VOWCw4Q0FBOEM7TTZDbDFOcEQ7UUFvR3dCLGNBQWEsRUFDaEI7TTdDZ3ZOZiw4Q0FBOEM7TTZDcjFOcEQ7UUF3RzRCLGNBQWEsRUFDaEI7TTdDK3VObkIsOENBQThDO002Q3gxTnBEO1FBMkc0QixlQUFjLEVBQ2pCO0k3Qyt1TnJCLDhDQUE4QztJNkMzMU5sRDtNQWdIb0IsbUJBQWtCO01BQ2xCLFlBQVc7TUFHWCwwQnpDNUdMO015QzZHSyxXQUFVLEVBMkJiO003Q2l0TlgsOENBQThDO002Q2oyTnBEO1FBdUh3QixnQkFBZSxFQUNsQjtNN0M0dU5mLDhDQUE4QztNNkNwMk5wRDtRQTBId0Isb0M1Q2tHUTtRNENqR1IsZ0I1Q3dHVDtRNEN2R1MsMkJBQTBCO1FBQzFCLG1CQUFrQjtRQUNsQixhQUFZO1FBQ1osbUJBQWtCLEVBS3JCO1E3Q3d1TmIsOENBQThDO1E2QzUyTnREO1VBa0k0QixlekMxSGIsRXlDMkhVO003QzR1Tm5CLDhDQUE4QztNNkMvMk5wRDtRQXNJd0IsWUFBVztRQUNYLGtCQUFpQixFQVFwQjtRN0NvdU5iLDhDQUE4QztRNkNuM050RDtVQTBJNEIsb0JBQW1CLEVBSXRCO1U3Q3d1TmYsOENBQThDO1U2Q3QzTnhEO1lackJFLG9DaENpUDhCO1lnQ2hQOUIsZ0JoQzZQZTtZZ0M1UGYsZTdCMkJhO1k2QjFCYix1QkFBc0I7WUFDdEIsa0JBQWlCO1lBQ2pCLGlCQUFnQixFWTZKVztJN0Npdk56Qiw4Q0FBOEM7STZDOTNObEQ7TUFrSm9CLFdBQVU7TUFDVixrQkFBaUI7TUFDakIsZUFBYyxFQW9CakI7TTdDMnROWCw4Q0FBOEM7TTZDbjROcEQ7UUFzSndCLFdBQVU7UUFDVixhQUFZO1FBQ1osaUJBQWdCO1FBQ2hCLGdCQUFlO1FBQ2YsaUJBQWdCLEVBQ25CO003Qyt1TmYsOENBQThDO002QzE0TnBEO1FBNkp3QixVQUFTLEVBVVo7UTdDc3VOYiw4Q0FBOEM7UTZDNzROdEQ7VUErSjRCLG9CekN2SmIsRXlDOEpVO1U3QzB1TmYsOENBQThDO1U2Q2g1TnhEO1lBaUtnQyxlekNySmpCLEV5Q3NKYztVN0Npdk5uQiw4Q0FBOEM7VTZDbjVOeEQ7WUFvS2dDLGV6Q3hKakIsRXlDeUpjO0k3Q2l2TnpCLDhDQUE4QztJNkN0NU5sRDtNQTBLb0IsV0FBVTtNQUVWLGVBQWM7TUFDZCw2QkFBb0I7VUFBcEIseUJBQW9CO2NBQXBCLHFCQUFvQixFQWtCdkI7TTdDNHROWCw4Q0FBOEM7TTZDMzVOcEQ7UUFnTHdCLGdCQUFlO1FBQ2YsV0FBVTtRQUNWLFlBQVc7UUFDWCxnQkFBZTtRQUNmLGlCQUFnQixFQVVuQjtRN0NvdU5iLDhDQUE4QztRNkNsNk50RDtVQXNMNEIsb0J6QzlLYixFeUNxTFU7VTdDd3VOZiw4Q0FBOEM7VTZDcjZOeEQ7WUF3TGdDLGV6QzVLakIsRXlDNktjO1U3Qyt1Tm5CLDhDQUE4QztVNkN4Nk54RDtZQTJMZ0MsZXpDL0tqQixFeUNnTGM7RTdDK3VOM0IsOENBQThDO0U2QzM2TmhEO0lBa01nQixXQUFVO0lBQ1Ysa0JBQWlCLEVBV3BCO0k3Q2l1TlQsOENBQThDO0k2Qy82TmxEO01BcU1vQixXQUFVO01BQ1YsYUFBWTtNQUNaLGlCQUFnQjtNQUNoQixnQkFBZTtNQUNmLGlCQUFnQixFQUNuQjtJN0M0dU5iLDhDQUE4QztJNkN0N05sRDtNQTRNb0IsVUFBUyxFQUNaO0U3QzR1TmYsOENBQThDO0U2Q3o3TmhEO0lBZ05nQixXQUFVO0lBRVYsNkJBQW9CO1FBQXBCLHlCQUFvQjtZQUFwQixxQkFBb0IsRUFTdkI7STdDa3VOVCw4Q0FBOEM7STZDNzdObEQ7TUFxTm9CLGdCQUFlO01BQ2YsV0FBVTtNQUNWLFlBQVc7TUFDWCxnQkFBZTtNQUNmLGlCQUFnQixFQUNuQjtFN0MwdU5mLDhDQUE4QztFNkNwOE5oRDtJQTZPZ0Isa0JBQWlCO0lBQ2pCLFdBQVU7SUFDVixnQkFBZTtJQUNmLGtCQUFpQixFQUNwQjtFN0N5dE5YLDhDQUE4QztFNkMxOE5oRDtJQXlRZ0IsV0FBVTtJWjlSeEIsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCO0lZMlJGLDZCQUFvQjtRQUFwQix5QkFBb0I7WUFBcEIscUJBQW9CO0lBQ3BCLG1CQUFrQixFQUNyQjs7QTdDeXNOYiw4Q0FBOEM7QTZDanJOOUM7O0VBRUksb0JBQW1CLEVBQ3RCOztBN0Ntck5ELDhDQUE4QztBNkNqck45QztFQUVRLDBCQUF5QjtFQUN6QixnQkFBZSxFQUNsQjs7QTdDa3JOTCw4Q0FBOEM7QTZDL3FOOUM7RUFDSSxxQjVDaEVtQixFNENpRXRCOztBN0Npck5ELDhDQUE4QztBNkM5cU45Qzs7RUFFSSxvQkFBbUIsRUFDdEI7O0FBRUQ7O0dBRUc7QTdDK3FOSCw4Q0FBOEM7QTZDN3FOOUM7Ozs7O0VuQjFUSSxVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLGV0QkNXO0VzQkFYLG1DekJtTitCO0V5QmxOL0IsZ0J6QndOYTtFeUJ2TmIsaUJ6Qm1Pa0I7RXlCbE9sQixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLG1DQUFrQztFbUJ3VGxDLGdCNUM5Rlc7RTRDK0ZYLDBENUNqSXVEO0U0Q2tJdkQsb0JBQW1CO0VBQ25CLGlCQUFnQixFQVNuQjtFN0M4cU5DLDhDQUE4QztFNkNoc05oRDs7Ozs7SUFZUSxlNUMzUFEsRTRDZ1FYO0k3Q3NyTkQsOENBQThDO0k2Q3ZzTmxEOzs7OztNQWNZLGU1QzVRSTtNNEM2UUosc0JBQXFCLEVBQ3hCOztBN0Nnc05ULDhDQUE4QztBNkM1ck45Qzs7RUFFSSwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLGdCNUNsSFM7RTRDbUhULHFFNUNqSnFFLEU0Q3NKeEU7RTdDeXJOQyw4Q0FBOEM7RTZDbnNOaEQ7O0lBUVEsaUJBQWdCLEVBQ25COztBQUdMOztrREFFa0Q7QTdDNnJObEQsOENBQThDO0E2Q3pyTjlDO0VBQ0ksbUJBQWtCLEVBQ3JCOztBN0Myck5ELDhDQUE4QztBNkN6ck45QztFcEM3V0ksWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXLEVvQzZXZDs7QTdDNnJORCw4Q0FBOEM7QTZDM3JOOUM7RUFDSSxtQkFBa0I7RUFDbEIsb0JBWnlCO0VBYXpCLG1CQUFrQixFQUtyQjtFN0N3ck5DLDhDQUE4QztFNkNoc05oRDtJcENqWEksWUFBVztJQUNYLGVBQWM7SUFDZCxZQUFXLEVvQ3NYVjs7QTdDK3JOTCw4Q0FBOEM7QTZDNXJOOUM7RUFDSSxZQUFXO0VBQ1gsb0JBQW1CLEVBQ3RCOztBN0M4ck5ELDhDQUE4QztBNkM1ck45QztFQUNJLFlBQVc7RUFDWCxhQUFZLEVBS2Y7RTdDeXJOQyw4Q0FBOEM7RTZDaHNOaEQ7SUFLUSxjQUFhLEVBQ2hCOztBN0M4ck5MLDhDQUE4QztBNkMzck45QztFQUVRLFdBQVU7RUFDVixvQkFBbUI7RUFDbkIsaUJBQWdCLEVBQ25COztBN0M0ck5MLDhDQUE4QztBNkN0ck45QztFQUNJLG1CQUFrQjtFQUNsQixxQkFBZ0QsRUFDbkQ7O0E3Q3dyTkQsOENBQThDO0E2Q3RyTjlDO0VBQ0ksa0I1Q3BYYztFNENxWGQsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxpQkFYMkI7RUFZM0IsWUFBVyxFQUNkOztBN0N3ck5ELDhDQUE4QztBNkN0ck45QztFQUNJLGVBQWMsRUFDakI7O0E3Q3dyTkQsOENBQThDO0E2Q3RyTjlDO0VBQ0ksY0FBYSxFQUNoQjs7QTdDd3JORCw4Q0FBOEM7QTZDdHJOOUM7RUFDSSxlNUNyVmlCO0U0Q3NWakIsZ0I1Q2hNVztFNENpTVgsZ0JBQWUsRUFDbEI7O0E3Q3dyTkQsOENBQThDO0E2Q3RyTjlDO0VBQ0ksaUJBQWdCLEVBQ25COztBQUlELDJDQUEyQztBN0Nxck4zQyw4Q0FBOEM7QTZDenZOOUM7RUEwRUksWUFBVztFQUNYLGlCQUE0QjtFQUM1Qix1QkFBa0MsRUFDckM7O0E3Q2tyTkQsOENBQThDO0E2Q2hyTjlDO0VBQ0ksWUFBVyxFQUNkOztBN0Nrck5ELDhDQUE4QztBNkNock45QztFQUNJLGdCQUFlLEVBQ2xCOztBN0Nrck5ELDhDQUE4QztBNkM3dk45QztFQThFSSxtQkFBa0IsRUFHckI7RTdDK3FOQywrQ0FBK0M7RThDbm9PN0M7SUFFSSxZQUFVO0lBQ1YsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixVQUFTO0lBQ1QsWUFBVztJQUNYLGFBQVk7SUFDWixjQUFhLEVBQ2hCO0U5Q21vT0gsK0NBQStDO0U4Q2pvTzdDO0lBQ0ksd0JBQXVCO0lBQ3ZCLGFBZDJCO0lBZTNCLFdBQVMsRUFDWjtFOUNrb09ILCtDQUErQztFOENob083QztJQUNJLHVEQUFzRDtJQUN0RCw2QkFBNEI7SUFDNUIsNEJBQTJCO0lBQzNCLFdBQVMsRUFDWjtFOUNpb09ILCtDQUErQztFOEMvbk83QztJQUNJLG1CQUFrQixFQU1yQjtJOUMybk9ELCtDQUErQztJOEMvbk8zQztNQUVJLGVBQWMsRUFDakI7O0EzQ2pCRDtFMEM0Y0osNkNBQTZDO0U3Q3VzTi9DLDhDQUE4QztFNkMveU5oRDtJQWtIUSw0QkFBNEI7SUFRNUIsNkJBQTZCLEVBV2hDO0k3QzhxTkQsOENBQThDO0k2QzV0TmxEO01BNkJZLFlBQVcsRUFDZDtJN0Npc05MLDhDQUE4QztJNkMzdE5sRDtNQTRCWSxzQkFBOEQsRUFDakU7STdDaXNOTCw4Q0FBOEM7STZDanpObEQ7TUFvSFksZ0JBQTZDO01BQzdDLHNCQUE4RCxFQUNqRTtJN0Mrck5MLDhDQUE4QztJNkM1c045QztNQWVRLFlBQVcsRUFDZDtJN0Mrck5MLDhDQUE4QztJNkMvc045QztNQWtCUSxnQkFBZSxFQUNsQixFQUFBOztBMUN4ZUQ7RTBDb2ZKLHVDQUF1QztFQUt2Qyw4QkFBOEI7RTdDa3JOaEMsOENBQThDO0U2Q2pyTjVDO0lBQ0ksWUFBVyxFQUNkO0U3Q2tyTkgsOENBQThDO0U2Q2pyTjVDO0lBQ0ksWUFBVyxFQUNkO0U3Q2tyTkgsOENBQThDO0U2Q2pyTjVDOztJQUVJLHVCQUE4RCxFQUNqRTtFQUVELHVCQUF1QjtFN0Npck56Qiw4Q0FBOEM7RTZDaHJONUM7SUFDSSx1QkFBOEQsRUFDakU7RTdDaXJOSCw4Q0FBOEM7RTZDbnJONUM7SUFJSSxpQkFBNkM7SUFDN0MsdUJBQThELEVBQ2pFO0U3Q2lyTkgsOENBQThDO0U2Q2hyTjVDO0lBQ0ksWUFBVyxFQUNkO0U3Q2lyTkgsOENBQThDO0U2Q2hyTjVDO0lBQ0ksZ0JBQWUsRUFDbEI7RUE5QkQsdUNBQXVDO0VBS3ZDLDhCQUE4QjtFN0M0c05oQyw4Q0FBOEM7RTZDM3NONUM7SUFDSSxZQUFXLEVBQ2Q7RTdDNHNOSCw4Q0FBOEM7RTZDM3NONUM7SUFDSSxZQUFXLEVBQ2Q7RTdDNHNOSCw4Q0FBOEM7RTZDM3NONUM7O0lBRUksdUJBQThELEVBQ2pFO0VBRUQsdUJBQXVCO0U3QzJzTnpCLDhDQUE4QztFNkMxc041QztJQUNJLHVCQUE4RCxFQUNqRTtFN0Myc05ILDhDQUE4QztFNkM3c041QztJQUlJLGlCQUE2QztJQUM3Qyx1QkFBOEQsRUFDakU7RTdDMnNOSCw4Q0FBOEM7RTZDMXNONUM7SUFDSSxZQUFXLEVBQ2Q7RTdDMnNOSCw4Q0FBOEM7RTZDMXNONUM7SUFDSSxnQkFBZSxFQUNsQjtFQTlCRCx1Q0FBdUM7RUFLdkMsOEJBQThCO0U3Q3N1TmhDLDhDQUE4QztFNkNydU41QztJQUNJLFlBQVcsRUFDZDtFN0NzdU5ILDhDQUE4QztFNkNydU41QztJQUNJLFlBQVcsRUFDZDtFN0NzdU5ILDhDQUE4QztFNkNydU41Qzs7SUFFSSx1QkFBOEQsRUFDakU7RUFFRCx1QkFBdUI7RTdDcXVOekIsOENBQThDO0U2Q3B1TjVDO0lBQ0ksdUJBQThELEVBQ2pFO0U3Q3F1TkgsOENBQThDO0U2Q3Z1TjVDO0lBSUksaUJBQTZDO0lBQzdDLHVCQUE4RCxFQUNqRTtFN0NxdU5ILDhDQUE4QztFNkNwdU41QztJQUNJLFlBQVcsRUFDZDtFN0NxdU5ILDhDQUE4QztFNkNwdU41QztJQUNJLGdCQUFlLEVBQ2xCLEVBQUE7O0FBV0w7O2tEQUVrRDtBN0M0dE5sRCw4Q0FBOEM7QTZDMXROOUM7RUFDSSxpQkFBZ0I7RUFDaEIsb0JBQW1CLEVBd0J0QjtFN0Nvc05DLDhDQUE4QztFNkM5dE5oRDtJQUtRLHFCQUFvQjtJQUNwQixvQkFBbUI7SUFDbkIsaUM1Q3RZdUIsRTRDb1oxQjtJN0M4c05ELDhDQUE4QztJNkNudU5sRDtNcEN0aUJJLFlBQVc7TUFDWCxlQUFjO01BQ2QsWUFBVyxFb0MraUJOO0k3QzZ0TkwsOENBQThDO0k2Q3h1TmxEO01BYVksWUFBVztNQUNYLGlCQUFzQixFQU16QjtNN0N3dE5ILDhDQUE4QztNNkM1dU5wRDtRQWlCZ0IsWUFBVztRQUNYLGdCQUFlLEVBQ2xCO0U3QzZ0TlgsOENBQThDO0U2Q2h2TmhEO0lBdUJRLGtCQUFpQjtJQUNqQixvQkFBbUIsRUFDdEI7O0E3QzR0TkwsOENBQThDO0E2Q3p0TjlDO0VBQ0ksYUFBWTtFQUNaLGlCQUFzQjtFQUN0QixtQkFBZ0MsRUEwQ25DO0U3Q2lyTkMsOENBQThDO0U2Qzl0TmhEO0lBTVEsaUJBQWdCLEVBQ25CO0U3QzB0TkgsOENBQThDO0U2Q2p1TmhEO0lBU1EsVUFBUyxFQVVaO0k3Q2l0TkQsOENBQThDO0k2Q3B1TmxEOztNQWFZLFlBQVc7TUFDWCxrQjVDdmlCUyxFNEN3aUJaO0k3QzB0TkwsOENBQThDO0k2Q3p1TmxEO01BaUJZLGdCQUFlLEVBQ2xCO0U3QzB0TlAsOENBQThDO0U2QzV1TmhEO0lBcUJRLGNBQWEsRUFDaEI7RTdDeXROSCw4Q0FBOEM7RTZDL3VOaEQ7SUF3QlEsZ0I1Q3JYUyxFNENzWFo7RTdDeXROSCw4Q0FBOEM7RTZDbHZOaEQ7SUEyQlEsY0FBMEIsRUFDN0I7RTdDeXROSCw4Q0FBOEM7RTZDcnZOaEQ7SUE4QlEsZ0I1Q3ZqQmEsRTRDd2pCaEI7RTdDeXROSCw4Q0FBOEM7RTZDeHZOaEQ7O0lBbUNRLFlBQVc7SUFDWCxXQUFVO0lBQ1YsaUJBQWdCLEVBQ25CO0U3Q3d0TkgsOENBQThDO0U2Qzl2TmhEO0lBd0NRLGFBQVk7SUFDWixXQUFVO0lBQ1Ysa0JBQWlCO0lBQ2pCLGFBQVksRUFDZjs7QTFDem1CRztFSG0wT04sOENBQThDO0U2Q3R0TjVDO0lBQ0ksZ0I1QzlZUyxFNEMrWVosRUFBQTs7QTFDL21CRztFSHcwT04sOENBQThDO0U2QzN3TmhEOztJQXlEWSxZQUFXO0lBQ1gsV0FBVTtJQUNWLG9CQUFtQixFQUN0QjtFN0NxdE5QLDhDQUE4QztFNkNqeE5oRDtJQThEWSxhQUFZO0lBQ1osV0FBVSxFQUNiLEVBQUE7O0ExQzduQkQ7RUhvMU9OLDhDQUE4QztFNkNsdE41QztJQUNJLGdCQUFlLEVBQ2xCO0U3Q210TkgsOENBQThDO0U2Q2x0TjVDOzs7SUFJUSxZQUFXO0lBQ1gsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDbkIsRUFBQTs7QUFJVDs7a0RBRWtEO0E3Q2d0TmxELDhDQUE4QztBNkM5c045QztFQVdRLGtCQUFpQixFQUNwQjs7QTdDc3NOTCw4Q0FBOEM7QTZDbHROOUM7RUFlUSxvQjVDOW9CRTtFNEMrb0JGLFlBQVcsRUFLZDtFN0Npc05ILDhDQUE4QztFNkN0dE5oRDtJcEMxcEJJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFb0M0cUJOOztBN0N3c05ULDhDQUE4QztBNkNwc045QztFcENsckJJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFb0NvckJWOztBN0Nzc05MLDhDQUE4QztBNkMxc045QztFQU9RLFlBQVc7RUFDWCxXQUFVO0VBQ1YsVUFBUztFQUNULHNCQUFxQixFQWV4QjtFN0N1ck5ILDhDQUE4QztFNkNodE5oRDtJQWFZLGlCQUFnQjtJQUNoQixrQkFBaUIsRUFDcEI7RTdDcXNOUCw4Q0FBOEM7RTZDcHROaEQ7SUFrQlksZUFBYyxFQU1qQjtJN0Mrck5MLDhDQUE4QztJNkN2dE5sRDtNQXFCZ0IsWUFBVztNQUNYLGdCQUFlLEVBQ2xCOztBQVFiOztrREFFa0Q7QTdDOHJObEQsOENBQThDO0E2QzVsTzlDO0VBaWFJLDBCNUNqakJxQjtFNENrakJyQixjQUFhLEVBVWhCO0U3Q29yTkMsOENBQThDO0U2Q2hzTmhEO0lBS1EsWUFBVztJQUNYLGdCQUFlLEVBS2xCO0k3Q3lyTkQsOENBQThDO0k2Q3BzTmxEO01BU1ksY0FBYSxFQUNoQjs7QUFJVDs7a0RBRWtEO0E3QzJyTmxELDhDQUE4QztBNkN6ck45QztFQUVJLGNBQWE7RW5CdnNCYixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLGV6QmdEWTtFeUIvQ1oscUV6QnNLcUU7RXlCcktyRSxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLDhCQUE2QjtFQUM3QiwwQkFBeUI7RUMvQ3pCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUI7RUNrRWpCLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsMkJBQTBCO0VBQzFCLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsc0IzQjhGcUI7RTJCN0ZyQixtQkFBa0I7RUFDbEIsMEIzQnVGeUI7RTRDMmtCekIsZ0JBQWUsRUFDbEI7RTdDK3NOQywrQ0FBK0M7RTRCaDNPN0M7SUMvRUEsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsVUFBUztJQUNULGVBQWM7SUFVVixvQ0FBcUM7SUFDckMsbUNBQW9DO0lBQ3BDLDhCNUJ5RFE7STRCeERSLG9CQUFtQjtJRGdFbkIsV0FBVTtJQUNWLFNBQVE7SUFDUixpQkFBZ0IsRUFDbkI7RTVCeTNPSCwrQ0FBK0M7RTRCdjNPN0M7SUFDSSwwQkV2RnFDLEVGd0Z4Qzs7QTVCeTNPTCwrQ0FBK0M7QTRCcjNPM0M7RUFDSSxjQUFhLEVBQ2hCOztBNUJ1M09MLCtDQUErQztBNEJwM092QztFRjNESixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLGV6QmdEWTtFeUIvQ1oscUV6QnNLcUU7RXlCcktyRSxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLDhCQUE2QjtFQUM3QiwwQkFBeUI7RUMvQ3pCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUI7RUNrRWpCLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsMkJBQTBCO0VBQzFCLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsc0IzQjhGcUI7RTJCN0ZyQixtQkFBa0I7RUFDbEIsMEIzQnVGeUI7RTJCakVqQixlQUFjLEVBQ2pCO0U1QjI0T1AsK0NBQStDO0U0Qmg2TzdDO0lDL0VBLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFVBQVM7SUFDVCxlQUFjO0lBVVYsb0NBQXFDO0lBQ3JDLG1DQUFvQztJQUNwQyw4QjVCeURRO0k0QnhEUixvQkFBbUI7SURnRW5CLFdBQVU7SUFDVixTQUFRO0lBQ1IsaUJBQWdCLEVBQ25CO0U1Qnk2T0gsK0NBQStDO0U0QnY2TzdDO0lBQ0ksMEJFdkZxQyxFRndGeEM7O0E1Qnk2T0wsK0NBQStDO0E0QjM1T3ZDO0VBQ0ksYzNCN0RNO0UyQjhETixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixzQjNCOERhLEUyQjdEaEI7O0E1QjY1T1QsK0NBQStDO0E0QjU1T3ZDO0VBQ0ksNEJBQTJCLEVBQzlCOztBNUI4NU9ULDhDQUE4QztBNkN0eE45QztFQUNJLG9CNUM5c0JjO0U0QytzQmQsaUI1Qy9zQmMsRTRDd3RCakI7RTdDK3dOQyw4Q0FBOEM7RTZDMXhOaEQ7SUFLUSxrQkFBaUI7SUFDakIsZUFBYyxFQUNqQjtFN0N1eE5ILDhDQUE4QztFNkM5eE5oRDtJQVNRLGU1Q3ZxQmEsRTRDd3FCaEI7O0ExQ3h2Qkc7RUhpaFBOLDhDQUE4QztFNEJ6N094QztJaUJxcUJBLG1CQUFrQixFQUtyQjtJN0NreE5ELDhDQUE4QztJNEI5OE85QztNaUIwckJRLGNBQWEsRUFDaEIsRUFBQTs7QTFDandCRDtFSHloUE4sOENBQThDO0U2Q254TjVDO0lBQ0ksb0JBQW1CLEVBQ3RCO0U3Q294TkgsOENBQThDO0U2Q2p4TjVDO0lBQ0ksY0FBYSxFQUNoQjtFN0NreE5ILDhDQUE4QztFNkMvd041QztJQUNJLGVBQWM7SUFDZCxpQkFBZ0IsRUFFbkI7STdDK3dORCwrQ0FBK0M7STRCMzhPM0M7TUFxQkksZ0JBQWU7TUFDZix1QkFBc0IsRUFXekI7TTVCODZPSCwrQ0FBK0M7TTRCMTlPakQ7UUFvQ1ksZTNCakRBLEUyQmtESDtNNUJ3N09QLCtDQUErQztNNEJwK09qRDtRQy9FQSxZQUFXO1FBQ1gsbUJBQWtCO1FBQ2xCLFNBQVE7UUFDUixVQUFTO1FBQ1QsZUFBYztRQWlCVixrQ0FBbUM7UUFDbkMscUNBQXNDO1FBQ3RDLCtCNUJrRFE7UTRCakRSLG1CQUFrQixFRHNHYjtNNUJnOE9QLCtDQUErQztNNEIvN096QztRQUNJLHlCQUF3QixFQUMzQjtJNUJnOE9ULCtDQUErQztJNEIzOU8zQztNQStCSSxjQUFhLEVBQ2hCO0k1Qjg3T0wsK0NBQStDO0k0Qng3T25DO01BQ0kseUJBQXdCLEVBQzNCO0k1Qnk3T2IsK0NBQStDO0k0QnY3T25DO01DaEpaLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFVBQVM7TUFDVCxlQUFjO01BVVYsb0NBQXFDO01BQ3JDLG1DQUFvQztNQUNwQyw4QjVCeURRO000QnhEUixvQkFBbUI7TURpSVAsVUFBUztNQUNULFNBQVE7TUFDUixpQkFBZ0IsRUFDbkI7STVCZzhPYiwrQ0FBK0M7STRCNzdPdkM7TUFDSSxlQUFjLEVBQ2pCO0U1Qjg3T1gsOENBQThDO0U2QzcyTmhEO0lBcURRLDBCNUN2dEJRO0k0Q3d0QlIsVUFBUztJQUNULGlCQUFnQjtJQUNoQixlQUFjO0lBQ2QsZUFBYyxFQW9CakI7STdDdXlORCw4Q0FBOEM7STRCaGhQOUM7TUMvRUEsWUFBVztNQUNYLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsVUFBUztNQUNULGVBQWM7TUFpQlYsa0NBQW1DO01BQ25DLHFDQUFzQztNQUN0QywrQmdCZ3hCeUM7TWhCL3dCekMsbUJBQWtCO01nQmd4QmQsWUFBVztNQUNYLFNBQVE7TUFDUixpQkFBZ0IsRUFDbkI7STdDazBOTCw4Q0FBOEM7STRCdmhQOUM7TWlCd3RCUSwwQjVDanJCd0I7TTRDa3JCeEIsZUFBYyxFQUNqQjtJN0NpME5MLDhDQUE4QztJNkNsMU45QztNaEIveEJBLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFVBQVM7TUFDVCxlQUFjO01BVVYsb0NBQXFDO01BQ3JDLG1DQUFvQztNQUNwQyw4QmdCbXlCd0M7TWhCbHlCeEMsb0JBQW1CO01nQm15QmYsWUFBVztNQUNYLFNBQVE7TUFDUixpQkFBZ0IsRUFDbkI7RTdDdzBOUCw4Q0FBOEM7RTZDcjBONUM7O0lBRUksYzVDbHhCVTtJNENteEJWLDBCNUNwcEJpQjtJNENxcEJqQixjQUFhLEVBQ2hCO0U3Q3MwTkgsOENBQThDO0U2Q3AwTjVDOztJQUVJLGFBQVk7SUFDWixZQUFXLEVBQ2Q7RTdDcTBOSCw4Q0FBOEM7RTZDbjBONUM7SXBCOVpBLGVyQnpaVztJcUIwWlgsa0JBQWlCLEVvQm9haEI7STdDZzBORCw4Q0FBOEM7STZDdjBOOUM7TUFJUSxzQkFBcUI7TUFDckIsb0JmNTBCaUMsRWU2MEJwQyxFQUFBOztBN0NzME5ULDhDQUE4QztBNkNsME45QztFQUVRLGVBQWM7RW5CN3lCbEIsVUFBUztFQUNULG9CQUFtQjtFQUNuQixlekJnRFk7RXlCL0NaLHFFekJzS3FFO0V5QnJLckUsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQiw4QkFBNkI7RUFDN0IsMEJBQXlCLEVtQnN5QnhCOztBN0M0ME5MLDhDQUE4QztBNkNoMU45QztFQU9RLG1CNUM5eUJVO0U0Qyt5QlYsb0I1Qy95QlUsRTRDZ3pCYjs7QTdDNDBOTCw4Q0FBOEM7QTZDcjFOOUM7RUFXUSxtQkFBa0IsRUFTckI7RTdDbzBOSCw4Q0FBOEM7RTZDeDFOaEQ7SUFjWSxrQkFBaUIsRUFDcEI7RTdDNDBOUCw4Q0FBOEM7RTZDMzFOaEQ7SXBDNzBCSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRW9DODFCTjs7QTdDODBOVCw4Q0FBOEM7QTZDMTBOOUM7RUFDSSxrQkFBaUI7RUFDakIsbUI1Qzd6QmlCLEU0Qzh6QnBCOztBQUVEOztrREFFa0Q7QTFDdDJCMUM7RUhrclBOLDhDQUE4QztFNkNuclBoRDtJQTgyQm9CLGdCQUFlO0lBQ2YsV0FBVTtJQUNWLFVBQVM7SUFDVCxhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLG1CQUFrQixFQUNyQjtFN0N1ME5mLDhDQUE4QztFNkNqMU41QztJQVlnQixjQUFhLEVBQ2hCO0U3Q3UwTmYsOENBQThDO0U2QzlyUGhEO0lBeTNCb0IsZUFBYyxFQUNqQjtFN0N1ME5mLDhDQUE4QztFNkNqc1BoRDtJQWs0QjRCLG1CQUFrQixFQUNyQjtFN0NpME52Qiw4Q0FBOEM7RTZDcHNQaEQ7SUFzNEJnQyxvQkFBbUIsRUFDdEI7RTdDZzBOM0IsOENBQThDO0U2Q3ZzUGhEO0lBNjRCd0IsaUJBQWdCLEVBQ25CLEVBQUE7O0ExQzc0QmI7RUgyc1BOLDhDQUE4QztFNkM1c1BoRDtJQXc1QlksZ0JBQWU7SUFDZixZQUFXO0lBQ1gsVUFBUztJQUNULHFCQUFvQixFQXdCdkI7STdDK3hOTCw4Q0FBOEM7STZDbHRQbEQ7TUE2NUJnQixZQUFXLEVBcUJkO003Q215TlAsOENBQThDO002Q3J0UHBEO1FBKzVCb0IsZ0JBQWU7UUFDZixZQUFXO1FBQ1gsb0JBQW1CLEVBQ3RCO003Q3d6TlgsOENBQThDO002QzF0UHBEO1FBdTZCb0IsWUFBVztRQUNYLGlCQUFnQjtRQUNoQixTQUFRO1FBQ1IsVUFBUztRQUNULG1DQUEwQjtZQUExQiwrQkFBMEI7Z0JBQTFCLDJCQUEwQixFQUM3QjtNN0Nxek5YLDhDQUE4QztNNkNqdVBwRDtRQTg2Qm9CLGdCQUFlO1FBQ2YsWUFBVztRQUNYLGFBQVksRUFDZjtFN0Nxek5mLDhDQUE4QztFNkN0dVBoRDtJQXM3QmdCLHVDQUE4QjtRQUE5Qix1QkFBOEI7WUFBOUIsK0JBQThCLEVBc0NqQztJN0M2d05ULDhDQUE4QztJNkN6dVBsRDtNQXc3Qm9CLGdCQUFlLEVBQ2xCO0k3Q216TmIsOENBQThDO0k2Q3QxTjlDO01Bc0NvQixZQUFXO01BQ1gsVUFBUztNQUNULGlCQUFnQixFQUNuQjtJN0Nrek5qQiwrQ0FBK0M7STZDMzFOL0M7TUE0Q2dCLFdBQVUsRUFDYjtJN0Npek5iLCtDQUErQztJNkNwdlBuRDtNQXE4Qm9CLCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCLEVBVXpCO003Q3d5TlgsK0NBQStDO002Q3Z2UHJEO1FBdThCd0IsaUJBQWdCO1FBQ2hCLFlBQVc7UUFDWCwrQkFBc0I7WUFBdEIsMkJBQXNCO2dCQUF0Qix1QkFBc0I7UUFDdEIsb0JBQW1CLEVBQ3RCO003Q2t6TmYsK0NBQStDO002Qzd2UHJEO1FBNjhCd0IsWUFBVyxFQUNkO0k3Q2t6TmpCLCtDQUErQztJNkMxMk4vQztNQTJEZ0IsV0FBVTtNQUNWLFVBQVM7TUFDVCxpQkFBZ0I7TUFDaEIsNkJBQW9CO1VBQXBCLHlCQUFvQjtjQUFwQixxQkFBb0IsRUFDdkI7STdDaXpOYiwrQ0FBK0M7STZDdHdQbkQ7TUF1OUJvQixZQUFXLEVBQ2Q7STdDaXpOYiwrQ0FBK0M7STZDbjNOL0M7TUFvRWdCLGNBQWEsRUFDaEIsRUFBQTs7QTFDMTlCVDtFSDZ3UE4sK0NBQStDO0U2QzV5TjdDO0lBSWdCLFlBQVcsRUFDZDtFN0MweU5mLCtDQUErQztFNkNqeFBqRDtJQXkrQm9CLGlCQUFnQixFQUNuQjtFN0MweU5mLCtDQUErQztFNkNsek43QztJQVVnQixpQkFBZ0IsRUFDbkI7RTdDMHlOZiwrQ0FBK0M7RTZDdnhQakQ7SUErK0JvQixpQkFBZ0IsRUFDbkIsRUFBQTs7QUU3L0JqQjs7a0RBRWtEO0EvQ3l5UGxELGdEQUFnRDtBK0N2eVBoRDtFQUNJLGNBQWEsRUFDaEI7O0EvQ3l5UEQsZ0RBQWdEO0ErQ3Z5UGhEO0VBRVEscUJBQW9CLEVBNkN2QjtFL0MydlBILGdEQUFnRDtFK0MxeVBsRDs7SUFPb0IsWUFBVyxFQUNkO0UvQ3N5UGYsZ0RBQWdEO0UrQzl5UGxEO0lBV29CLGdCQUFlO0lBQ2YsbUI5Q2dCVixFOENmTztFL0NxeVBmLGdEQUFnRDtFK0NselBsRDtJdENDSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRXNDY0U7RS9Dc3lQZixnREFBZ0Q7RStDdnpQbEQ7SXRDQ0ksWUFBVztJQUNYLGVBQWM7SUFDZCxZQUFXLEVzQ29CTjtFL0NxeVBQLGdEQUFnRDtFK0M1elBsRDtJQXlCWSxtQzlDdU11QjtJOEN0TXZCLGUzQ2JHO0kyQ2NILGdCOUNrTkk7SThDak5KLDBCQUF5QixFQU81QjtJL0MreFBMLGdEQUFnRDtJK0NsMFBwRDtNQThCZ0Isb0M5Q21NZ0I7TThDbE1oQix3QkFBdUI7TUFDdkIsZ0I5QzBNSDtNOEN6TUcsaUJBQWdCLEVBQ25CO0UvQ3N5UFgsZ0RBQWdEO0UrQ3gwUGxEO0lBcUNZLFdBQVUsRUFDYjtFL0NxeVBQLGdEQUFnRDtFK0MzMFBsRDtJQXdDWSxjQUFhLEVBQ2hCO0UvQ3F5UFAsZ0RBQWdEO0UrQzkwUGxEO0lkaEJFLG9DaENpUDhCO0lnQ2hQOUIsZ0JoQzZQZTtJZ0M1UGYsZTdCMkJhO0k2QjFCYix1QkFBc0I7SUFDdEIsa0JBQWlCO0lBQ2pCLGlCQUFnQixFY3lEVDs7QS9DeXlQVCxnREFBZ0Q7QStDdjFQaEQ7RUFrRFEsaUJBQWdCO0VBQ2hCLGFBQVksRUE2QmY7RS9DMndQSCxnREFBZ0Q7RStDMzFQbEQ7SWR2QkUsbUNoQ3VQaUM7SWdDdFBqQyxtQkFBa0I7SUFDbEIsZTdCa0NhO0k2QmpDYixnQmhDeVBnQjtJOEMvS04sZ0JBQWU7SUFDZixvQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLG1CQUFrQixFQUNyQjtFL0MyeVBQLGdEQUFnRDtFK0NyMlBsRDtJQTREWSxpQkFBZ0I7SUFDaEIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUFnQmxCO0kvQzR4UEwsZ0RBQWdEO0krQzMyUHBEO01BaUVnQixpQkFBZ0I7TUFDaEIsd0JBQWU7VUFBZiw2QkFBZTtjQUFmLGdCQUFlLEVBWWxCO00vQ2l5UFAsaURBQWlEO00rQy8yUHZEO1FBb0VvQixnQjlDa0tIO1E4Q2pLRywwQkFBeUI7UUFDekIsaUJBQWdCLEVBQ25CO00vQzZ5UFgsaURBQWlEO00rQ3AzUHZEO1FBeUVvQixvQzlDd0pZO1E4Q3ZKWixpQkFBZ0I7UUFDaEIsaUJBQWdCO1FBQ2hCLG9CQUFtQixFQUN0Qjs7QS9DOHlQakIsaURBQWlEO0ErQzMzUGpEOztFQW1GUSxlOUNiUTtFOENjUixvQkFBbUI7RUFDbkIsVUFBUyxFQUNaOztBL0M0eVBMLGlEQUFpRDtBK0NsNFBqRDtFQXlGUSxZQUFXO0VBQ1gsYUFBWTtFQUNaLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0IsRUE0R3pCO0UvQ2dzUEgsaURBQWlEO0UrQ3g0UG5EO0lBZ0dZLFlBQVc7SUFDWCxrQkFBaUIsRUFDcEI7RS9DMHlQUCxpREFBaUQ7RStDNTRQbkQ7SUFvR1ksWUFBVztJQUNYLG1DOUMySHVCO0k4QzFIdkIsZTNDekZHO0kyQzBGSCxnQjlDK0hLO0k4QzlITCxvQkFBbUI7SUFDbkIscUJBQW9CO0lBQ3BCLG1CQUFrQixFQUNyQjtFL0MweVBQLGlEQUFpRDtFK0NyNVBuRDtJQThHWSxZQUFXO0lBQ1gsb0JBQXNCO0lBQ3RCLFlBQVc7SUFDWCxXQUFVLEVBQ2I7RS9DeXlQUCxpREFBaUQ7RStDMzVQbkQ7O0lBNEhZLGVBQWM7SUFDZCxvQjlDdEZNLEU4Q3VGVDtFL0NreVBQLGlEQUFpRDtFK0NoNlBuRDtJQWlJWSxvQkFBbUI7SUFDbkIsWUFBVztJQUNYLCtCQUE4QjtJQUM5QixxQkFBb0IsRUFPdkI7SS9DMnhQTCxpREFBaUQ7SStDdDZQckQ7TUFzSWdCLG9DOUMyRmdCO004QzFGaEIsZTNDMUhEO00yQzJIQyxnQjlDa0dIO01nQ2pQWCxrQkFBaUI7TUFDakIsb0JBQW1CO01BQ25CLGlCQUFnQixFYytJTDtFL0NveVBYLGlEQUFpRDtFK0M5NlBuRDtJQThJWSxtQkFBa0IsRUFDckI7RS9Da3lQUCxpREFBaUQ7RStDajdQbkQ7SUFrSlksZ0I5Q3FGSSxFOENwRlA7RS9DaXlQUCxpREFBaUQ7RStDcDdQbkQ7SUFzSlksY0FBYSxFQWlEaEI7SS9DZ3ZQTCxpREFBaUQ7SStDdjdQckQ7OztNQTJKZ0IsaUJBQWdCO01BQ2hCLGlCQUFnQixFQUNuQjtJL0NneVBULGlEQUFpRDtJK0M3N1ByRDs7O01Ba0tnQixlM0NySkQ7TTJDc0pDLG9DOUM4RGdCO004QzdEaEIsZ0I5Q3dFRCxFOEN2RUY7SS9DK3hQVCxpREFBaUQ7SStDcDhQckQ7TUEwS29CLGdCOUM2REo7TThDNURJLDBCQUF5QixFQUM1QjtJL0M0eFBiLGlEQUFpRDtJK0N4OFByRDtNQStLb0IsZTlDMUZKLEU4QytGQztNL0N1eFBYLGlEQUFpRDtNK0MzOFB2RDtRQWtMd0IsZ0I5Q3FEUixFOENwREs7SS9DMnhQakIsaURBQWlEO0krQzk4UHJEOztNQXlMZ0IsZUFBYztNQUNkLGlCQUFnQjtNQUNoQixlOUN0R0EsRThDZ0hIO00vQyt3UFAsaURBQWlEO00rQ3A5UHZEOztRQThMb0IsZ0I5Q3lDSjtROEN4Q0ksaUJBQWdCLEVBQ25CO00vQ3l4UFgsaURBQWlEO00rQ3o5UHZEOztRQW1Nb0IsZ0JBQWUsRUFDbEI7O0EvQzB4UGpCLGlEQUFpRDtBK0M5OVBqRDtFQTJNUSxpQkFBZ0IsRUFDbkI7O0EvQ3N4UEwsaURBQWlEO0ErQ2wrUGpEO0VBZ05ZLGNBQWEsRUFDaEI7O0EvQ3F4UFQsaURBQWlEO0ErQ3QrUGpEO0VkaEJFLG9DaENpUDhCO0VnQ2hQOUIsZ0JoQzZQZTtFZ0M1UGYsZTdCMkJhO0U2QjFCYix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFYytOTixnQjlDd0JHLEU4Q3ZCTjs7QS9DMnhQVCxpREFBaUQ7QStDaC9QakQ7O0VBME5RLFdBQVU7RUFDVixhQUFZO0VBQ1osYUFBWSxFQUNmOztBL0MweFBMLGlEQUFpRDtBK0N2eFBqRDtFQUVRLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIscUJBQW9CLEVBYXZCO0UvQzJ3UEgsaURBQWlEO0UrQzV4UG5EO0lBTVksaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixtQkFBa0IsRUFRckI7SS9DaXhQTCxpREFBaUQ7SStDanlQckQ7TWR2UEUsbUNoQ3VQaUM7TWdDdFBqQyxtQkFBa0I7TUFDbEIsZTdCa0NhO002QmpDYixnQmhDeVBnQjtNOENNRixvQkFBbUIsRUFDdEI7SS9DNHhQVCxpREFBaUQ7SStDeHlQckQ7TWRoUEUsb0NoQ2lQOEI7TWdDaFA5QixnQmhDNlBlO01nQzVQZixlN0IyQmE7TTZCMUJiLHVCQUFzQjtNQUN0QixrQkFBaUI7TUFDakIsaUJBQWdCLEVjMFBMOztBL0NreVBiLGlEQUFpRDtBK0NqelBqRDtFQW9CWSxXQUFVO0VBQ1YsWUFBVyxFQUNkOztBL0NneVBULGlEQUFpRDtBK0N0elBqRDtFQTBCWSxXQUFVO0VBQ1YsaUJBQVE7TUFBUixrQkFBUTtVQUFSLFNBQVEsRUFJWDtFL0MyeFBQLGlEQUFpRDtFK0MxelBuRDtJQTZCZ0IsYUFBWSxFQUNmOztBL0NneVBiLGlEQUFpRDtBK0M5elBqRDtFQWlDWSxrQkFBaUI7RUFDakIsb0JBQW1CLEVBQ3RCOztBNUM3UEQ7RUg4aFFOLGlEQUFpRDtFK0NwaVFuRDs7SUE4UXdCLGdCOUN0Q1QsRThDdUNNO0UvQ3l4UG5CLGlEQUFpRDtFK0N4aVFuRDs7SUFrUndCLGdCOUM1Q1AsRThDNkNJLEVBQUE7O0E1QzdRYjtFSHdpUU4saURBQWlEO0UrQ254UC9DO0lBRVEsWUFBVztJQUNYLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7RS9DbXhQUCxpREFBaUQ7RStDbmpRbkQ7O0lBdVN3QixnQjlDaEVSLEU4Q2lFSztFL0Mrd1BuQixpREFBaUQ7RStDdmpRbkQ7O0lBMlN3QixnQkFBZSxFQUNsQixFQUFBOztBNUN0U2I7RUh1alFOLGlEQUFpRDtFK0M3alFuRDs7SUF5VG9CLG1CQUFrQixFQUtyQjtJL0Ntd1BiLGlEQUFpRDtJK0M3d1BqRDs7TUFRb0IsZUFBYyxFQUNqQixFQUFBOztBL0N5d1ByQixpREFBaUQ7QStDbHdQakQ7RUFDSSxXQUFVO0VBQ1YsWUFBVyxFQXlCZDtFL0MydVBDLGlEQUFpRDtFK0N0d1BuRDtJQU1ZLFVBQVMsRUFDWjtFL0Nrd1BQLGlEQUFpRDtFK0N6d1BuRDtJQVdRLG9COUN4U1U7SThDeVNWLGFBQVksRUFDZjtFL0Nnd1BILGlEQUFpRDtFK0M3d1BuRDtJQWdCUSxnQkFBZTtJQUlmLGtCQUFpQjtJQUdqQixpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLG9CQUFtQixFQUN0Qjs7QTVDeFZHO0VIb2xRTixpREFBaUQ7RStDdHhQbkQ7SUFnQ1Esa0JBQWlCLEVBQ3BCLEVBQUE7O0EvQ3l2UEwsaURBQWlEO0ErQ3R2UGpEO0VBQ0ksbUJBQWtCLEVBd0JyQjtFL0NndVBDLGlEQUFpRDtFK0N6dlBuRDtJQUdRLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsdUNBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEI7SUFDOUIsOEJBQXFCO1FBQXJCLG9CQUFxQjtZQUFyQixzQkFBcUIsRUFLeEI7SS9Db3ZQRCxpREFBaUQ7SStDOXZQckQ7TUFPWSwyQkFBa0I7VUFBbEIsNEJBQWtCO2tCQUFsQiwyQkFBa0I7Y0FBbEIsbUJBQWtCO01BQ2xCLGFBQVksRUFDZjtFL0N5dlBQLGlEQUFpRDtFK0Nsd1BuRDtJQW1CZ0IsbUJBQWlCLEVBQ3BCO0UvQ2l2UFgsK0NBQStDO0U4Q3BuUTdDO0lBRUksWUFBVTtJQUNWLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsVUFBUztJQUNULFlBQVc7SUFDWCxhQUFZO0lBQ1osY0FBYSxFQUNoQjtFOUNvblFILCtDQUErQztFOENsblE3QztJQUNJLHdCQUF1QjtJQUN2QixhQWQyQjtJQWUzQixXQUFTLEVBQ1o7RTlDbW5RSCwrQ0FBK0M7RThDam5RN0M7SUFDSSx1REFBc0Q7SUFDdEQsNkJBQTRCO0lBQzVCLDRCQUEyQjtJQUMzQixXQUFTLEVBQ1o7RTlDa25RSCwrQ0FBK0M7RThDaG5RN0M7SUFDSSxtQkFBa0IsRUFNckI7STlDNG1RRCwrQ0FBK0M7SThDaG5RM0M7TUFFSSxlQUFjLEVBQ2pCOztBOUNpblFULGlEQUFpRDtBK0Nyd1BqRDtFQUVRLHNCQUFxQixFQUN4Qjs7QS9Dc3dQTCxpREFBaUQ7QStDendQakQ7RUFLUSxrQkFBaUIsRUFDcEI7O0EvQ3V3UEwsaURBQWlEO0ErQzd3UGpEO0VBUVEsc0JBQXFCO0VBQ3JCLDhCQUE2QixFQUNoQzs7QS9Dd3dQTCxpREFBaUQ7QStDcndQakQ7RUFFUSxzQkFBaUQsRUFDcEQ7O0EvQ3N3UEwsaURBQWlEO0ErQ253UGpEOzs7RUFHSSxtQkFBcUIsRUFDeEI7O0EvQ3F3UEQsaURBQWlEO0ErQzMxUGpEO0VBeUZJLG9CQUFzQixFQUN6Qjs7QS9DcXdQRCxpREFBaUQ7QStDbndQakQ7Ozs7O0VBS0ksb0I5QzlYYyxFOEMrWGpCOztBL0Nxd1BELGlEQUFpRDtBK0Nud1BqRDtFQWFJLHVFQUF1RSxFQWtGMUU7RS9DdXFQQyxpREFBaUQ7RStDdHdQbkQ7O0l0Q3ZhSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRXNDMGFWO0UvQ3V3UEgsaURBQWlEO0UrQzV3UG5EO0lBUVEsb0JBQW1CO0lBQ25CLG9CQUFtQixFQUV0QjtFL0Nxd1BILGlEQUFpRDtFK0NoeFBuRDs7O0lBaUJRLGlCQUFnQixFQUNuQjtFL0Ntd1BILGlEQUFpRDtFK0NyeFBuRDs7OztJQXdCUSxvQkFBbUIsRUFDdEI7RS9Da3dQSCxpREFBaUQ7RStDM3hQbkQ7O0lBNkJRLGtCQUFpQjtJQUNqQixZQUFXO0lBQ1gsY0FBYSxFQUNoQjtFL0Npd1BILGlEQUFpRDtFK0NqeVBuRDtJQW1DUSxrQkFBaUIsRUFDcEI7RS9DZ3dQSCxpREFBaUQ7RStDcHlQbkQ7SUF1Q1EsWUFBVztJQUNYLGFBQVksRUFDZjtFL0MrdlBILGlEQUFpRDtFK0N4eVBuRDtJQTRDUSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLGdCQUFlLEVBK0JsQjtJL0NndVBELGlEQUFpRDtJK0M3eVByRDtNQWlEWSxZQUFXO01BQ1gsbUJBQWtCLEVBMEJyQjtNL0NxdVBILGlEQUFpRDtNK0NqelB2RDtRQXFEZ0IsZUFBYztRQUNkLGVBQWM7UUFDZCxhQUFZLEVBQ2Y7TS9DOHZQUCxpREFBaUQ7TStDdHpQdkQ7UUEyRGdCLGVBQWM7UUFDZCxhQUFZO1FBQ1osZUFBYyxFQUtqQjtRL0N5dlBMLGlEQUFpRDtRK0MzelB6RDtVQWdFb0IsbUJBQWtCLEVBQ3JCO00vQzZ2UFgsaURBQWlEO00rQzl6UHZEO1FBcUVnQixlQUFjO1FBQ2Qsb0JBQW1CO1FBQ25CLGVBQWM7UUFDZCxnQkFBZTtRQUNmLGVBQWM7UUFDZCxtQkFBa0IsRUFDckI7RS9DMnZQWCxpREFBaUQ7RStDdDBQbkQ7SUFnRlEsaUJBQWdCO0lBQ2hCLGtCQUFpQjtJQUNqQixnQjlDblJRO0k4Q29SUixrQkFBaUI7SUFFakIsaUJBQWdCO0lBRWhCLG9CQUFtQjtJZHBmekIsb0NoQ3NOOEI7SWdDck45QiwwQkFBeUI7SUFDekIsZ0JoQ2lPZTtJZ0NoT2YsZTdCRGE7STZCRWIsMEI3QkVhO0k2QkRiLDBCN0JIYTtJNkJJYixrQkFBaUIsRWNnZmQ7SS9DNHZQRCxzQ0FBc0M7SWlDM3VReEM7TUFDRSwwQjdCTlc7TTZCT1gsZTdCSFcsRTZCSVo7RWpDNHVRRCxpREFBaUQ7RStDejFQbkQ7O0lBNkZRLFlBQVcsRUFDZDs7QTVDaGdCRztFSGl3UU4saURBQWlEO0UrQzd2UC9DO0lBRVEsa0JBQWlCLEVBQ3BCO0UvQzZ2UFAsaURBQWlEO0UrQ2h3UC9DOzs7O0lBU1EsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxlQUFjO0lBQ2QsZ0JBQWU7SUFDZixlQUFjO0lBQ2QsWUFBVyxFQUNkLEVBQUE7O0FBSVQsNEVBQTRFO0EvQzB2UDVFLGlEQUFpRDtBK0N6dlBqRDtFQUNJLGNBQWEsRUFDaEI7O0EvQzJ2UEQsaURBQWlEO0ErQ3p2UGpEO0VBQ0ksWUFBVztFQUNYLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxjQUFhLEVBdUJoQjtFL0NvdVBDLGlEQUFpRDtFK0Nod1BuRDtJdENqaUJJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFc0N3aUJWO0UvQzR2UEgsaURBQWlEO0UrQ3J3UG5EO0lBWVEsWUFBVyxFQUNkO0UvQzJ2UEgsaURBQWlEO0UrQ3h3UG5EO0lBZ0JRLHlCQUF3QjtJQUN4QixpQkFBZ0I7SUFDaEIsZ0M5QzlZaUIsRThDK1lwQjtFL0MwdlBILGlEQUFpRDtFK0M3d1BuRDtJQXNCUSxpQkFBZ0IsRUFDbkI7RS9DeXZQSCxpREFBaUQ7RStDaHhQbkQ7SUEwQlEsa0JBQWlCLEVBQ3BCOztBL0N5dlBMLGlEQUFpRDtBK0N0dlBqRDtFQUNJLFlBQVcsRUFvQ2Q7RS9Db3RQQyxpREFBaUQ7RStDenZQbkQ7SXRDL2pCSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRXNDa2tCVjtFL0N5dlBILGlEQUFpRDtFK0M5dlBuRDtJQVFRLFlBQVc7SUFDWCxxQkFBb0IsRUFDdkI7RS9Dd3ZQSCxpREFBaUQ7RStDbHdQbkQ7SWhCeGpCSSxxQkFBb0I7SWdCdWtCaEIsZUFBYztJQUNkLFlBQVc7SUFDWCxhQUFZLEVBQ2Y7RS9Dc3ZQSCxpREFBaUQ7RStDeHdQbkQ7SUFvQlEsYUFBWSxFQUNmO0UvQ3N2UEgsaURBQWlEO0UrQzN3UG5EO0lBdUJRLGdDQUErQixFQUNsQztFL0NzdlBILGlEQUFpRDtFK0M5d1BuRDtJQTBCUSxnQ0FBK0IsRUFDbEM7RS9Dc3ZQSCxpREFBaUQ7RStDanhQbkQ7SUE2QlEsZ0NBQXVDLEVBQzFDO0UvQ3N2UEgsaURBQWlEO0UrQ3B4UG5EO0lBZ0NRLGdDQUErQixFQUNsQztFL0NzdlBILGlEQUFpRDtFK0N2eFBuRDtJQW1DUSxnQ0FBdUMsRUFDMUM7O0E1QzlsQkc7RUhzMVFOLGlEQUFpRDtFK0NwdlAvQztJQUVRLFlBQVc7SUFDWCxZQUFXO0loQjdsQm5CLGVBQWMsRWdCK2xCVCxFQUFBOztBL0NxdlBULGlEQUFpRDtBK0NqdlBqRDtFQUNJLFlBQVcsRUFxRGQ7RS9DOHJQQyxpREFBaUQ7RStDcHZQbkQ7SUFHUSx3QkFBdUI7SUFDdkIseUNBQXdDLEVBc0IzQztJL0M4dFBELGlEQUFpRDtJK0N4dlByRDtNQU1ZLDhCQUE2QixFQUNoQztJL0NvdlBMLGlEQUFpRDtJK0MzdlByRDtNQVdnQiw2QkFBNEI7TUFDNUIsbUM5QzdabUI7TThDOFpuQiwwQkFBeUI7TUFDekIsZTNDbG5CRDtNMkNtbkJDLDJCQUFpQyxFQUNwQztJL0NrdlBULGlEQUFpRDtJK0Nsd1ByRDtNQW1CWSx3QkFBdUIsRUFNMUI7TS9DNHVQSCxpREFBaUQ7TStDcndQdkQ7UUFxQmdCLGtCQUFpQjtRQUNqQiwwQkFBd0I7UUFDeEIsMkJBQTBCLEVBQzdCO0UvQ2t2UFgsaURBQWlEO0UrQzF3UG5EO0lBNkJZLGFBQVk7SUFDWixrQkFBaUI7SUFDakIsa0JBQWlCLEVBcUJwQjtJL0MydFBMLGlEQUFpRDtJK0Mvd1ByRDtNQWtDb0Isb0M5Q2xiWTtNOENtYlosZTNDdm9CTDtNMkN3b0JLLGdCOUMzYVA7TWdDalBYLGtCQUFpQjtNQUNqQixvQkFBbUI7TUFDbkIsaUJBQWdCLEVjd3FCRDtNL0NxdVBYLGlEQUFpRDtNK0N2eFB2RDtRQXdDNEIsc0JBQWE7UUFBYixxQkFBYTtRQUFiLGNBQWE7UUFDYiw0QkFBbUI7WUFBbkIsd0JBQW1CO2dCQUFuQixvQkFBbUI7UUFDbkIsaUJBQWdCLEVBTW5CO1EvQzR1UGpCLGlEQUFpRDtRK0M1eFB6RDtVQTRDZ0MsWUFBVztVQUNYLGFBQVk7VUFDWixlQUFjLEVBQ2pCOztBL0NtdlA3QixpREFBaUQ7QStDMXVQakQ7RUFHWSxjQUFhLEVBQ2hCOztBL0MwdVBULGlEQUFpRDtBK0N0dVBqRDtFQUNJLFlBQVcsRUFDZDs7QTVDN3FCTztFSHM1UU4sOENBQThDO0UrQzN5UGhEO0luQnZuQlEsZUFBYztJQUNkLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsMEIzQnlLaUI7STJCeEtqQiwwQjNCbUtxQixFMkJ4SHhCO0k1QjAzUUQsOENBQThDO0k0Qm42UTFDO01BQ0ksWUFBVztNQUNYLG9DQUFtQztNQUNuQyxtQ0FBa0MsRUFjckM7TTVCdTVRSCw4Q0FBOEM7TTRCbjZReEM7UURSUix1QkFBc0I7UUFDdEIsc0JBQXFCO1FBQ3JCLDBCQUF5QjtRQUN6QixxQkFBb0I7UUFDcEIsa0JBQWlCO1FDTUwsc0JBQXFCO1FBQ3JCLGdCM0JzQkw7UTJCckJLLGFBQVk7UUFDWixrQkFBaUI7UUFDakIsZ0JBQWU7UUFDZiwwQkFBeUI7UUFDekIsZ0IzQmdPQTtRMkIvTkEsbUJBQWtCO1FBQ2xCLGFBQVksRUFDZjtJNUJ3NlFULDhDQUE4QztJK0N2MFBsRDtNbkI3bEJZLGdDM0JrSmE7TTJCakpiLCtCM0JpSmEsRTJCM0loQjtNNUJpNlFILDhDQUE4QztNNEJyNlF4QztRQUNJLDBCQUF5QjtRQUN6QixXQUFVLEVBQ2I7STVCczZRVCw4Q0FBOEM7SStDLzBQbEQ7TW5COWtCWSxrQkFBaUIsRUFDcEI7STVCKzVRTCw4Q0FBOEM7STRCNzVRMUM7TW5CckNKLFlBQVc7TUFDWCxlQUFjO01BQ2QsWUFBVyxFbUJxQ047RTVCZzZRUCw4Q0FBOEM7RTRCNzVRNUM7SUFDSSxZQUFXLEVBaUJkO0k1Qjg0UUQsOENBQThDO0k0Qjc1UTFDO01BQ0ksY0FBYSxFQUNoQjtJNUI4NVFMLDhDQUE4QztJNEI1NVExQztNQUNJLFlBQVc7TUFDWCxjQUFhO01BQ2IsY0FBYTtNQUNiLDBCM0JnSGE7TTJCL0diLGNBQWEsRUFDaEI7STVCNjVRTCw4Q0FBOEM7STRCMzVRMUM7TUFDSSxlQUFjLEVBQ2pCLEVBQUE7O0F6QnRERDtFSG85UU4sK0NBQStDO0UrQ3oyUGpEO0luQnZoQlEsY0FBYSxFQUNoQjtFNUJrNFFILCtDQUErQztFNEIvNlF6QztJRlhKLFVBQVM7SUFDVCxvQkFBbUI7SUFDbkIsZXpCZ0RZO0l5Qi9DWixxRXpCc0txRTtJeUJyS3JFLGdCQUFlO0lBQ2Ysa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsOEJBQTZCO0lBQzdCLDBCQUF5QjtJQy9DekIsdUJBQXNCO0lBQ3RCLHNCQUFxQjtJQUNyQiwwQkFBeUI7SUFDekIscUJBQW9CO0lBQ3BCLGtCQUFpQjtJQ2tFakIsb0JBQW1CO0lBQ25CLG1CQUFrQjtJQUNsQiwyQkFBMEI7SUFDMUIsa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixzQjNCOEZxQjtJMkI3RnJCLG1CQUFrQjtJQUNsQiwwQjNCdUZ5QjtJMkJqRWpCLGVBQWMsRUFDakI7STVCczVRTCwrQ0FBK0M7STRCMzZRL0M7TUMvRUEsWUFBVztNQUNYLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsVUFBUztNQUNULGVBQWM7TUFVVixvQ0FBcUM7TUFDckMsbUNBQW9DO01BQ3BDLDhCNUJ5RFE7TTRCeERSLG9CQUFtQjtNRGdFbkIsV0FBVTtNQUNWLFNBQVE7TUFDUixpQkFBZ0IsRUFDbkI7STVCbzdRRCwrQ0FBK0M7STRCbDdRL0M7TUFDSSwwQkV2RnFDLEVGd0Z4QztFNUJtN1FILCtDQUErQztFNEJ0OVF6QztJQWtESSxjM0I3RE07STJCOEROLFVBQVM7SUFDVCxvQkFBbUI7SUFDbkIsb0JBQW1CO0lBQ25CLHNCM0I4RGEsRTJCN0RoQjtFNUJzNlFQLCtDQUErQztFNEJyNlF6QztJQUNJLDRCQUEyQixFQUM5QjtFNUJzNlFQLCtDQUErQztFNEJwK1F6QztJQXFFSSxnQkFBZTtJQUNmLHVCQUFzQixFQVd6QjtJNUJ1NVFMLCtDQUErQztJNEJuOFEvQztNQW9DWSxlM0JqREEsRTJCa0RIO0k1Qmk2UVQsK0NBQStDO0k0Qjc4US9DO01DL0VBLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFVBQVM7TUFDVCxlQUFjO01BaUJWLGtDQUFtQztNQUNuQyxxQ0FBc0M7TUFDdEMsK0I1QmtEUTtNNEJqRFIsbUJBQWtCLEVEc0diO0k1Qnk2UVQsK0NBQStDO0k0Qng2UXZDO01BQ0kseUJBQXdCLEVBQzNCO0U1Qnk2UVgsK0NBQStDO0U0QnIvUXpDO0lBZ0ZJLGNBQWEsRUFDaEI7RTVCdTZRUCwrQ0FBK0M7RTRCajZRakM7SUFDSSx5QkFBd0IsRUFDM0I7RTVCazZRZiwrQ0FBK0M7RTRCaDZRakM7SUNoSlosWUFBVztJQUNYLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsVUFBUztJQUNULGVBQWM7SUFVVixvQ0FBcUM7SUFDckMsbUNBQW9DO0lBQ3BDLDhCNUJ5RFE7STRCeERSLG9CQUFtQjtJRGlJUCxVQUFTO0lBQ1QsU0FBUTtJQUNSLGlCQUFnQixFQUNuQjtFNUJ5NlFmLCtDQUErQztFNEJ0NlFyQztJQUNJLGVBQWMsRUFDakIsRUFBQTs7QXpCakpMO0VIMGpSTixpREFBaUQ7RStDMTNQL0M7Ozs7O0lBS0ksWUFBVztJQUNYLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsZ0JBQWUsRUFDbEI7RS9DMjNQSCxpREFBaUQ7RStDMTNQL0M7SUFHWSxjQUFhLEVBQ2hCO0UvQ3kzUFgsaURBQWlEO0UrQ3p3UW5EO0lBa1pnQixtQkFBa0I7SUFDbEIsbUJBQWtCLEVBQ3JCLEVBQUE7O0E1Q2x0Qkw7RUg2a1JOLGlEQUFpRDtFK0NubFJuRDtJQWd1QlEsZUFBYyxFQUNqQjtFL0NxM1BILGlEQUFpRDtFK0NwM1AvQztJQUNJLGNBQWEsRUFDaEIsRUFBQTs7QTVDOXRCRztFSHFsUk4saURBQWlEO0UrQzNyUW5EOzs7OztJQThVUSxvQjlDOXNCUyxFOEMrc0JaLEVBQUE7O0EvQ28zUEwsaURBQWlEO0ErQ2ozUGpEO0VBRVEsWUFBVztFQUNYLFlBQVc7RUFDWCxjQUFhLEVBQ2hCOztBL0NrM1BMLGlEQUFpRDtBK0MvMlBqRDtFQUNJLGdCOUM5ckIwQjtFOEMrckIxQiwwQjlDNWtCb0IsRThDa2xCdkI7RS9DMjJQQyxpREFBaUQ7RStDbjNQbkQ7SUFLUSxnQzlDL2tCZ0I7SThDZ2xCaEIsaUM5Q2hsQmdCLEU4Q2lsQm5COztBQUdMOztHQUVHO0EvQysyUEgsaURBQWlEO0ErQzcyUGpEO0VBQ0ksMEI5Q3psQm9CO0U4QzBsQnBCLFlBQVc7RUFDWCxjOUNwdUJjO0U4Q3F1QmQsb0JBQW1CLEVBUXRCO0UvQ3UyUEMsaURBQWlEO0UrQ24zUG5EO0lBT1Esb0JBQW1CLEVBQ3RCO0U1QzF3Qkc7SUh5blJKLGlEQUFpRDtJK0N2M1ByRDtNQVVRLG9COUNsdkJTLEU4Q292QmhCLEVBQUE7O0EvQysyUEQsaURBQWlEO0ErQzcyUGpEO0VBRVEsZTlDbHRCUTtFOENtdEJSLHFFOUM3a0JpRSxFOEM4a0JwRTs7QS9DODJQTCxpREFBaUQ7QStDbDNQakQ7RUFPUSxpQjlDbnZCYSxFOENvdkJoQjs7QS9DODJQTCxpREFBaUQ7QStDdDNQakQ7RUFXUSxpQjlDdnZCYSxFOEN3dkJoQjs7QS9DODJQTCxpREFBaUQ7QStDMTNQakQ7RUFnQlEsYUFBWSxFQU1mO0UvQ3UyUEgsaURBQWlEO0UrQzczUG5EO0lBbUJZLFdBQVU7SUFDVixpQkFBZ0IsRUFDbkI7O0EvQzYyUFQsaURBQWlEO0ErQ2w0UGpEO0VBd0JRLGtCQUFpQixFQUNwQjs7QUFHTDs7R0FFRztBL0MyMlBILGlEQUFpRDtBK0N6MlBqRDtFQUNJLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBRXZCLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsa0JBQWlCLEVBZ0hwQjtFL0MwdlBDLGlEQUFpRDtFK0NqM1BuRDtJQVNRLFlBQVcsRUFDZDtFL0MwMlBILGlEQUFpRDtFK0NwM1BuRDtJQVlRLGFBQVk7SWRsMUJsQixvQ2hDaVA4QjtJZ0NoUDlCLGdCaEM2UGU7SWdDNVBmLGU3QjJCYTtJNkIxQmIsdUJBQXNCO0lBQ3RCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFJaEIsa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixpQkFBZ0I7SWMwMEJWLDBCQUF5QixFQUM1QjtFL0NpM1BILGlEQUFpRDtFK0NqNFBuRDtJQWtCUSxjQUFhO0lBQ2IsT0FBTTtJQUNOLFFBQU87SUFDUCxZQUFXO0lBQ1gsYUFBWTtJQUNaLGNBQWE7SUFDYixpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFDZixvQjNDbjBCTztJMkNvMEJQLFlBQVcsRUFDZDtFL0NpM1BILGlEQUFpRDtFK0M3NFBuRDtJQThCUSxjQUFhO0lBQ2IsT0FBTTtJQUNOLFFBQU87SUFDUCxZQUFXO0lBQ1gsYUFBWTtJQUNaLGNBQWE7SUFDYixnQkFBZTtJQUNmLHlCQUF3QjtJQUN4QixtQkFBa0IsRUFvQ3JCO0kvQzgwUEQsaURBQWlEO0krQ3g1UHJEO01Bd0NZLFlBQVc7TUFDWCxzQkFBcUI7TUFFckIsdUJBQXNCLEVBQ3pCO0kvQ2kzUEwsaURBQWlEO0krQzc1UHJEO01BOENZLGtEQUFpRDtNQUNqRCw0QkFBMkI7TUFDM0IsNkJBQTRCO01BQzVCLHNCQUFxQjtNQUNyQixrQkFBaUI7TUFDakIsb0JBQW1CO01BQ25CLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsT0FBTTtNQUNOLFNBQVEsRUFDWDtJL0NpM1BMLGlEQUFpRDtJK0N6NlByRDtNQTBEWSxtQkFBa0I7TUFDbEIsc0JBQXFCO01BQ3JCLHVCQUFzQjtNQUN0QixlQUFjO01BQ2QsaUJBQWdCO01BQ2hCLGNBQWE7TUFDYiwwQjNDcjJCRztNMkNzMkJILGNBQWE7TUFDYiwwQjNDMzJCRztNMkM0MkJILFNBQVE7TUFDUixzQ0FBNkI7VUFBN0Isa0NBQTZCO2NBQTdCLDhCQUE2QixFQUtoQztNL0M2MlBILGlEQUFpRDtNK0N0N1B2RDtRZHQwQkUsb0NoQ2lQOEI7UWdDaFA5QixnQmhDNlBlO1FnQzVQZixlN0IyQmE7UTZCMUJiLHVCQUFzQjtRQUN0QixrQkFBaUI7UUFDakIsaUJBQWdCO1FBSWhCLGtCQUFpQjtRQUNqQixvQkFBbUI7UUFDbkIsaUJBQWdCLEVjbTRCTDtFL0N5M1BYLGlEQUFpRDtFK0NqOFBuRDtJQTRFUSxnQkFBZTtJZGw1QnJCLG9DaENpUDhCO0lnQ2hQOUIsZ0JoQzZQZTtJZ0M1UGYsZTdCMkJhO0k2QjFCYix1QkFBc0I7SUFDdEIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJQUloQixrQkFBaUI7SUFDakIsb0JBQW1CO0lBQ25CLGlCQUFnQjtJYzA0QlYsMEJBQXlCO0lBQ3pCLG1CQUFrQixFQUNyQjtFL0M4M1BILGlEQUFpRDtFK0MvOFBuRDtJQW1GUSxvQkFBbUIsRUFtQ3RCO0kvQzQxUEQsaURBQWlEO0krQ2w5UHJEO01BcUZZLG9DOUMxcUJvQjtNOEMycUJwQixnQjlDOXBCSyxFOEMrcEJSO0kvQyszUEwsaURBQWlEO0krQ3Q5UHJEO01BeUZZLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsNEJBQW1CO1VBQW5CLHdCQUFtQjtjQUFuQixvQkFBbUIsRUEyQnRCO00vQ3EyUEgsaURBQWlEO00rQzE5UHZEO1FBNEZnQixtQkFBa0I7UUFDbEIsYUFBWTtRQUNaLFlBQVc7UUFFWCxnQkFBZTtRQUNmLG9CQUFtQjtRQUNuQiw4QkFBcUI7WUFBckIsb0JBQXFCO2dCQUFyQixzQkFBcUI7UUFDckIsd0JBQWU7WUFBZixvQkFBZTtnQkFBZixnQkFBZTtRQUNmLDBCM0N6NEJELEUyQzA0QkY7TS9DKzNQUCxpREFBaUQ7TStDcCtQdkQ7UUF1R2dCLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsNEJBQW1CO1lBQW5CLHdCQUFtQjtnQkFBbkIsb0JBQW1CO1FBQ25CLGdDQUF1QjtZQUF2QixzQkFBdUI7Z0JBQXZCLHdCQUF1QjtRQUN2Qiw0QkFBbUI7WUFBbkIsdUJBQW1CO2dCQUFuQixvQkFBbUI7UUFDbkIscUJBQVk7WUFBWixxQkFBWTtnQkFBWixhQUFZO1FBQ1osYUFBWTtRQUNaLGdCQUFlLEVBSWxCO1EvQzQzUEwsaURBQWlEO1ErQzcrUHpEO1VBK0dvQixpQkFBZ0IsRUFDbkI7TS9DZzRQWCxpREFBaUQ7TStDaC9QdkQ7UUFtSGdCLDBCQUF5QixFQUM1Qjs7QS9DZzRQYixpREFBaUQ7QStDMzNQakQ7RUFDSSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFlBQVc7RUFDWCxrQkFBaUIsRUFDcEI7O0E1Qzk2Qk87RUg0eVJOLGlEQUFpRDtFK0MzM1AvQztJQUNJLGlCQUFnQixFQUNuQixFQUFBOztBL0M2M1BMLGlEQUFpRDtBK0MxM1BqRDtFQUNJLG1CQUFrQjtFQUNsQixvQkFBbUIsRUFDdEI7O0EvQzQzUEQsaURBQWlEO0ErQzEzUGpEO0VBQ0ksY0FBYSxFQUNoQjs7QS9DNDNQRCxpREFBaUQ7QStDMTNQakQ7RUFDSSxlQUFjO0VBQ2Qsb0JBQW1CLEVBQ3RCOztBL0M0M1BELGtEQUFrRDtBK0MxM1BsRDtFQUNJLFdBQVUsRUFDYjs7QS9DNDNQRCxrREFBa0Q7QStDMTNQbEQ7RUFDSSx1QkFBc0IsRUFDekI7O0EvQzQzUEQsa0RBQWtEO0ErQzEzUGxEO0VBQ0ksaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxlQUFjLEVBQ2pCOztBL0M0M1BELGtEQUFrRDtBK0MxM1BsRDtFQUNJLHVCQUFzQjtFQUN0QixnQkFBZSxFQTZDbEI7RS9DKzBQQyxrREFBa0Q7RStDOTNQcEQ7SUFLUSxtQkFBa0IsRUFpQ3JCO0kvQzIxUEQsa0RBQWtEO0krQ2o0UHREO01BT1ksaUMzQ2w5QkcsRTJDcytCTjtNL0N5MlBILGtEQUFrRDtNK0NwNFB4RDtRQVVvQixvQzlDandCWTtROENrd0JaLGdCOUNydkJIO1E4Q3N2QkcsMEJBQXlCO1FBQ3pCLGUzQ3g5QkwsRTJDbytCRTtRL0NpM1BULGtEQUFrRDtRK0MxNFAxRDtVQWV3QiwwQjNDMTlCVDtVMkMyOUJTLGlCQUFnQjtVQUNoQixrQkFBaUI7VUFDakIsaUNBQXdCO2NBQXhCLDZCQUF3QjtrQkFBeEIseUJBQXdCO1VBQ3hCLFVBQVM7VUFDVCxTQUFRO1VBQ1IsbUJBQWtCO1VBQ2xCLFdBQVU7VUFDVixZQUFXLEVBQ2Q7SS9DNjNQakIsa0RBQWtEO0krQ3I1UHREO01BZ0N3QixrQ0FBeUI7VUFBekIsOEJBQXlCO2NBQXpCLDBCQUF5QjtNQUN6QixTQUFRLEVBQ1g7RS9DdTNQbkIsa0RBQWtEO0UrQ3o1UHBEO0lBd0NRLG1DOUNoeUIyQjtJOENveUIzQixnQkFBZSxFQUVsQjs7QS9DZzNQTCxrREFBa0Q7QStDNzJQbEQ7RUFFUSxvQzlDMXlCd0I7RThDMnlCeEIsZ0I5Qzl4QlM7RThDK3hCVCwwQkFBeUI7RUFDekIsZTNDamdDTyxFMkNrZ0NWOztBL0M4MlBMLGtEQUFrRDtBK0MzMlBsRDtFQUNJLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsaUJBQWdCLEVBQ25COztBL0M2MlBELGtEQUFrRDtBK0MzMlBsRDtFQUNJLFdBQVUsRUFDYjs7QS9DNjJQRCxrREFBa0Q7QStDLzZQbEQ7RUFxRUksZUFBYyxFQUNqQjs7QS9DNjJQRCxrREFBa0Q7QStDMzJQbEQ7RUFDSSxhQUFZLEVBQ2Y7O0EvQzYyUEQsa0RBQWtEO0ErQzMyUGxEO0VDM2pDSSwyQkFBMEI7RUFFNUIsc0JBQXFCO0VBRW5CLHVCQVQyQjtHQVkzQixxQkFBcUI7RUFDckIsUUFBTztHQUNQLGdCQUFnQjtFRG9qQ2hCLGVBQWM7RUFDZCx1QkFBc0IsRUFDekI7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEO0VBQ0ksV0FBVTtFQUNWLFlBQVcsRUFDZDs7QS9DazNQRCxrREFBa0Q7QStDaDNQbEQ7RUFDSSxhQUFZO0VBQ1osZ0JBQWUsRUFDbEI7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEO0VBQ0ksa0JBQWlCLEVBQ3BCOztBL0NrM1BELGtEQUFrRDtBK0NoM1BsRDtFQUNJLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFDckI7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEO0VBQ0ksaUJBQWdCLEVBQ25COztBL0NrM1BELGtEQUFrRDtBK0NoM1BsRDs7RUFFSSxZQUFXO0VBQ1gsZ0JBQWUsRUFDbEI7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEO0VBQ0ksZUFBYyxFQUNqQjs7QS9DazNQRCxrREFBa0Q7QStDaDNQbEQ7RUFDSSxvQkFBbUIsRUFDdEI7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEO0VBQ0ksVUFBUztFQUNULGdCOUNuMkJhLEU4Q28yQmhCOztBL0NrM1BELGtEQUFrRDtBK0NoM1BsRDtFQUVJLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFHakIsb0I5Q25qQ2M7RThDb2pDZCwrQkFBOEIsRUFDakM7O0EvQysyUEQsa0RBQWtEO0ErQzcyUGxEO0V0QzdsQ0ksWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXLEVzQzZsQ2Q7O0EvQ2kzUEQsa0RBQWtEO0ErQy8yUGxEOztFQUVJLGFBQVk7RUFDWixVQUFTO0VBQ1Qsa0I5QzFrQ007RThDMmtDTixVQUFTO0VBQ1QsY0FBYTtFQUNiLGU5Q3BoQ1ksRThDOGhDZjtFNUM3bUNPO0lIcTlSSixrREFBa0Q7SStDejNQdEQ7O01BVVEsWUFBVztNQUNYLFlBQVc7TUFDWCxrQkFBaUI7TUFDakIsb0JBQXdCO01BQ3hCLG9COUNwbENFO004Q3FsQ0YsaUM5Q3ArQm1CLEU4Q3MrQjFCLEVBQUE7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEO0VBQ0ksY0FBYTtFQUNiLGVBQWMsRUFDakI7O0EvQ2szUEQsa0RBQWtEO0ErQ2gzUGxEOztFQUVJLGU5Q3ZpQ1ksRThDd2lDZjs7QUFFRCx5SEFBeUg7QUFDekgsd0dBQXdHO0EvQ2kzUHhHLGtEQUFrRDtBK0NoM1BsRDtFQUNJLGNBQWE7RUFDYixhQUFZO0VBQ1osaUI5Q3htQ007RThDeW1DTixXQUFVLEVBQ2I7O0E1Q2hvQ087RUhtL1JOLGtEQUFrRDtFK0NoM1BoRDtJQUNJLGtCQUFpQixFQUtwQjtJL0M2MlBELGtEQUFrRDtJK0NuM1BsRDtNQUlRLGVBQWMsRUFDakIsRUFBQTs7QS9DazNQVCxrREFBa0Q7QStDOTJQbEQ7RUFDSSxZQUFXLEVBQ2Q7O0FBRUQ7O0dBRUc7QUFFSCxvQkFBb0I7QS9DODJQcEIsa0RBQWtEO0ErQzUyUGxEO0VBQ0ksc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFZDlyQ3JCLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsVUFBUztFQUNULFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsb0JBQW1CO0VjMnJDakIsZ0JBQWUsRUE0SWxCO0UvQ3V1UEMsa0RBQWtEO0UrQ3YzUHBEO0lBTVEsbUI5Q3huQ2EsRThDeW5DaEI7RS9DbTNQSCxrREFBa0Q7RStDMTNQcEQ7SUFVUSxvQkFBbUI7SUFDbkIsYUFBWSxFQVdmO0kvQ3cyUEQsa0RBQWtEO0krQzkzUHREO01kNXFDRSxvQ2hDaVA4QjtNZ0NoUDlCLGdCaEM2UGU7TWdDNVBmLGU3QjJCYTtNNkIxQmIsdUJBQXNCO01BQ3RCLGtCQUFpQjtNQUNqQixpQkFBZ0I7TWNzckNOLG1DOUMzOEJ1QjtNOEM0OEJ2QixpQkFBZ0I7TUFDaEIsbUJBQWtCO01BQ2xCLG9CQUFtQjtNQUNuQixnQkFBZTtNQUNmLG1CQUFrQixFQUNyQjtFL0N1M1BQLGtEQUFrRDtFK0M1NFBwRDtJQXlCUSxtQjlDM29DYSxFOEM0b0NoQjtFL0NxM1BILGtEQUFrRDtFK0MvNFBwRDtJQTZCUSxrQkFBaUIsRUFFcEI7RS9DbTNQSCxrREFBa0Q7RStDbDVQcEQ7SUFpQ1EsWUFBVztJQUNYLGlCQUFnQixFQUNuQjtFL0NtM1BILGtEQUFrRDtFK0N0NVBwRDtJQXNDUSxrQkFBaUIsRUFDcEI7RS9DazNQSCxrREFBa0Q7RStDejVQcEQ7SUEwQ1EsbUJBQWtCLEVBQ3JCO0UvQ2kzUEgsa0RBQWtEO0UrQzU1UHBEO0lBOENRLGtCQUFpQixFQWtCcEI7SS9DKzFQRCxrREFBa0Q7SStDLzVQdEQ7OztNQW1EWSxZQUFXO01BQ1gsaUJBQWdCLEVBUW5CO00vQ3kyUEgsa0RBQWtEO00rQ3I2UHhEOzs7UUF1RGdCLGVBQWM7UUFDZCxnQjlDNytCQTtROEM4K0JBLG1CQUFrQjtRQUNsQixrQkFBaUIsRUFDcEI7SS9DazNQVCxrREFBa0Q7SStDNzZQdEQ7TXRDM3BDSSxZQUFXO01BQ1gsZUFBYztNQUNkLFlBQVcsRXNDd3RDTjtFL0NtM1BQLGtEQUFrRDtFK0NsN1BwRDtJQWtFUSxjQUFhLEVBQ2hCO0UvQ2szUEgsa0RBQWtEO0UrQ3I3UHBEO0lBdUVZLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFFbkIsd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBb0VsQjtJL0M0eVBMLGtEQUFrRDtJK0MxN1B0RDtNQTZFZ0IsaUJBQWdCO01BQ2hCLG1CQUFrQjtNQUNsQixpQkFBZ0IsRUE4RG5CO00vQ2t6UFAsa0RBQWtEO00rQy83UHhEO1FBaUZvQixpQkFBZ0IsRUF1RG5CO1EvQzB6UFQsa0RBQWtEO1ErQ2w4UDFEO1VBbUZ3QixnQkFBZTtVQUNmLGFBQVksRUFRZjtVL0MwMlBYLGtEQUFrRDtVK0N0OFA1RDtZQXNGNEIsZ0JBQWU7WUFDZixhQUFZLEVBQ2Y7VS9DazNQZixrREFBa0Q7VStDMThQNUQ7WUEwRjRCLDBCQUF5QixFQUM1QjtRL0NrM1BqQixrREFBa0Q7UStDNzhQMUQ7VUErRndCLFlBQVc7VUFDWCxpQkFBZ0I7VUFDaEIsMEIzQ2h2Q1Q7VTJDaXZDUyxZQUFXO1VBQ1gsaUJBQWdCO1VBQ2hCLHNCQUFhO1VBQWIscUJBQWE7VUFBYixjQUFhO1VBQ2IsdUNBQThCO2NBQTlCLHVCQUE4QjtrQkFBOUIsK0JBQThCLEVBa0NqQztVL0MrMFBYLGtEQUFrRDtVK0N0OVA1RDtZQXVHNEIsb0IzQ3R2Q2I7WTJDdXZDYSxlM0NudkNiLEUyQzB2Q1U7WS9DMjJQYixrREFBa0Q7WStDMTlQOUQ7Y0EwR2dDLGUzQ3J2Q2pCLEUyQ3N2Q2M7WS9DazNQakIsa0RBQWtEO1krQzc5UDlEO2NBNkdnQyxlM0N4dkNqQixFMkN5dkNjO1UvQ2szUG5CLGtEQUFrRDtVK0NoK1A1RDtZQWlINEIsb0M5QzVpQ0k7WThDNmlDSixnQjlDcGlDZjtZOENxaUNlLDJCQUEwQjtZQUMxQixtQkFBa0I7WUFDbEIsYUFBWTtZQUNaLG1CQUFrQjtZQUNsQixlQUFjO1lBQ2QsaUJBQWdCO1lBQ2hCLHVCQUFzQixFQUl6QjtZL0M4MlBiLGtEQUFrRDtZK0MzK1A5RDtjQTJIZ0MsZTNDMXdDakIsRTJDMndDYztVL0NrM1BuQixrREFBa0Q7VStDOStQNUQ7WUFnSWdDLGVBQWMsRUFLakI7WS9DNDJQakIsa0RBQWtEO1krQ2ovUDlEO2NkNXFDRSxvQ2hDaVA4QjtjZ0NoUDlCLGdCaEM2UGU7Y2dDNVBmLGU3QjJCYTtjNkIxQmIsdUJBQXNCO2NBQ3RCLGtCQUFpQjtjQUNqQixpQkFBZ0I7Y2MweUNrQixrQkFBaUIsRUFDcEI7TS9DczNQM0Isa0RBQWtEO00rQzEvUHhEO1FBMElvQixvQkFBbUI7UUFDbkIsaUJBQWdCLEVBQ25COztBQU1qQjs7R0FFRztBL0M4MlBILGtEQUFrRDtBK0M1MlBsRDtFQUNJLGlCOUMvd0NvQixFOENveEN2QjtFL0N5MlBDLGtEQUFrRDtFK0MvMlBwRDtJQUlRLGNBQWEsRUFDaEI7O0E1Q2p6Q0c7RUhncVNOLGtEQUFrRDtFK0MzMlBoRDtJQUNJLFlBQVc7SUFDWCxjQUFhO0lBQ2IsbUJBQWtCLEVBT3JCO0kvQ3MyUEQsa0RBQWtEO0krQ2gzUGxEO01BS1Esc0JBQXFCLEVBQ3hCO0kvQzYyUEwsa0RBQWtEO0krQ24zUGxEO01BUVEsc0JBQXFCLEVBQ3hCLEVBQUE7O0E1Qzl6Q0Q7RUg2cVNOLGtEQUFrRDtFK0N4M1BoRDtJQWVJLFlBQVc7SUFDWCxjQUFhO0lBQ2IsbUJBQWtCLEVBT3JCO0kvQ3EyUEQsa0RBQWtEO0krQzczUGxEO01BbUJRLHNCQUFxQixFQUN4QjtJL0M0MlBMLGtEQUFrRDtJK0NoNFBsRDtNQXNCUSxzQkFBcUIsRUFDeEI7RS9DNDJQUCxrREFBa0Q7RStDMTJQaEQ7SUFHUSxlQUFjLEVBb0JqQjtJL0NzMVBMLGtEQUFrRDtJK0M3MlBsRDtNQWVZLGVBQWMsRUFPakI7RS9DMDFQWCxrREFBa0Q7RStDcHNTcEQ7SUE2MkNZLGlCQUFnQjtJQUNoQixlQUFjLEVBb0JqQjtJL0NzMFBMLGtEQUFrRDtJK0NwM1BsRDtNQTRCWSxnQkFBZTtNQUNmLG1CQUFrQjtNQUNsQixVQUFTO01BQ1Qsc0NBQTZCO1VBQTdCLGtDQUE2QjtjQUE3Qiw4QkFBNkI7TUFDN0IsT0FBTSxFQUNUO0kvQzAxUFQsa0RBQWtEO0krQy9zU3REO01BdTNDZ0IsaUJBQWdCO01BQ2hCLHFCQUFvQjtNQUNwQixpQzNDNTJDRDtNMkM2MkNDLGVBQWMsRUFPakI7TS9DbzFQUCxrREFBa0Q7TStDcnRTeEQ7UUE0M0NvQix5QkFBZ0I7WUFBaEIsOEJBQWdCO2dCQUFoQixpQkFBZ0IsRUFJbkI7US9DdzFQVCxrREFBa0Q7UStDcDRQdEQ7VUEwQ29CLGdCQUFlLEVBQ2xCO0UvQzQxUG5CLGtEQUFrRDtFK0NuelJwRDtJQTQ5QlksbUJBQWtCLEVBV3JCO0kvQyswUEwsa0RBQWtEO0krQ3R6UnREO01BODlCZ0IsYUFBWTtNQUNaLDBCM0MxM0NEO00yQzIzQ0MsZTNDdjNDRDtNMkN3M0NDLGFBQVksRUFLZjtNL0NzMVBQLGtEQUFrRDtNaUNsdFN0RDtRY3kzQ2tCLDBCM0MxM0NMO1EyQzIzQ0ssZTNDLzNDTCxFMkNnNENFLEVBQUE7O0FBTWpCOztHQUVHO0EvQ3UxUEgsa0RBQWtEO0ErQ3IxUGxEO0VBR1EsdUJBQXNCLEVBQ3pCOztBL0NxMVBMLGtEQUFrRDtBK0N6MVBsRDtFQU9RLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsWUFBVyxFQUtkO0UvQ2cxUEgsa0RBQWtEO0UrQzkxUHBEO0lBWVksd0JBQXVCLEVBQzFCOztBL0NxMVBULGtEQUFrRDtBK0NsMlBsRDtFQWlCUSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CLEVBNE90QjtFL0N3bVBILGtEQUFrRDtFK0N0MlBwRDtJQW9CWSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix3QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZTtJQUNmLHVDQUE4QjtRQUE5Qix1QkFBOEI7WUFBOUIsK0JBQThCO0lBQzlCLHFCQUFvQixFQXdDdkI7SS9DNnlQTCxrREFBa0Q7SStDNzJQdEQ7TUEwQmdCLFVBQVM7TUFDVCwyQkFBa0I7VUFBbEIsNEJBQWtCO2tCQUFsQiwyQkFBa0I7Y0FBbEIsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixpQkFBZ0I7TUFDaEIsWUFBVztNQUNYLGdCQUFlO01BQ2YsbUJBQWtCLEVBQ3JCO0kvQ3ExUFQsa0RBQWtEO0krQ3QzUHREO01BbUNnQixZQUFXO01BQ1gsYUFBWTtNQUNaLDBCM0MvNkNEO00yQ2c3Q0MsbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxXQUFVLEVBb0JiO00vQ2swUFAsa0RBQWtEO00rQzkzUHhEO1FBMENvQixTQUFRLEVBTVg7US9DaTFQVCxrREFBa0Q7UStDajRQMUQ7VUE2Q3dCLGtDQUF5QjtjQUF6Qiw4QkFBeUI7a0JBQXpCLDBCQUF5QjtVQUN6QixrQkFBaUIsRUFDcEI7TS9DczFQZixrREFBa0Q7TStDcjRQeEQ7UUFrRG9CLFdBQVU7UUFDVixZQUFXO1FBQ1gsMEIzQzk3Q0w7UTJDKzdDSyxhQUFZO1FBQ1osb0JBQW1CO1FBQ25CLG1CQUFrQjtRQUVsQixrQ0FBeUI7WUFBekIsOEJBQXlCO2dCQUF6QiwwQkFBeUI7UUFDekIsZ0JBQWUsRUFDbEI7SS9DbzFQYixrREFBa0Q7SStDLzRQdEQ7TUE4RGdCLHdCQUF1QixFQUMxQjtFL0NtMVBYLGtEQUFrRDtFK0NsNVBwRDtJQWtFWSxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0IsRUFtQ3pCO0kvQ2d6UEwsa0RBQWtEO0krQ3g1UHREO01BdUVnQixnQjlDcHZDSCxFOENxdkNBO0kvQ20xUFQsa0RBQWtEO0krQzM1UHREO01BMEVnQixpQkFBZ0I7TUFDaEIsZ0I5Q3R2Q0Q7TWdDNVBiLG9DaENpUDhCO01nQ2hQOUIsZ0JoQzZQZTtNZ0M1UGYsZTdCMkJhO002QjFCYix1QkFBc0I7TUFDdEIsa0JBQWlCO01BQ2pCLGlCQUFnQixFY3MvQ0w7TS9DaTFQUCxrREFBa0Q7TStDcjZQeEQ7UUE4RW9CLG9DOUNwd0NZO1E4Q3F3Q1osa0JBQWlCLEVBSXBCO1EvQ3MxUFQsa0RBQWtEO1ErQ3o2UDFEO1VBaUZ3QixnQjlDMXZDUCxFOEMydkNJO0kvQzAxUGpCLGtEQUFrRDtJK0M1NlB0RDtNQXNGZ0IsYUFBWSxFQUNmO0kvQ3cxUFQsa0RBQWtEO0krQy82UHREO01BeUZnQixpQkFBZ0IsRUFDbkI7SS9DdzFQVCxrREFBa0Q7SStDbDdQdEQ7TUE0RmdCLGlCQUFnQixFQVduQjtNL0M4MFBQLGtEQUFrRDtNK0NyN1B4RDtRQThGb0Isc0JBQWE7UUFBYixxQkFBYTtRQUFiLGNBQWE7UUFDYiw0QkFBbUI7WUFBbkIsd0JBQW1CO2dCQUFuQixvQkFBbUI7UUFDbkIsaUJBQWdCLEVBTW5CO1EvQ28xUFQsa0RBQWtEO1ErQzE3UDFEO1VBa0d3QixZQUFXO1VBQ1gsYUFBWTtVQUNaLGVBQWMsRUFDakI7RS9DMDFQbkIsa0RBQWtEO0UrQy83UHBEO0lBMEdZLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsa0JBQWlCLEVBQ3BCO0UvQ3UxUFAsa0RBQWtEO0UrQ3A4UHBEO0lBZ0hnQixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHVDQUE4QjtRQUE5Qix1QkFBOEI7WUFBOUIsK0JBQThCLEVBS2pDO0kvQ2sxUFQsa0RBQWtEO0krQ3g4UHREO01BbUhvQixlQUFjO01BQ2QsZ0I5Qzd4Q0gsRThDOHhDQTtFL0N1MVBmLGtEQUFrRDtFK0M1OFBwRDtJQXlIb0IsbUM5Q2h6Q2U7SThDaXpDZixnQjlDcHlDSjtJOENxeUNJLDBCQUF5QjtJQUN6QixvQkFBbUIsRUFDdEI7RS9DcTFQZixrREFBa0Q7RStDbDlQcEQ7SUFrSW9CLHFCQUFvQjtJQUNwQixvQkFBbUI7SUFDbkIsaUMzQzlnREw7STJDK2dESyxvQzlDM3pDWTtJOEM0ekNaLGdCOUNuekNQO0k4Q296Q08sa0JBQWlCO0lBQ2pCLG9CQUFtQixFQXdHdEI7SS9DMnVQYixrREFBa0Q7SStDMzlQdEQ7TUFnSXdCLGNBQWEsRUFDaEI7SS9DNjFQakIsa0RBQWtEO0krQzk5UHREO01BMEl3QixjQUFhO01BQ2IsT0FBTTtNQUNOLFFBQU87TUFDUCxZQUFXO01BQ1gsYUFBWTtNQUNaLGNBQWE7TUFDYixpQkFBZ0I7TUFDaEIsZ0JBQWU7TUFDZixvQjNDNWhEVDtNMkM2aERTLFlBQVcsRUFDZDtJL0NzMVBqQixrREFBa0Q7SStDMStQdEQ7TUFzSndCLGNBQWE7TUFDYixPQUFNO01BQ04sUUFBTztNQUNQLFlBQVc7TUFDWCxhQUFZO01BQ1osY0FBYTtNQUNiLGdCQUFlO01BQ2YseUJBQXdCO01BQ3hCLG1CQUFrQixFQW9DckI7TS9DbXpQZixrREFBa0Q7TStDci9QeEQ7UUFnSzRCLFlBQVc7UUFDWCxzQkFBcUI7UUFFckIsdUJBQXNCLEVBQ3pCO00vQ3MxUG5CLGtEQUFrRDtNK0MxL1B4RDtRQXNLNEIsa0RBQWlEO1FBQ2pELDRCQUEyQjtRQUMzQiw2QkFBNEI7UUFDNUIsc0JBQXFCO1FBQ3JCLGtCQUFpQjtRQUNqQixvQkFBbUI7UUFDbkIsWUFBVztRQUNYLG1CQUFrQjtRQUNsQixPQUFNO1FBQ04sU0FBUSxFQUNYO00vQ3MxUG5CLGtEQUFrRDtNK0N0Z1F4RDtRQWtMNEIsbUJBQWtCO1FBQ2xCLHNCQUFxQjtRQUNyQix1QkFBc0I7UUFDdEIsZUFBYztRQUNkLGlCQUFnQjtRQUNoQixjQUFhO1FBQ2IsMEIzQzlqRGI7UTJDK2pEYSxjQUFhO1FBQ2IsMEIzQ3BrRGI7UTJDcWtEYSxTQUFRO1FBQ1Isc0NBQTZCO1lBQTdCLGtDQUE2QjtnQkFBN0IsOEJBQTZCLEVBS2hDO1EvQ2sxUGpCLGtEQUFrRDtRK0NuaFExRDtVZHY2Q0Usb0NoQ2lQOEI7VWdDaFA5QixnQmhDNlBlO1VnQzVQZixlN0IyQmE7VTZCMUJiLHVCQUFzQjtVQUN0QixrQkFBaUI7VUFDakIsaUJBQWdCO1VBSWhCLGtCQUFpQjtVQUNqQixvQkFBbUI7VUFDbkIsaUJBQWdCLEVjNGxEVztJL0M4MVB6QixrREFBa0Q7SStDOWhRdEQ7TUFvTXdCLGdCQUFlO01BQ2YsZ0JBQWU7TWQ1bURyQyxvQ2hDaVA4QjtNZ0NoUDlCLGdCaEM2UGU7TWdDNVBmLGU3QjJCYTtNNkIxQmIsdUJBQXNCO01BQ3RCLGtCQUFpQjtNQUNqQixpQkFBZ0I7TUFJaEIsa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixpQkFBZ0I7TWNvbURNLDBCQUF5QjtNQUN6QixtQkFBa0IsRUFDckI7SS9DbTJQakIsa0RBQWtEO0krQzdpUXREO01BNE13QixvQkFBbUIsRUFtQ3RCO00vQ2kwUGYsa0RBQWtEO00rQ2hqUXhEO1FBOE00QixvQzlDcDRDSTtROENxNENKLGdCOUN4M0NYLEU4Q3kzQ1E7TS9DbzJQbkIsa0RBQWtEO00rQ3BqUXhEO1FBa040QixzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLDRCQUFtQjtZQUFuQix3QkFBbUI7Z0JBQW5CLG9CQUFtQixFQTJCdEI7US9DMDBQakIsa0RBQWtEO1ErQ3hqUTFEO1VBcU5nQyxtQkFBa0I7VUFDbEIsYUFBWTtVQUNaLFlBQVc7VUFFWCxnQkFBZTtVQUNmLG9CQUFtQjtVQUNuQiw4QkFBcUI7Y0FBckIsb0JBQXFCO2tCQUFyQixzQkFBcUI7VUFDckIsd0JBQWU7Y0FBZixvQkFBZTtrQkFBZixnQkFBZTtVQUNmLDBCM0NubURqQixFMkNvbURjO1EvQ28yUHJCLGtEQUFrRDtRK0Nsa1ExRDtVQWdPZ0Msc0JBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWE7VUFDYiw0QkFBbUI7Y0FBbkIsd0JBQW1CO2tCQUFuQixvQkFBbUI7VUFDbkIsZ0NBQXVCO2NBQXZCLHNCQUF1QjtrQkFBdkIsd0JBQXVCO1VBQ3ZCLDRCQUFtQjtjQUFuQix1QkFBbUI7a0JBQW5CLG9CQUFtQjtVQUNuQixxQkFBWTtjQUFaLHFCQUFZO2tCQUFaLGFBQVk7VUFDWixhQUFZO1VBQ1osZ0JBQWUsRUFJbEI7VS9DaTJQbkIsa0RBQWtEO1UrQzNrUTVEO1lBd09vQyxpQkFBZ0IsRUFDbkI7US9DcTJQekIsa0RBQWtEO1ErQzlrUTFEO1VBNE9nQywwQkFBeUIsRUFDNUI7RS9DbzJQM0Isa0RBQWtEO0UrQ2psUXBEO0lBa1BvQixpQkFBZ0IsRUFDbkI7RS9DaTJQZixrREFBa0Q7RStDcGxRcEQ7SUF1UFksWUFBVztJQUNYLGlCQUFnQixFQUtuQjtJL0MyMVBMLGtEQUFrRDtJK0N4bFF0RDtNQTBQZ0IsaUJBQWdCO01BQ2hCLGlCQUFnQixFQUNuQjs7QS9DaTJQYixrREFBa0Q7QStDN2xRbEQ7RUFpUVEsV0FBVSxFQUtiO0UvQzAxUEgsa0RBQWtEO0UrQ2htUXBEO0lBb1FZLFlBQVcsRUFDZDs7QS9DKzFQVCxrREFBa0Q7QStDcG1RbEQ7RUF5UVEsV0FBVSxFQUNiOztBL0M4MVBMLGtEQUFrRDtBK0N4bVFsRDtFQTZRUSxpQkFBZ0IsRUEwRW5CO0UvQ294UEgsa0RBQWtEO0UrQzNtUXBEO0lBK1FZLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIscUJBQW9CO0lBQ3BCLGtCQUFpQixFQTREcEI7SS9DbXlQTCxrREFBa0Q7SStDam5RdEQ7TUFvUmdCLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0I7TUFDdEIsaUJBQWdCLEVBa0JuQjtNL0M4MFBQLGtEQUFrRDtNK0N0blF4RDtRQXdSb0IsaUJBQVE7WUFBUixrQkFBUTtnQkFBUixTQUFRLEVBQ1g7TS9DZzJQWCxrREFBa0Q7TStDem5ReEQ7UUEyUm9CLFlBQVc7UUFJWCxVQUFTO1FBQ1Qsb0JBQW1CO1FBQ25CLGVBQWM7UUFDZCxpQkFBUTtZQUFSLGtCQUFRO2dCQUFSLFNBQVEsRUFDWDtNL0M2MVBYLGtEQUFrRDtNK0Nob1F4RDtRQXFTb0IsaUJBQWdCO1FBQ2hCLGlCQUFRO1lBQVIsa0JBQVE7Z0JBQVIsU0FBUSxFQUNYO0kvQzYxUGIsa0RBQWtEO0krQ3BvUXREO01BMFNnQixXQUFVO01BQ1Ysa0JBQWlCLEVBSXBCO00vQ3kxUFAsa0RBQWtEO00rQ3hvUXhEO1FBNlNvQixZQUFXLEVBQ2Q7SS9DNjFQYixrREFBa0Q7SStDM29RdEQ7TUFpVGdCLFdBQVU7TUFDVixrQkFBaUI7TUFDakIsaUJBQWdCLEVBcUJuQjtNL0N3MFBQLGtEQUFrRDtNK0NocFF4RDtRQXFUb0IsZUFBYztRQUNkLG9CQUFtQjtRZDd0RHJDLG9DaENpUDhCO1FnQ2hQOUIsZ0JoQzZQZTtRZ0M1UGYsZTdCMkJhO1E2QjFCYix1QkFBc0I7UUFDdEIsa0JBQWlCO1FBQ2pCLGlCQUFnQjtRYzB0REUsMEJBQXlCO1FBQ3pCLGdCOUNuK0NKLEU4Q28rQ0M7TS9DazJQWCxrREFBa0Q7TStDNXBReEQ7UUE0VG9CLG9CQUFtQjtRZDF1RHJDLG1DaEN1UGlDO1FnQ3RQakMsbUJBQWtCO1FBQ2xCLGU3QmtDYTtRNkJqQ2IsZ0JoQ3lQZ0I7UThDZy9DRSx3QkFBdUI7UUFDdkIsbUJBQWtCO1FBQ2xCLGdCOUNqL0NIO1E4Q2svQ0csMEJBQXlCLEVBQzVCO00vQ3EyUFgsa0RBQWtEO00rQ3ZxUXhEO1FkdjZDRSxvQ2hDaVA4QjtRZ0NoUDlCLGdCaEM2UGU7UWdDNVBmLGU3QjJCYTtRNkIxQmIsdUJBQXNCO1FBQ3RCLGtCQUFpQjtRQUNqQixpQkFBZ0I7UWN1dURFLGdCOUNsL0NQO1E4Q20vQ08sa0JBQWlCLEVBQ3BCO0kvQzAyUGIsa0RBQWtEO0krQ2pyUXREO01BMFVnQixXQUFVO01BQ1YsYUFBWTtNQUNaLGlCQUFnQixFQUNuQjtFL0N5MlBYLGtEQUFrRDtFK0N0clFwRDtJQWdWWSxnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixnQkFBZSxFQUlsQjtJL0NxMlBMLGtEQUFrRDtJK0MzclF0RDtNQW9WZ0Isa0JBQ0osRUFBQzs7QTVDdHVETDtFSGlsVE4sa0RBQWtEO0UrQzM3UXBEO0lBdWxCUSxrQ0FBeUI7UUFBekIsbUJBQXlCO1lBQXpCLDBCQUF5QixFQU81QjtJL0NnMlBELGtEQUFrRDtJK0M5N1F0RDtNQXlsQlksaUJBQWdCLEVBQ25CO0kvQ3UyUEwsa0RBQWtEO0krQzMyUGxEO01BTVEsY0FBYSxFQUNoQjtFL0N1MlBQLGtEQUFrRDtFK0NobVRwRDtJQTR2RFEsaUJBQWdCLEVBQ25CLEVBQUE7O0E1Q3Z2REc7RUgrbFROLGtEQUFrRDtFK0NybVRwRDtJQWt3RFEseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFJbkI7SS9DazJQRCxrREFBa0Q7SStDeG1UdEQ7TUFvd0RZLGdCQUFlLEVBQ2xCO0UvQ3MyUFAsa0RBQWtEO0UrQ3B0UXBEO0lBa1hZLGdCQUFlO0lBQ2YsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsY0FBYSxFQThDaEI7SS9DdXpQTCxrREFBa0Q7SStDejJQbEQ7TUFNWSxZQUFXLEVBQ2Q7SS9DcTJQVCxrREFBa0Q7SStDNXRRdEQ7TUF5WGdCLFlBQVcsRUFjZDtNL0N3MVBQLGtEQUFrRDtNK0MvdFF4RDtRQTJYb0IsYUFBWTtRQUNaLDBCM0N0d0RMO1EyQ3V3REssZTNDbndETCxFMkN3d0RFO1EvQ2syUFQsa0RBQWtEO1ErQ3AzUHREO1VBZW9CLDBCM0Nyd0RUO1UyQ3N3RFMsZTNDMXdEVCxFMkMyd0RNO00vQ3UyUGYsa0RBQWtEO00rQ3h1UXhEO1FBb1lvQixhQUFZO1FBQ1osaUJBQWdCLEVBQ25CO0kvQ3MyUGIsa0RBQWtEO0krQzUzUGxEO01BeUJZLFlBQVc7TUFDWCxpQkFBZ0IsRUFjbkI7TS9DdzFQUCxrREFBa0Q7TStDaDRQcEQ7UUE0QmdCLGNBQWEsRUFDaEI7TS9DczJQWCxrREFBa0Q7TStDbjRQcEQ7UUErQmdCLGVBQWMsRUFDakI7TS9DczJQWCxrREFBa0Q7TStDdDRQcEQ7UUFvQ3dCLFdBQVUsRUFDYjtJL0NvMlByQixrREFBa0Q7SStDenZRdEQ7TUEwWmdCLCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCLEVBQ3pCO0kvQ2kyUFQsa0RBQWtEO0krQzU0UGxEO01BNkNZLFlBQVcsRUFDZDtJL0NpMlBULGtEQUFrRDtJK0MvdlF0RDtNQWdhZ0IsWUFBVyxFQUNkO0UvQ2kyUFgsa0RBQWtEO0UrQ2x3UXBEO0lBb2FZLGNBQWEsRUFtRWhCO0kvQzh4UEwsa0RBQWtEO0krQ3J3UXREO01Bc2FnQiwrQkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQjtNQUN0QixpQkFBZ0I7TUFDaEIsZUFBYyxFQThEakI7TS9Db3lQUCxrREFBa0Q7TStDMTVQcEQ7UUEwRGdCLCtCQUFzQjtZQUF0QiwyQkFBc0I7Z0JBQXRCLHVCQUFzQixFQUN6QjtNL0NrMlBYLGtEQUFrRDtNK0M3NVBwRDtRQTZEZ0IsdUNBQThCO1lBQTlCLG1DQUE4QjtnQkFBOUIsK0JBQThCLEVBQ2pDO00vQ2syUFgsa0RBQWtEO00rQ2h4UXhEO1FBZ2JvQixZQUFXO1FBQ1gsV0FBVTtRQUNWLFVBQVMsRUFJWjtRL0MrMVBULGtEQUFrRDtRK0NyeFExRDtVQW9id0Isb0JBQW1CLEVBQ3RCO00vQ20yUGYsa0RBQWtEO00rQ3h4UXhEO1FBd2JvQixZQUFXO1FBQ1gsV0FBVTtRQUNWLFVBQVM7UUFDVCxtQkFBa0IsRUFJckI7US9DKzFQVCxrREFBa0Q7UStDOXhRMUQ7VUE2YndCLGlCQUFnQixFQUNuQjtNL0NtMlBmLGtEQUFrRDtNK0NqeVF4RDtRQWljb0IsaUJBQWdCO1FBQ2hCLGlCQUFnQixFQW1DbkI7US9DZzBQVCxrREFBa0Q7UStDcnlRMUQ7VUFvY3dCLGlCQUFRO2NBQVIsa0JBQVE7a0JBQVIsU0FBUTtVQUNSLG1CQUFrQjtVQUNsQixpQkFBZ0I7VUFDaEIsWUFBVztVQUNYLFVBQVM7VUFDVCxvQ0FBMkI7Y0FBM0IsZ0NBQTJCO2tCQUEzQiw0QkFBMkIsRUFDOUI7US9DbTJQYixrREFBa0Q7UStDN3lRMUQ7VUE0Y3dCLG1CQUFrQjtVQUNsQixpQkFBUTtjQUFSLGtCQUFRO2tCQUFSLFNBQVE7VUFDUixVQUFTO1VBQ1QsWUFBVztVQUNYLHFCQUFvQixFQUN2QjtRL0NtMlBiLGtEQUFrRDtRK0NwelExRDtVQW1kd0IsaUJBQVE7Y0FBUixrQkFBUTtrQkFBUixTQUFRO1VBQ1IsaUJBQWdCO1VBQ2hCLG1CQUFrQjtVQUNsQixpQkFBZ0IsRUFjbkI7VS9DczFQWCxrREFBa0Q7VStDMThQeEQ7WUF3R3dCLGdCQUFlO1lBQ2YsbUJBQWtCO1lBQ2xCLFVBQVM7WUFDVCxzQ0FBNkI7Z0JBQTdCLGtDQUE2QjtvQkFBN0IsOEJBQTZCO1lBQzdCLE9BQU0sRUFDVDtVL0NvMlBmLGtEQUFrRDtVK0NqOVB4RDtZQStHd0IsaUJBQWdCLEVBSW5CO1kvQ2kyUGIsa0RBQWtEO1krQ3A5UDFEO2NBaUg0Qix5QkFBZ0I7a0JBQWhCLDhCQUFnQjtzQkFBaEIsaUJBQWdCLEVBQ25CO0UvQ3EyUDNCLGtEQUFrRDtFK0N2OVBoRDtJQTBIWSxnQkFBZTtJQUNmLGlCQUFnQixFQUNuQjtFL0MrMVBYLGtEQUFrRDtFK0MzOVBoRDtJQThIWSxZQUFXO0lBQ1gsYUFBWTtJQUNaLDBCM0MxM0REO0kyQzIzREMsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxXQUFVLEVBb0JiO0kvQzQwUFQsa0RBQWtEO0krQ24rUGxEO01BcUlnQixTQUFRLEVBTVg7TS9DMjFQWCxrREFBa0Q7TStDdCtQcEQ7UUF3SW9CLGtDQUF5QjtZQUF6Qiw4QkFBeUI7Z0JBQXpCLDBCQUF5QjtRQUN6QixrQkFBaUIsRUFDcEI7SS9DZzJQakIsa0RBQWtEO0krQzErUGxEO01BNklnQixXQUFVO01BQ1YsWUFBVztNQUNYLDBCM0N6NERMO00yQzA0REssYUFBWTtNQUNaLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFFbEIsa0NBQXlCO1VBQXpCLDhCQUF5QjtjQUF6QiwwQkFBeUI7TUFDekIsZ0JBQWUsRUFDbEI7RS9DODFQZixrREFBa0Q7RStDcC9QaEQ7SUF5Slksd0JBQXVCLEVBQzFCO0UvQzYxUFgsa0RBQWtEO0UrQ3YvUGhEO0lBNkpRLDBCQUF5QixFQUM1QjtFL0M0MVBQLGtEQUFrRDtFK0MxL1BoRDtJQWdLUSxjQUFhLEVBQ2hCO0UvQzQxUFAsa0RBQWtEO0UrQzcvUGhEO0lBb0tZLGNBQWEsRUFDaEI7RS9DMjFQWCxrREFBa0Q7RStDaGdRaEQ7SUF1S1ksWUFBVyxFQUlkO0kvQ3cxUFQsa0RBQWtEO0krQ25nUWxEO01BeUtnQixrQkFBaUIsRUFDcEI7RS9DNDFQZixrREFBa0Q7RStDdGdRaEQ7SUE4S1Esb0JBQW1CLEVBQ3RCLEVBQUE7O0FBWVQ7O0dBRUc7QS9DZzFQSCxrREFBa0Q7QStDOTBQbEQ7RUFDSSxjQUFhLEVBQ2hCOztBNUNsOERPO0VIbXhUTixrREFBa0Q7RStDbjFQcEQ7SUFNUSxlQUFjLEVBQ2pCO0UvQyswUEgsa0RBQWtEO0UrQzkwUGhEO0lBQ0ksY0FBYSxFQUNoQjtFL0MrMFBILGtEQUFrRDtFK0M5MFBoRDtJQUdZLGVBQWMsRUFJakI7SS9DMDBQVCxrREFBa0Q7SStDbGxTbEQ7TUFzd0NnQixjQUFhLEVBQ2hCO0UvQzgwUGYsa0RBQWtEO0UrQ2orU3BEO0lBc3BEZ0IsbUJBQWtCO0lBQ2xCLG1CQUFrQixFQUNyQjtFL0M2MFBYLGtEQUFrRDtFK0N4MVBoRDtJQWFZLFlBQVc7SUFDWCxhQUFZO0lBQ1osd0JBQXVCO0lBQ3ZCLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsV0FBVSxFQWtCYjtJL0M0elBULGtEQUFrRDtJK0NoMlBsRDtNQW9CZ0IsU0FBUSxFQUtYO00vQzAwUFgsa0RBQWtEO00rQ24yUHBEO1FBc0JvQixrQ0FBeUI7WUFBekIsOEJBQXlCO2dCQUF6QiwwQkFBeUI7UUFDekIsa0JBQWlCLEVBQ3BCO0kvQyswUGpCLGtEQUFrRDtJK0N2MlBsRDtNQTJCZ0IsV0FBVTtNQUNWLFlBQVc7TUFDWCx3QkFBdUI7TUFDdkIsYUFBWTtNQUNaLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFDbEIsa0NBQXlCO1VBQXpCLDhCQUF5QjtjQUF6QiwwQkFBeUI7TUFDekIsZ0JBQWUsRUFDbEI7RS9DODBQZixrREFBa0Q7RStDajNQaEQ7SUF1Q1Esd0JBQXVCLEVBQzFCO0UvQzQwUFAsa0RBQWtEO0UrQ3AzUGhEO0lBMENRLDBCQUF5QixFQUM1QjtFL0M0MFBQLGtEQUFrRDtFK0N4MFRwRDtJQWtnRW9CLGlCQUFnQjtJQUNoQixtQkFBa0IsRUFDckI7RS9DdzBQZixrREFBa0Q7RStDOTBQaEQ7SUFTWSxtQkFBa0I7SUFDbEIsYUFBWSxFQUNmO0UvQ3UwUFgsa0RBQWtEO0UrQ2wxUGhEO0lBY2dCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsWUFBVztJQUNYLG1CQUFrQjtJQUNsQix3QkFBdUI7SUFDdkIseUNBQXdDO0lBQ3hDLHVDQUE4QjtRQUE5Qix1QkFBOEI7WUFBOUIsK0JBQThCLEVBTWpDO0kvQ2kwUGIsa0RBQWtEO0krQzMxUGxEO01BdUJ3QiwwQkFBeUIsRUFDNUI7RS9DczBQdkIsa0RBQWtEO0UrQzkxUGhEO0lBNEJnQixZQUFXLEVBZWQ7SS9Dc3pQYixrREFBa0Q7SStDajJQbEQ7TUE4Qm9CLGNBQWEsRUFDaEI7SS9DcTBQakIsa0RBQWtEO0krQ3AyUGxEO01BaUNvQixlQUFjLEVBQ2pCO0kvQ3EwUGpCLGtEQUFrRDtJK0N2MlBsRDtNQW9Db0IsYUFBWTtNQUNaLGtCQUFpQjtNQUNqQixrQkFBaUI7TUFDakIsY0FBYTtNQUNiLFlBQVc7TUFDWCxrQkFBaUIsRUFDcEI7RS9DcTBQbkIsa0RBQWtEO0UrQ3I4U3BEO0lBcW9EWSxZQUFXLEVBQ2Q7RS9DazBQUCxrREFBa0Q7RStDaDNUcEQ7SUFnakVZLG9CQUFtQixFQUN0QjtFL0NrMFBQLGtEQUFrRDtFK0NucFRwRDtJQXExRFksZUFBYztJQUNkLG9CQUFtQixFQWlCdEI7SS9DZ3pQTCxrREFBa0Q7SStDcDBQbEQ7TWRubEVGLGFBQVk7TUFDWixtQkFBa0I7TUFDbEIsVUFBUztNQUNULFdBQVU7TUFDVixtQkFBa0I7TUFDbEIsb0JBQW1CLEVjd2xFUjtNL0NrMFBQLGtEQUFrRDtNK0M1MFBwRDtRQU9nQixZQUFXO1FBQ1gsYUFBWSxFQUNmO0kvQ3UwUGIsa0RBQWtEO0krQ25xVHREO01BKzFEZ0IsZ0JBQWU7TUFDZixpQkFBZ0IsRUFDbkI7SS9DczBQVCxrREFBa0Q7SStDcDFQbEQ7TUFpQmdCLFlBQVcsRUFDZDtFL0NxMFBmLGtEQUFrRDtFK0N2MVBoRDtJQXNCUSwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQixFQWlCekI7SS9DbXpQTCxrREFBa0Q7SStDMTFQbEQ7TUF3Qlksb0JBQW1CO01BQ25CLG1CQUFrQjtNQUNsQixZQUFXLEVBS2Q7TS9DZzBQUCxrREFBa0Q7TStDLzFQcEQ7UUE0QmdCLGdCQUFlO1FBQ2YsZ0JBQWUsRUFDbEI7SS9DcTBQYixrREFBa0Q7SStDbjJQbEQ7TUFpQ1ksWUFBVyxFQUtkO00vQ2cwUFAsa0RBQWtEO00rQ3QyUHBEO1FBbUNnQixnQkFBZTtRQUNmLGVBQWMsRUFDakI7RS9DcTBQZixrREFBa0Q7RStDMTJQaEQ7SUF5Q1EsY0FBYSxFQUNoQixFQUFBOztBNUN2bEVEO0VINDVUTixrREFBa0Q7RStDdHdScEQ7SUF1OEJRLDBCQUFpQjtRQUFqQixzQkFBaUI7WUFBakIsa0JBQWlCLEVBS3BCO0kvQzZ6UEQsa0RBQWtEO0krQ3p3UnREO01BeThCWSxpQkFBZ0I7TUFDaEIsZ0JBQWUsRUFDbEIsRUFBQTs7QUUvbUVUOztrREFFa0Q7QWpEbTdUbEQsNkNBQTZDO0FpRGo3VDdDO0VBQ0ksV0FBVTtFQUNWLDJCQUEwQjtFQUMxQixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGNBQWE7RUFDYixrQkFBaUI7RUFDakIsMEJBQXlCLEVBQzVCOztBakRtN1RELDZDQUE2QztBaURqN1Q3QztFQUNJLFdBQVU7RUFDVixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQUNuQjs7QWpEbTdURCw2Q0FBNkM7QWlEajdUN0M7RUFDSSxvQkFBbUI7RUFDbkIsMEJoRHFKcUI7RWdEcEpyQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixhQUFZO0VBQ1osYUFBWSxFQXlLZjtFOUN6TE87SUhvOFRKLDZDQUE2QztJaUQzN1RqRDtNQVdZLHNCQUFxQixFQUN4QjtJakRrN1RMLDZDQUE2QztJaUQ5N1RqRDtNQWVZLHNCQUFxQjtNQUNyQix1QkFBc0IsRUFDekIsRUFBQTtFOUMxQkQ7SUg0OFRKLDZDQUE2QztJaURuOFRqRDtNQXFCUSxZQUFXO01BQ1gscUJBQW9CLEVBMEozQixFQUFBO0VqRHV4VEMsNkNBQTZDO0VpRHY4VC9DO0lBMEJRLGtCQUFpQjtJQUNqQixtQkFBa0I7SUFDbEIsWUFBVyxFQWVkO0lqRGk2VEQsNkNBQTZDO0lpRDU4VGpEO01BK0JZLGdCaEQ0TEM7TWdEM0xELFVBQVM7TUFDVCxpQkFBZ0I7TUFDaEIsb0JBQW1CO01BQ25CLHNCQUFxQjtNQUNyQixpQkFBZ0I7TUFDaEIsd0JBQXVCLEVBSzFCO005Q25ERDtRSCs5VEEsNkNBQTZDO1FpRHQ5VHJEO1VBd0NnQixtQkFBa0IsRUFFekIsRUFBQTtFakQrNlRQLDZDQUE2QztFaUR6OVQvQztJQThDUSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixXQUFVO0lBQ1YsYUFBWTtJQUNaLFlBQVc7SUFDWCxnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDckI7RWpENjZUSCw4Q0FBOEM7RWlEcCtUaEQ7SUEwRFEsOEJoRCtGdUI7SWdEOUZ2QixjQUFhO0lBQ2IsZUFBYztJQUNkLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFLbkI7STlDNUVHO01IcS9URiw4Q0FBOEM7TWlENStUcEQ7UUFpRVksbUJBQWtCLEVBRXpCLEVBQUE7RWpENDZUSCw4Q0FBOEM7RWlELytUaEQ7SUFzRVEsZ0JBQWUsRUEyRWxCO0lqRGkyVEQsOENBQThDO0lpRGwvVGxEO014Q2RJLFlBQVc7TUFDWCxlQUFjO01BQ2QsWUFBVyxFd0NzRk47SWpENjZUTCw4Q0FBOEM7SWlEdi9UbEQ7TUE2RVksZUFBYyxFQUNqQjtJakQ0NlRMLDhDQUE4QztJaUQxL1RsRDtNQWlGWSxZQUFXO01BQ1gsY0FBYTtNQUNiLFlBQVcsRUFDZDtJakQyNlRMLDhDQUE4QztJaUQvL1RsRDtNQXVGWSxZQUFXO01BQ1gsaUJBQWdCLEVBS25CO01qRHM2VEgsOENBQThDO01pRG5nVXBEO1FBMkZnQixzQkFBcUIsRUFDeEI7SWpEMDZUVCw4Q0FBOEM7SWlEdGdVbEQ7TUFnR1ksWUFBVyxFQXdCZDtNakRpNVRILDhDQUE4QztNaUR6Z1VwRDtRQW1HZ0Isc0JBQXFCO1FBQ3JCLFlBQVc7UUFDWCxZQUFXLEVBQ2Q7TWpEdzZUUCw4Q0FBOEM7TWlEOWdVcEQ7UUF5R2dCLFlBQVc7UUFDWCxtQkFBa0I7UUFDbEIsa0JBQWlCO1FBQ2pCLFlBQVcsRUFDZDtNakR1NlRQLDhDQUE4QztNaURwaFVwRDtReENkSSxZQUFXO1FBQ1gsZUFBYztRQUNkLFlBQVcsRXdDNkhGO01qRHc2VFAsOENBQThDO01pRHpoVXBEO1FBcUhvQixZQUFXLEVBQ2Q7STlDL0hUO01Ic2lVRiw4Q0FBOEM7TWlEN2hVcEQ7UUEySFksbUJBQWtCLEVBc0J6QjtRakQrNFRHLDhDQUE4QztRaURoaVV0RDs7OztVQWlJZ0IsWUFBVyxFQUNkO1FqRG82VEwsOENBQThDO1FpRHRpVXREO1VBcUlnQixlQUFjLEVBQ2pCO1FqRG02VEwsOENBQThDO1FpRHppVXREO1VBeUlnQixZQUFXO1VBQ1gsb0JBQW1CLEVBQ3RCLEVBQUE7SWpEazZUVCw4Q0FBOEM7SWlEN2lVbEQ7TXhDZEksWUFBVztNQUNYLGVBQWM7TUFDZCxZQUFXLEV3QzRKTjtFakRrNlRQLDhDQUE4QztFaURsalVoRDtJQW9KUSxnQkFBZSxFQWdCbEI7STlDN0tHO01IK2pVRiw4Q0FBOEM7TWlEdGpVcEQ7UUFzSlksbUJBQWtCO1FBQ2xCLGlCQUFnQixFQWF2QixFQUFBO0lqRHM1VEQsOENBQThDO0lpRDFqVWxEOztNQTRKWSxzQkFBcUI7TUFDckIsVUFBUztNQUNULFdBQVUsRUFDYjtJakRpNlRMLDhDQUE4QztJaURoa1VsRDtNQWtLWSxzQkFBcUIsRUFDeEI7RWpEZzZUUCw4Q0FBOEM7RWlEbmtVaEQ7SUF1S1EsZ0JBQWU7SUFDZixlQUFjO0lBQ2Qsc0JBQXFCLEVBQ3hCO0VqRDg1VEgsOENBQThDO0VpRHhrVWhEOztJQThLUSw4QmhEckJ1QixFZ0RzQjFCOztBQUdMOztrREFFa0Q7QWpENDVUbEQsOENBQThDO0FpRDE1VDlDO0VBQ0ksZUFBYztFQUNkLG1CQUFrQixFQUNyQjs7QUNoTkQ7O2tEQUVrRDtBbEQ2bVVsRCxnREFBZ0Q7QWtEM21VaEQ7RXpDS0ksWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXLEV5Q0xkOztBbEQrbVVELGdEQUFnRDtBa0Q3bVVoRDtFQUNJLHNCQUFxQixFQUN4Qjs7QWxEK21VRCxnREFBZ0Q7QWtEN21VaEQ7RUFHWSxrQkFBaUI7RUFDakIsaUJBQWdCLEVBQ25COztBbEQ2bVVULGdEQUFnRDtBa0RsblVoRDtFQVFZLGVBQWMsRUFDakI7O0FDckJUOztrREFFa0Q7QW5EbW9VbEQsOENBQThDO0FtRGxvVTlDO0VBRVEsa0JBQWlCO0VBQ2pCLGFBQVksRUFrQmY7RW5EaW5VSCw4Q0FBOEM7RW1EdG9VaEQ7SUFNWSxZQUFXLEVBQ2Q7RW5Ea29VUCw4Q0FBOEM7RW1Eem9VaEQ7O0lBVVksYUFBWTtJQUNaLGFBQVk7SUFDWixXQUFVO0lBQ1YsbUJsRDRCWSxFa0QzQmY7RW5Ea29VUCw4Q0FBOEM7RW1EaHBVaEQ7SUFnQlksWUFBVztJQUNYLFlBQVc7SUFDWCxXQUFVO0lBQ1YsY0FBYSxFQUNoQjs7QW5EbW9VVCw4Q0FBOEM7QW1EL25VOUM7RUFDSSxvQkFBbUIsRUFDdEI7O0FuRGlvVUQsOENBQThDO0FtRHRuVTlDOzs7OztFQUtJLG9CbEREb0IsRWtERXZCOztBbkR3blVELDhDQUE4QztBbUR0blU5QztFQUVRLFlBQVcsRUFDZDs7QW5EdW5VTCw4Q0FBOEM7QW1Ebm5VMUM7RUFDSSxZQUFXO0VBQ1gsWUFBVyxFQUNkOztBbkRxblVMLDhDQUE4QztBbURublUxQztFQUNJLFlBQVc7RUFDWCxvQmxEZlU7RWtEZ0JWLGdCQUFlLEVBQ2xCOztBbkRxblVMLDhDQUE4QztBbURublUxQzs7RUFFSSxtQmxEckJVLEVrRHNCYjs7QW5EcW5VTCw4Q0FBOEM7QW1Ebm5VMUM7OztFQUdJLFdBQVUsRUFDYjs7QW5EcW5VTCwrQ0FBK0M7QW1Ebm5VM0M7RUFDSSxhQUFZO0VBQ1osYUFBWSxFQUNmOztBaERsRUc7RUh3clVOLDhDQUE4QztFbUQvb1U1QztJQUNJLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7RW5EZ3BVSCw4Q0FBOEM7RW1EOW9VNUM7SUFDSSxZQUFXO0lBQ1gsb0JsRGZVO0lrRGdCVixnQkFBZSxFQUNsQjtFbkQrb1VILDhDQUE4QztFbUQ3b1U1Qzs7SUFFSSxtQmxEckJVLEVrRHNCYjtFbkQ4b1VILDhDQUE4QztFbUQ1b1U1Qzs7O0lBR0ksV0FBVSxFQUNiO0VuRDZvVUgsK0NBQStDO0VtRDNvVTdDO0lBQ0ksYUFBWTtJQUNaLGFBQVksRUFDZixFQUFBOztBaERsRUc7RUhndFVOLCtDQUErQztFbURob1U3QztJQUNJLGNBQWEsRUFDaEI7RW5EaW9VSCwrQ0FBK0M7RW1EL25VN0M7Ozs7OztJQUtRLGVBQWM7SUFDZCxnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsWUFBVyxFQUNkLEVBQUE7O0FuRGtvVVQsK0NBQStDO0FtRDluVS9DO0UxQ3ZHSSxZQUFXO0VBQ1gsZUFBYztFQUNkLFlBQVcsRTBDd0dWOztBQUVMOztrREFFa0Q7QW5EZ29VbEQsK0NBQStDO0FtRDluVS9DO0VBQ0ksb0JBQW1CO0VBQ25CLGtCQUFpQixFQVdwQjtFbkRxblVDLCtDQUErQztFbURsb1VqRDtJMUNoSEksWUFBVztJQUNYLGVBQWM7SUFDZCxZQUFXLEUwQ29IVjtFbkRpb1VILCtDQUErQztFbUR2b1VqRDtJQVFRLFlBQVc7SUFDWCxvQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLG1CQUFrQixFQUNyQjs7QW5Ea29VTCwrQ0FBK0M7QW1EL25VL0M7RUFDSSxhQUFZO0VBQ1osa0JBQWlCO0VBQ2pCLGdCQUFlO0VBaUJmLG9FQUFvRSxFQXFDdkU7RW5ENGtVQywrQ0FBK0M7RW1Ecm9VakQ7SUFTUSxvQkFBbUI7SUFDbkIsb0JBQW1CLEVBTXRCO0luRHluVUQsK0NBQStDO0ltRHpvVW5EO00xQy9ISSxZQUFXO01BQ1gsZUFBYztNQUNkLFlBQVcsRTBDcUlOO0luRHNvVUwsK0NBQStDO0ltRDlvVW5EO01BYVksZ0JBQWU7TUFDZixvQkFBbUIsRUFDdEI7RW5EbW9VUCwrQ0FBK0M7RW1EbHBVakQ7SUFrQlEsZUFBYyxFQUNqQjtFbkRrb1VILCtDQUErQztFbURycFVqRDtJQXNCUSxlQUFjLEVBQ2pCO0VuRGlvVUgsK0NBQStDO0VtRHhwVWpEO0lBMkJZLHNCQUFxQixFQUN4QjtFbkQrblVQLCtDQUErQztFbUQzcFVqRDtJQStCWSxzQkFBcUI7SUFDckIsb0JBQW1CLEVBS3RCO0luRDBuVUwsK0NBQStDO0ltRC9wVW5EO01BbUNnQixlQUFjLEVBQ2pCO0VuRDhuVVgsK0NBQStDO0VtRGxxVWpEO0lBd0NZLGdCQUFlLEVBQ2xCO0VuRDRuVVAsK0NBQStDO0VtRHJxVWpEO0lBZ0RnQixlQUFjLEVBQ2pCO0VuRHVuVVgsK0NBQStDO0VtRHhxVWpEO0lBb0RZLFlBQVc7SUFDWCxlQUFjO0lBQ2QsbUJBQWtCLEVBQ3JCOztBaERqTEQ7RUh5eVVOLCtDQUErQztFbURublU3QztJQUVRLGtCQUFpQjtJQUNqQixvQkFBbUIsRUFDdEIsRUFBQTs7QW5Eb25VVCwrQ0FBK0M7QW1EaG5VL0M7RUFDSSxtQkFBa0I7RWxCMUxwQixvQ2hDc044QjtFZ0NyTjlCLDBCQUF5QjtFQUN6QixnQmhDaU9lO0VnQ2hPZixlN0JEYTtFNkJFYiwwQjdCRWE7RTZCRGIsMEI3QkhhO0U2QkliLGtCQUFpQjtFa0JzTGYsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQUNuQjtFbkR1blVDLHNDQUFzQztFaUM5eVV0QztJQUNFLDBCN0JOVztJNkJPWCxlN0JIVyxFNkJJWjs7QTlCZks7RUhnMFVOLCtDQUErQztFbUR0c1VqRDtJQTZFUSxZQUFXLEVBVWQ7SW5Ea25VRCwrQ0FBK0M7SW1EenNVbkQ7TUFtRmdCLFlBQVc7TUFDWCxZQUFXLEVBQ2Q7RW5Ed25VWCwrQ0FBK0M7RW1EN3NVakQ7SUEwRlEsWUFBVztJQUNYLFlBQVc7SUFDWCxlQUFjLEVBQ2pCLEVBQUE7O0FoRHZORztFSDgwVU4sK0NBQStDO0VtRG5uVTdDO0lBQ0ksWUFBVyxFQUNkLEVBQUE7O0FuRHFuVUwsK0NBQStDO0FtRGxuVS9DO0VBQ0kscUVsRDNCcUUsRWtEcU94RTtFbkQwNlRDLCtDQUErQztFbURyblVqRDs7O0lBT1Esb0JBQW1CO0lBQ25CLG9CQUFtQixFQUN0QjtFbkRrblVILCtDQUErQztFbUQzblVqRDtJQVlRLGVsRDdKUTtJa0Q4SlIsZ0JsRFRLO0lrRFVMLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDbkI7RW5EaW5VSCwrQ0FBK0M7RW1Eam9VakQ7O0lBb0JRLDhCQUE2QjtJQUM3QixrQkFBaUI7SUFDakIsbUNsRDVCMkI7SWtENkIzQixnQmxEakJPO0lrRGtCUCx3QkFBdUI7SUFDdkIsa0JBQWlCLEVBQ3BCO0VuRGduVUgsK0NBQStDO0VtRDFvVWpEOztJQThCUSxtQkFBa0IsRUFDckI7RW5EK21VSCwrQ0FBK0M7RW1EOW9VakQ7SUFtQ1ksbUNsRHpDdUI7SWtEMEN2QixnQmxEcENLO0lrRHFDTCx3QkFBdUI7SUFDdkIsaUJsRDFCVTtJa0QyQlYsZS9DaFFHLEUrQ3dRTjtJbkRzbVVMLCtDQUErQztJbURycFVuRDtNQXlDZ0IsZS9DbFFELEUrQ3VRRjtNbkQwbVVQLCtDQUErQztNbUR4cFVyRDtRQTJDb0IsZS9DcFFMO1ErQ3FRSywyQkFBMEIsRUFDN0I7RW5EK21VZiwrQ0FBK0M7RW1ENXBVakQ7SUFtRFEsaUNsRHpHZ0IsRWtEMEduQjtFbkQybVVILCtDQUErQztFbUQvcFVqRDtJQXdEWSxpQkFBZ0IsRUFDbkI7RW5EeW1VUCwrQ0FBK0M7RW1EbHFVakQ7STFDck9JLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFMENnU047RW5EMG1VUCwrQ0FBK0M7RW1EdnFVakQ7SUFpRVEsZUFBYztJQUNkLGVBQWM7SUFDZCwwQkFBeUI7SUFDekIscUVsRDlGaUUsRWtEK0ZwRTtFbkR3bVVILCtDQUErQztFbUQ3cVVqRDs7O0lBMEVRLGNBQWEsRUFDaEI7RW5EdW1VSCwrQ0FBK0M7RW1EbHJVakQ7SUE4RVEsZ0JBQWU7SUFDZixpQkFBZ0IsRUFnQm5CO0luRHVsVUQsK0NBQStDO0ltRHRyVW5EO01Ba0ZZLGlCQUFnQixFQVFuQjtNbkQrbFVILCtDQUErQztNbUR6clVyRDtRQW9GZ0IsZ0JBQWU7UUFDZixZQUFXLEVBQ2Q7TW5EdW1VUCwrQ0FBK0M7TW1EN3JVckQ7UUF3RmdCLHNCL0NqVEQsRStDa1RGO0luRHVtVVQsK0NBQStDO0ltRGhzVW5EO01BNkZZLGNBQWEsRUFDaEI7RW5EcW1VUCwrQ0FBK0M7RW1EbnNVakQ7SUFrR1Esc0RsRDdIZ0Q7SWtEOEhoRCxtQkFBa0I7SUFDbEIsZ0JsRDdGUTtJa0Q4RlIsbUJBQWtCLEVBS3JCO0luRCtsVUQsK0NBQStDO0ltRHpzVW5EO01Bd0dZLGlCQUFnQixFQUNuQjtFbkRtbVVQLCtDQUErQztFbUQ1c1VqRDtJQTZHUSxZQUFXLEVBQ2Q7RW5EaW1VSCwrQ0FBK0M7RW1EL3NVakQ7O0lBa0hRLG1CQUFrQixFQUNyQjtFbkRnbVVILCtDQUErQztFbURudFVqRDtJQXNIUSxtQkFBa0I7SUFDbEIsZ0JBQWUsRUFnQmxCO0luRGdsVUQsK0NBQStDO0ltRHZ0VW5EO010QnpPSSxZQUFXO01BQ1gsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixVQUFTO01BQ1QsZUFBYztNQXdCVixrQ0FBbUM7TUFDbkMscUNBQXNDO01BQ3RDLGdDNUIyQ1E7TTRCMUNSLGtCQUFpQjtNc0JxVWIsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixhQUFZLEVBQ2Y7SW5EdW1VTCwrQ0FBK0M7SW1EcnVVbkQ7TXRCek9JLFlBQVc7TUFDWCxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFVBQVM7TUFDVCxlQUFjO01BVVYsb0NBQXFDO01BQ3JDLG1DQUFvQztNQUNwQyw4QjVCeURRO000QnhEUixvQkFBbUI7TXNCMlZYLGFBQVk7TUFDWixTQUFRLEVBQ1g7RW5ENm1VWCwrQ0FBK0M7RW1EbHZVakQ7SUEwSVEsb0JBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsZ0JBQWU7SWxCbllyQixvQ2hDaVA4QjtJZ0NoUDlCLGdCaEM2UGU7SWdDNVBmLGU3QjJCYTtJNkIxQmIsdUJBQXNCO0lBQ3RCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SWtCZ1lWLGlCQUFnQixFQXNCbkI7SW5EMGxVRCwrQ0FBK0M7SW1EL3ZVbkQ7TUFrSlksZUFBYztNQUNkLDJCQUEwQixFQWE3QjtNbkRtbVVILCtDQUErQztNbURud1VyRDtRQXFKZ0IsZUFBYztRbEIzWTVCLG9DaENpUDhCO1FnQ2hQOUIsZ0JoQzZQZTtRZ0M1UGYsZTdCMkJhO1E2QjFCYix1QkFBc0I7UUFDdEIsa0JBQWlCO1FBQ2pCLGlCQUFnQjtRa0J3WUYsYUFBWSxFQVFmO1FuRDhtVUwsK0NBQStDO1FtRDd3VXZEO1VBeUpvQiw4QkFBNkI7VUFDN0IsYUFBWSxFQUNmO1FuRHNuVVQsK0NBQStDO1FtRGp4VXZEO1VBNkpvQixjQUFhLEVBQ2hCO0luRHNuVWIsK0NBQStDO0ltRHB4VW5EO01BbUtZLGlCQUFnQixFQUNuQjtFbkRtblVQLCtDQUErQztFbUR2eFVqRDtJQXdLUSxnQkFBZTtJQUNmLG1CQUFrQixFQWdCckI7SW5Ea21VRCwrQ0FBK0M7SW1EM3hVbkQ7TUE0S1ksYUFBWTtNQUNaLHNCbEQ1UVk7TWtENlFaLGlCQUFnQjtNQUNoQixvQkFBbUI7TUFDbkIsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixvQ2xEdkxvQjtNa0R3THBCLDBCQUF5QixFQUM1QjtJbkRpblVMLCtDQUErQztJbURyeVVuRDtNQXVMWSxtQkFBa0IsRUFDckI7RW5EZ25VUCwrQ0FBK0M7RW1EeHlVakQ7SUE4TFksaUJBQWdCO0lBQ2hCLG9DbERwTW9CO0lrRHFNcEIsZ0JsRDFMRztJa0QyTEgsMEJBQXlCLEVBUTVCO0luRHFtVUwsK0NBQStDO0ltRDl5VW5EO01BbU1nQixnQkFBZSxFQUNsQjtJbkQ2bVVULCtDQUErQztJbURqelVuRDtNQXNNZ0IsaUJsRDFMTTtNa0QyTE4sbUJBQWtCLEVBQ3JCOztBaER4YUw7RUh1aFZOLCtDQUErQztFbUR6bVU3QztJQUdRLGdCbEQxTUksRWtEMk1QO0VuRHdtVVAsK0NBQStDO0VtRDVtVTdDOztJQVFRLGlCQUFnQixFQUNuQjtFbkR1bVVQLCtDQUErQztFbURoblU3QztJQVlRLHFCQUFvQixFQUN2QixFQUFBOztBaEQzYkQ7RUhtaVZOLCtDQUErQztFbURubVU3Qzs7SUFJWSxjQUFhLEVBQ2hCLEVBQUE7O0FoRHJjTDtFSHlpVk4sK0NBQStDO0VtRDdsVTdDO0lBRVEsY0FBYSxFQUNoQjtFbkQ2bFVQLCtDQUErQztFbUQ1MFVqRDtJQWtQWSxlQUFjO0lBQ2Qsb0JBQW1CO0lBQ25CLHFCQUFvQjtJQUNwQixtQkFBa0I7SUFDbEIsWUFBVyxFQVNkO0luRG9sVUwsK0NBQStDO0ltRHZtVS9DO00xQ2pkQSxZQUFXO01BQ1gsZUFBYztNQUNkLFlBQVcsRTBDNmRGO0luRDhsVVQsK0NBQStDO0ltRDVtVS9DO01BaUJZLGlCQUFnQixFQUNuQjtFbkQ2bFVYLCtDQUErQztFbUQzMVVqRDtJQWtRWSxrQkFBaUIsRUFDcEI7RW5EMmxVUCwrQ0FBK0M7RW1EbG5VN0M7SUEwQlEsYUFBWTtJQUNaLGVBQWMsRUF1QmpCO0luRG9rVUwsK0NBQStDO0ltRHRuVS9DO01BOEJZLG1CQUFrQjtNQUNsQixtQkFBa0IsRUFjckI7TW5ENmtVUCwrQ0FBK0M7TW1EMW5VakQ7UUFrQ2dCLG9CQUFtQixFQUN0QjtNbkQwbFVYLCtDQUErQztNbUQ3blVqRDtRQXVDZ0IsY0FBYTtRQUNiLGdCbEQ5UUw7UWtEK1FLLG9DbEQxUlk7UWtEMlJaLG1CQUFrQjtRQUNsQiwwQkFBeUIsRUFDNUI7SW5Ed2xVYiwrQ0FBK0M7SW1EcG9VL0M7TUFnRFksaUJBQWdCLEVBQ25CO0VuRHNsVVgsK0NBQStDO0VtRG4zVWpEO0lBaVNZLGdCbEQxUkksRWtEMlJQO0VuRG9sVVAsK0NBQStDO0VtRDFvVTdDO0lBeURRLGlCQUFnQjtJQUNoQixtQkFBa0IsRUFVckI7SW5EMGtVTCwrQ0FBK0M7SW1EMTNVbkQ7TUF5U2dCLG9CQUFtQjtNQUNuQixtQkFBa0IsRUFLckI7TW5EK2tVUCwrQ0FBK0M7TW1EOTNVckQ7UUE2U29CLGlCQUFnQixFQUNuQjtFbkRtbFVmLCtDQUErQztFbURycFU3QztJQXVFUSxtQkFBa0I7SUFDbEIsbUJsRDFmSztJa0QyZkwsZ0JsRC9TRyxFa0RvVE47SW5ENGtVTCwrQ0FBK0M7SW1EMXBVL0M7TUE0RVksZ0JsRGxURCxFa0RtVEY7RW5EZ2xVWCwrQ0FBK0M7RW1EejRVakQ7SUE2VFksWUFBVztJQUNYLFlBQVc7SUFDWCxxQkFBb0IsRUFXdkI7SW5Eb2tVTCwrQ0FBK0M7SW1EOTRVbkQ7TUFrVWdCLGVBQWM7TUFDZCxnQmxEbFVBO01rRG1VQSxtQkFBa0I7TUFDbEIsMEJBQXlCLEVBQzVCO0luRDhrVVQsK0NBQStDO0ltRHhxVS9DO01BNEZZLGFBQVksRUFDZjtFbkQ4a1VYLCtDQUErQztFbUQzcVU3Qzs7SUFtR1EsWUFBVyxFQUNkO0VuRDJrVVAsK0NBQStDO0VtRC9xVTdDOztJQXdHUSxrQkFBaUI7SUFDakIsZUFBYztJQUNkLGFBQVksRUFDZjtFbkQwa1VQLCtDQUErQztFbURqNlVqRDtJQXNXWSxjQUFhLEVBQ2hCO0VuRDZqVVAsK0NBQStDO0VtRHhyVTdDO0lBZ0lZLGNBQWEsRUFDaEI7RW5EMGpVWCwrQ0FBK0M7RW1EM3JVN0M7SUFtSVksYUFBWTtJQUNaLHlCQUF3QixFQUMzQjtFbkQwalVYLCtDQUErQztFbUQvclU3QztJQXdJWSxtQkFBa0IsRUFDckI7RW5EeWpVWCwrQ0FBK0M7RW1EOTZVakQ7SUF5WFksaUJBQWdCLEVBTW5CO0luRGtqVUwsK0NBQStDO0ltRGo3VW5EO01BNFhnQixrQkFBaUI7TUFDakIsbUJBQWtCLEVBQ3JCO0VuRHVqVVgsK0NBQStDO0VtRHpzVTdDOztJQXVKUSxpQkFBZ0I7SUFDaEIsZ0JsRGxZRztJa0RtWUgsMERsRGphK0MsRWtEa2FsRDtFbkRxalVQLCtDQUErQztFbUQvc1U3QztJQTZKUSxtQkFBa0I7SUFDbEIsWUFBVyxFQWVkO0luRHNpVUwsK0NBQStDO0ltRG50VS9DO01BaUtZLGFBQVksRUFDZjtJbkRvalVULCtDQUErQztJbUR0dFUvQztNQXFLWSxZQUFXLEVBQ2Q7SW5EbWpVVCwrQ0FBK0M7SW1EenRVL0M7O01BMEtZLGNBQWEsRUFDaEI7RW5Ea2pVWCwrQ0FBK0M7RW1EN2lVN0M7SUFLb0Isc0NBQXFDLEVBQ3hDLEVBQUE7O0FBT3JCOztrREFFa0Q7QW5EcWlVbEQsK0NBQStDO0FtRG5pVS9DO0VBR1EsZ0JsRHphUTtFa0QwYVIsa0JBQWlCO0VBQ2pCLGdCQUFlLEVBQ2xCOztBbkRtaVVMLCtDQUErQztBbUR6aVUvQztFQVNRLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLGVBQWM7RUFDZCwwQmxEeGhCZ0IsRWtEeWhCbkI7O0FuRG1pVUwsK0NBQStDO0FtRGhqVS9DO0VBZ0JRLHNCbEQvakJVLEVrRGdrQmI7O0FuRG1pVUwsK0NBQStDO0FtRHBqVS9DO0VBb0JRLGNBQWEsRUFDaEI7O0FuRG1pVUwsK0NBQStDO0FtRHhqVS9DO0VBd0JRLGFBQVk7RUFDWixVQUFTO0VBQ1QsV0FBVSxFQUNiOztBbkRtaVVMLCtDQUErQztBbUQ5alUvQztFMUNscEJJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFMENnckJOOztBbkRvaVVULCtDQUErQztBbURwa1UvQztFQWtDWSxZQUFXO0VBQ1gsc0JBQXFCLEVBQ3hCOztBbkRxaVVULCtDQUErQztBbUR6a1UvQztFQXVDWSxXQUFVLEVBQ2I7O0FuRHFpVVQsK0NBQStDO0FtRDdrVS9DO0VBMkNZLFdBQVUsRUFDYjs7QW5EcWlVVCwrQ0FBK0M7QW1EamxVL0M7RUErQ1ksZ0JBQWU7RUFDZixXQUFVLEVBS2I7RW5EZ2lVUCwrQ0FBK0M7RW1EcmxVakQ7SUFtRGdCLGdCQUFlLEVBQ2xCOztBbkRxaVViLCtDQUErQztBbUR6bFUvQztFQXdEWSxlQUFjLEVBQ2pCOztBbkRvaVVULCtDQUErQztBbUQ3bFUvQztFQTREWSxhQUFZO0VBQ1osZ0JBQWUsRUFDbEI7O0FuRG9pVVQsK0NBQStDO0FtRGxtVS9DO0VBaUVZLHFFbER4Z0I2RDtFa0R5Z0I3RCxnQmxEemVHO0VrRDBlSCxpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLG9CQUFtQixFQUN0Qjs7QW5Eb2lVVCwrQ0FBK0M7QW1EMW1VL0M7RUEwRVEsa0JBQWlCO0VBQ2pCLGlCQUFnQixFQWtCbkI7RW5EaWhVSCwrQ0FBK0M7RW1EOW1VakQ7SUE4RVksb0JBQW1CLEVBQ3RCO0VuRGtpVVAsK0NBQStDO0VtRGpuVWpEO0lBa0ZZLHNEbEQxaEI0QztJa0QyaEI1QyxnQmxEemZJO0lrRDBmSixtQkFBa0I7SUFDbEIsaUJBQWdCLEVBT25CO0luRDJoVUwsK0NBQStDO0ltRHZuVW5EO01Bd0ZnQixxRWxEL2hCeUQ7TWtEZ2lCekQsa0JBQWlCO01BQ2pCLG1CQUFrQixFQUNyQjs7QW5Ea2lVYiwrQ0FBK0M7QW1EN25VL0M7RUFnR1EsWUFBVztFQUNYLGVBQWMsRUFDakI7O0FuRGdpVUwsK0NBQStDO0FtRGxvVS9DO0VBb0dRLDBCbERqbEJpQjtFa0RrbEJqQiwwQnJCM3ZCcUM7RXFCNHZCckMsaUJBQWdCLEVBS25CO0VuRDRoVUgsK0NBQStDO0VtRHZvVWpEO0lBeUdZLDRCckIvdkJpQyxFcUJnd0JwQzs7QWhEdnZCRDtFSHl4Vk4sK0NBQStDO0VtRDVoVTdDO0lBQ0ksWUFBVztJQUNYLFlBQVcsRUFVZDtJbkRvaFVELCtDQUErQztJbURoaVUvQztNQUtRLGVBQWMsRUFDakI7SW5ENmhVTCwrQ0FBK0M7SW1EbmlVL0M7O01BVVEsWUFBVyxFQUNkLEVBQUE7O0FuRDZoVVQsK0NBQStDO0FtRHJoVS9DO0VBQ0ksa0JBQWlCO0VBQ2pCLFdBQVUsRUE4Q2I7RW5EeStUQywrQ0FBK0M7RW1EemhVakQ7STFDcnhCSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRTBDeXhCVjtFbkR3aFVILCtDQUErQztFbUQ5aFVqRDtJQVNRLHFFbERubEJpRTtJa0RvbEJqRSxnQmxEcGpCTztJa0RxakJQLG9CQUFtQjtJQUNuQiwwQkFBeUI7SUFDekIsWUFBVyxFQWtDZDtJbkRzL1RELCtDQUErQztJbURyaVVuRDtNQWdCWSxpQkFBZ0IsRUFDbkI7SW5EdWhVTCwrQ0FBK0M7SW1EeGlVbkQ7TUFtQlksb0JBQW1CO01BQ25CLGlCQUFnQixFQUNuQjtJbkR1aFVMLCtDQUErQztJbUQ1aVVuRDs7TUF5QlkscUJBQW9CLEVBQ3ZCO0luRHNoVUwsK0NBQStDO0ltRGhqVW5EO01BOEJnQixnQmxEeGtCRDtNa0R5a0JDLGlCQUFnQjtNQUNoQixtQkFBa0I7TUFDbEIsb0JBQW1CLEVBQ3RCO0luRG9oVVQsK0NBQStDO0ltRHRqVW5EOztNQXNDZ0Isb0NsRDNsQmdCLEVrRDZsQm5CO0luRGtoVVQsK0NBQStDO0ltRDFqVW5EO01BMkNnQixpQkFBZ0I7TUFDaEIsZ0JsRHRsQkQsRWtEdWxCRjs7QWhEN3pCTDtFSGcxVk4sK0NBQStDO0VtRDVnVTdDO0lBQ0ksa0JBQWlCLEVBQ3BCLEVBQUE7O0FoRHQwQkc7RUhxMVZOLCtDQUErQztFbURya1VqRDtJQTREUSxnQmxENW1CUyxFa0Q2bUJaLEVBQUE7O0FuRDRnVUwsK0NBQStDO0FtRHJnVS9DOztFMUN6MUJJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFMEMwMUJkOztBbkR5Z1VELCtDQUErQztBbUR2Z1UvQzs7RUFFSSxZQUFXLEVBd0NkO0VuRGkrVEMsK0NBQStDO0VtRDNnVWpEOztJQUtRLGNBQWEsRUFDaEI7RW5EeWdVSCwrQ0FBK0M7RW1EL2dVakQ7O0lsQi8yQkUsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCO0lrQm8zQlYsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixzQkFBcUI7SUFDckIsbUJBQWtCLEVBQ3JCO0VuRDhnVUgsK0NBQStDO0VtRDVoVWpEOztJQWlCUSxzQkFBcUIsRUFDeEI7RW5EOGdVSCwrQ0FBK0M7RW1EaGlVakQ7O0lBc0JRLG1CQUFrQixFQUNyQjtFbkQ2Z1VILCtDQUErQztFbURwaVVqRDs7SUEwQlEsc0JBQXFCO0lBQ3JCLHVCQUFzQixFQU96QjtJbkR1Z1VELCtDQUErQztJbUR6aVVuRDs7TUE4QlksWUFBVztNQUNYLGdCQUFlO01BQ2YsYUFBWSxFQUNmO0VuRDhnVVAsK0NBQStDO0VtRC9pVWpEOztJQXFDUSxpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLHFCQUFvQjtJQUNwQixhQUFZLEVBQ2Y7O0FuRDhnVUwsK0NBQStDO0FtRDNnVS9DO0VBQ0ksbUJsRGwyQmlCLEVrRG0yQnBCOztBbkQ2Z1VELCtDQUErQztBbUQzZ1UvQztFQUNJLFlBQVc7RUFDWCxhQUFZLEVBTWY7RW5EdWdVQywrQ0FBK0M7RW1EL2dVakQ7SUFLUSxnQmxEMXFCSztJa0QycUJMLHFCQUFvQixFQUN2Qjs7QUFHTDs7a0RBRWtEO0FuRDJnVWxELCtDQUErQztBbUR6Z1UvQztFQUVRLGVsRHoxQlEsRWtEMDFCWDs7QW5EMGdVTCwrQ0FBK0M7QW1EN2dVL0M7RUFNUSxZQUFXO0VBQ1gsWUFBVyxFQUNkOztBQUdMLGdIQUFnSDtBaERsNkJ4RztFSDI2Vk4sK0NBQStDO0VtRHZnVTdDO0lBZ0JJLDhCQUE4QixFQUlqQztJbkRzL1RELCtDQUErQztJbUQxZ1UvQzs7O01BSVEsaUJBQTRCO01BQzVCLHVCQUFrQyxFQUNyQztJbkQwZ1VMLCtDQUErQztJbURoaFUvQztNQVNRLFlBQVcsRUFDZDtJbkR5Z1VMLCtDQUErQztJbURuaFUvQztNQWFRLGdCQUFlLEVBQ2xCO0luRHdnVUwsK0NBQStDO0ltRHRoVS9DO01Ba0JRLFlBQVcsRUFDZCxFQUFBOztBaER2N0JEO0VIKzdWTiwrQ0FBK0M7RW1EbmdVN0M7OztJQUlRLFlBQVcsRUFDZDtFbkRtZ1VQLGdEQUFnRDtFbUR4Z1U5QztJQU9RLGdCQUFlLEVBU2xCO0luRDIvVEwsZ0RBQWdEO0ltRDNnVWhEO01BV29CLGlCQUFnQjtNQUNoQixlQUFjLEVBQ2pCO0VuRGtnVW5CLGdEQUFnRDtFbUQvZ1U5QztJQW1CWSxjQUFhLEVBQ2hCLEVBQUE7O0FoRGg5Qkw7RUhnOVZOLGdEQUFnRDtFbURodlZsRDtJQXl2QmdCLFlBQVcsRUFDZDtFbkR5L1RYLGdEQUFnRDtFbURudlZsRDtJQTZ2Qm9CLGFBQVksRUFDZjtFbkR3L1RmLGdEQUFnRDtFbUQxaFU5QztJQTBDZ0IsZUFBYyxFQWNqQjtJbkRxK1RiLGdEQUFnRDtJbUR2L1RoRDtNQU1vQixpQkFBZ0IsRUFXbkI7TW5EeStUZixnREFBZ0Q7TW1EMS9UbEQ7UUFRd0IsaUJBQWdCO1FBQ2hCLGFBQVk7UUFDWixjQUFhO1FBQ2IsaUJBQWdCLEVBQ25CO01uRG8vVG5CLGdEQUFnRDtNbURoZ1VsRDtRQWN3QixzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLHVDQUE4QjtZQUE5Qix1QkFBOEI7Z0JBQTlCLCtCQUE4QixFQUNqQztFbkRvL1R2QixnREFBZ0Q7RW1EOStUOUM7SUFFUSxhQUFZO0lBQ1osa0JBQWlCLEVBQ3BCO0VuRDgrVFAsZ0RBQWdEO0VtRGwvVDlDO0lBTVEsYUFBWTtJQUNaLGlCQUFnQixFQUNuQixFQUFBOztBaERoZ0NEO0VIZy9WTixnREFBZ0Q7RW1EMytUOUM7SUFHWSxvQkFBbUIsRUFDdEI7RW5EMCtUWCxnREFBZ0Q7RW1EOStUOUM7SUFPWSxlQUFjLEVBQ2pCLEVBQUE7O0FDM2hDYjs7a0RBRWtEO0FwRHNnV2xELGlEQUFpRDtBb0RwZ1dqRDs7RUFFSSxjQUFhLEVBQ2hCOztBcERzZ1dELGlEQUFpRDtBb0RwZ1dqRDtFQUNJLFlBQVc7RUFDWCxZQUFXLEVBQ2Q7O0FqREVPO0VIcWdXTixpREFBaUQ7RW9EMWdXbkQ7SUFRWSxZQUFXO0lBQ1gsY0FBOEI7SUFDOUIsb0JBQW1CLEVBQ3RCO0VwRG9nV1AsaURBQWlEO0VvRHBoV25EOztJQW9CWSxjQUE4QjtJQUM5QixlQUFjLEVBQ2pCO0VwRG1nV1AsaURBQWlEO0VvRDlnVy9DO0lBY1EsZ0JBQWUsRUFDbEIsRUFBQTs7QXBEbWdXVCxpREFBaUQ7QW9ELy9WakQ7RUFFUSxhQUFzQixFQUN6Qjs7QUFHTDs7R0FFRztBcEQ4L1ZILGlEQUFpRDtBb0Q1L1ZqRDtFQUNJLFlBQVc7RUFDWCw4Qm5EMkVzQjtFbUQxRXRCLG1CQUFrQjtFekIxQ2xCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUIsRXlCNENwQjtFcEQ2L1ZDLGlEQUFpRDtFb0R0Z1duRDtJM0NuQ0ksWUFBVztJQUNYLGVBQWM7SUFDZCxZQUFXLEUyQ3lDVjs7QXBEb2dXTCxpREFBaUQ7QW9EamdXakQ7RUFDSSxnQkFBZSxFQUNsQjs7QUFFRCxzR0FBc0c7QXBEa2dXdEcsaURBQWlEO0FvRGpnV2pEO0VBQ0ksMEJuRDRHeUIsRW1EM0c1Qjs7QXBEbWdXRCxpREFBaUQ7QW9EamdXakQ7RUFDSSxpQ25Ed0RzQixFbUR2RHpCOztBcERtZ1dELGlEQUFpRDtBb0RqZ1dqRDtFQUNJLGNBQWEsRUFDaEI7O0FwRG1nV0QsaURBQWlEO0FvRGpnV2pEO0VBQ0ksZUFBYztFQUNkLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsYUFBWTtFQUNaLGtCQUFpQixFQUNwQjs7QXBEbWdXRCxrREFBa0Q7QW9EamdXbEQ7RUFDSSxzQkFBcUIsRUFDeEI7O0FwRG1nV0Qsa0RBQWtEO0FvRGpnV2xEOzs7RUFHSSxZQUFXO0VBQ1gsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLDBCbkRkWTtFbURlWixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixXQUFVO0VBQ1Ysa0JBQWlCLEVBQ3BCOztBcERtZ1dELGtEQUFrRDtBb0RqZ1dsRDtFQUNJLDBCdEI1RnlDLEVzQjZGNUM7O0FwRG1nV0Qsa0RBQWtEO0FvRGpnV2xEO0VBQ0ksZW5EWGlCLEVtRFlwQjs7QXBEbWdXRCxrREFBa0Q7QW9EamdXbEQ7O0VBRUksZW5EaENZLEVtRGlDZjs7QXBEbWdXRCxrREFBa0Q7QW9EamdXbEQ7RUFDSSxnQm5ENkhZO0VtRDVIWixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLGFBQVk7RUFDWixZQUFXO0VBQ1gseUJBQXdCLEVBQzNCOztBcERtZ1dELGtEQUFrRDtBb0RqZ1dsRDtFQUNJLGNuRC9Fb0IsRW1Ed0Z2QjtFcEQwL1ZDLGtEQUFrRDtFb0RwZ1dwRDtJM0NqSEksWUFBVztJQUNYLGVBQWM7SUFDZCxZQUFXLEUyQ29IVjtFakRqSEc7SUhzbldKLGtEQUFrRDtJb0QxZ1d0RDtNQVFRLGNuRG5GVSxFbURxRmpCLEVBQUE7O0FwRG9nV0Qsa0RBQWtEO0FvRHRtV2xEO0VBcUdJLGlCQUFnQjtFQUNoQixZQUFXLEVBQ2Q7O0FwRG9nV0Qsa0RBQWtEO0FvRGxnV2xEO0VBQ0ksaUJBQWdCLEVBQ25COztBcERvZ1dELGtEQUFrRDtBb0RsZ1dsRDtFQUNJLGlCQUFnQixFQXNCbkI7RXBEOCtWQyxrREFBa0Q7RW9EcmdXcEQ7SUFJUSxZQUFXO0lBQ1gsZUFBYztJQUNkLG1CbkRqSEU7SW1Ea0hGLGlCQUFnQixFQUNuQjtFcERtZ1dILGtEQUFrRDtFb0QzZ1dwRDtJQVVRLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsaUJBQWdCLEVBQ25CO0VwRG1nV0gsa0RBQWtEO0VvRGhoV3BEO0lBZVEsYUFBWTtJQUNaLFVBQVMsRUFDWjtFcERtZ1dILGtEQUFrRDtFb0RwaFdwRDtJQW1CUSxrQkFBaUI7SUFDakIsc0JBQXFCO0lBQ3JCLHVCQUFzQixFQUN6Qjs7QWpEdkpHO0VINHBXTixrREFBa0Q7RW9EamdXaEQ7O0lBR1EsZUFBYyxFQUNqQixFQUFBOztBcERrZ1dULGtEQUFrRDtBb0Q5L1ZsRDtFQUVRLGFBQVksRUFDZjs7QXBEKy9WTCxrREFBa0Q7QW9EbGdXbEQ7RUFNUSxjQUFhO0VBQ2IsaUJBQWdCLEVBQ25COztBakQzS0c7RUgycVdOLGtEQUFrRDtFb0Q1L1ZoRDs7SUFFSSxjQUFhLEVBQ2hCLEVBQUE7O0FwRDgvVkwsa0RBQWtEO0FvRDMvVmxEO0VBQ0ksY25EckpjLEVtRHNKakI7O0FBRUQ7Ozs7O0dBS0c7QXBENC9WSCxrREFBa0Q7QW9EMS9WbEQ7O0VDaERrRCx5Q3BEbEpkO0VvRG9KUSw0QnBEbkpoQjtFb0RzSjhCLG1DcER0SjlCLEVtRG9NM0I7O0FwRGdnV0Qsa0RBQWtEO0FvRDkvVmxEO0VDckRrRCxzQ3BEbEpkO0VvRG9KUSw0QnBEbkpoQjtFb0RzSjhCLGdDcER0SjlCLEVtRHdNM0I7O0FwRG9nV0Qsa0RBQWtEO0FvRGxnV2xEO0VDekRrRCw0Q3BEbEpkO0VvRG9KUSw0QnBEbkpoQjtFb0RzSjhCLHNDcER0SjlCLEVtRDRNM0I7O0FBRUQscUhBQXFIO0FBQ3JILHFIQUFxSDtBQUNySCxxSEFBcUg7QXBEdWdXckgsa0RBQWtEO0FvRHRnV2xEOztFQUVJLFdBQVUsRUFDYjs7QXBEd2dXRCxrREFBa0Q7QW9EdGdXbEQ7RUFDSSxXQUFVO0VBQ1YsaUJBQWdCLEVBQ25COztBcER3Z1dELGtEQUFrRDtBb0R0Z1dsRDtFQUNJLGlCQUFnQixFQUNuQjs7QUFFRDs7R0FFRztBcER1Z1dILGtEQUFrRDtBb0RyZ1dsRDtFQUNJLGdCQUFlLEVBNEVsQjtFcEQyN1ZDLGtEQUFrRDtFb0R4Z1dwRDtJQUlRLG1CQUFrQjtJQUNsQixrQkFBaUIsRUFLcEI7SXBEa2dXRCxrREFBa0Q7SW9ENWdXdEQ7TUFRWSxnQkFBZSxFQUNsQjtFcERzZ1dQLGtEQUFrRDtFb0QvZ1dwRDtJQVlRLGNBQWEsRUFDaEI7RXBEcWdXSCxrREFBa0Q7RW9EbGhXcEQ7SUFlUSxZQUFXLEVBQ2Q7RXBEcWdXSCxrREFBa0Q7RW9EcmhXcEQ7SUFrQlEsZ0JBQWU7SUFDZixhQUFZO0lBQ1osa0JBQWlCLEVBQ3BCO0VwRHFnV0gsa0RBQWtEO0VvRDFoV3BEO0lBdUJRLGtCQUFpQixFQUNwQjtFcERxZ1dILGtEQUFrRDtFb0Q3aFdwRDtJQTBCUSxtQkFBa0IsRUFLckI7SXBEaWdXRCxrREFBa0Q7SW9EaGlXdEQ7TUE2QlksZ0JBQWUsRUFDbEI7RXBEcWdXUCxrREFBa0Q7RW9EbmlXcEQ7SUFpQ1EsYUFBWTtJQUNaLG1CQUFrQixFQUNyQjtFcERvZ1dILGtEQUFrRDtFb0R2aVdwRDtJQXFDUSxZQUFXLEVBQ2Q7RXBEb2dXSCxrREFBa0Q7RW9EMWlXcEQ7SUF3Q1Esc0JBQXFCLEVBQ3hCO0VwRG9nV0gsa0RBQWtEO0VvRDdpV3BEO0lBMkNRLGlCQUFnQixFQUNuQjtFcERvZ1dILGtEQUFrRDtFb0RoaldwRDtJQWdEWSxnQkFBZTtJM0N2UnZCLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFMkN1Uk47RXBEb2dXUCxrREFBa0Q7RW9EdGpXcEQ7SUFvRFksYUFBWTtJQUNaLG9CQUFtQjtJQUNuQixrQkFBaUI7SUFDakIsWUFBVyxFQUNkO0VwRG9nV1Asa0RBQWtEO0VvRDVqV3BEO0lBMERZLFlBQVcsRUFDZDtFakQ3UkQ7SUhreVdKLGtEQUFrRDtJb0Roa1d0RDtNQThEWSxnQkFBZSxFQU10QjtNcEQrL1ZDLGtEQUFrRDtNb0Rua1d4RDtRQWlFZ0IsYUFBWSxFQUNmLEVBQUE7RXBEb2dXWCxrREFBa0Q7RW9EdGtXcEQ7SUF1RVEsZ0JBQWUsRUFDbEI7RXBEaWdXSCxrREFBa0Q7RW9EemtXcEQ7SUEwRVEsWUFBVztJQUNYLHFCQUFvQixFQUN2Qjs7QUFHTCx1QkFBdUI7QXBEZ2dXdkIsa0RBQWtEO0FvRC8vVmxEO0VBQ0ksVUFBUztFQUNULFVBQVM7RUFDVCwrQm5EckpxQjtFbURzSnJCLG1CQUFrQixFQTZEckI7RXBEbzhWQyxrREFBa0Q7RW9EcmdXcEQ7SUFPUSxnQm5EbkZPLEVtRG9GVjtFcERnZ1dILGtEQUFrRDtFb0R4Z1dwRDtJQVVRLGlCQUFnQjtJMUIvUnBCLFVBQVM7SUFDVCxvQkFBbUI7SUFDbkIsZXpCZ0RZO0l5Qi9DWixxRXpCc0txRTtJeUJyS3JFLGdCQUFlO0lBQ2Ysa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsOEJBQTZCO0lBQzdCLDBCQUF5QjtJMEJ3UnJCLG1CQUFrQjtJQUNsQiwwQkFBeUI7SUFDekIsb0JBQW1CO0lBQ25CLGVuRGpQYSxFbURrUGhCO0VwRHlnV0gsa0RBQWtEO0VvRHpoV3BEO0lBbUJRLGVuRHRQUSxFbUR1UFg7RXBEd2dXSCxrREFBa0Q7RW9ENWhXcEQ7SUFzQlEsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQixzRG5EcklnRDtJbURzSWhELG1CQUFrQixFQUtyQjtJcERvZ1dELGtEQUFrRDtJb0RsaVd0RDtNQTRCWSxtQkFBa0IsRUFDckI7RXBEd2dXUCxrREFBa0Q7RW9EcmlXcEQ7SUFpQ1EsbUJBQWtCLEVBQ3JCO0VwRHNnV0gsa0RBQWtEO0VvRHhpV3BEO0lBdUNZLFdBQVU7SUFDVixrQkFBaUI7SUFDakIsZW5ENVFJO0ltRDZRSixzRG5Edko0QztJbUR3SjVDLHFCQUFvQjtJQUNwQixtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFlBQVc7SUFDWCxnQm5EM0hHLEVtRGdJTjtJcEQrL1ZMLGtEQUFrRDtJb0Ruald0RDtNQWtEZ0IsY0FBYSxFQUNoQjtFcERtZ1dYLGtEQUFrRDtFb0R0aldwRDtJQXVEWSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLGdCbkRySUcsRW1Ec0lOO0VwRGlnV1Asa0RBQWtEO0VvRDNqV3BEO0kzQ3ZUSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRTJDbVhOOztBQUtULGlCQUFpQjtBcEQrL1ZqQixrREFBa0Q7QW9EOS9WbEQ7RUFHWSxjQUFhLEVBQ2hCOztBcEQ4L1ZULGtEQUFrRDtBb0QxL1ZsRDtFQUNJLFlBQVcsRUFDZDs7QXBENC9WRCxrREFBa0Q7QW9EMS9WbEQ7RUFDSSxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLG9CQUFtQixFQVl0QjtFcERnL1ZDLGtEQUFrRDtFb0QvL1ZwRDtJQU1RLGlCQUFnQixFQUNuQjtFcEQyL1ZILGtEQUFrRDtFb0RsZ1dwRDtJQVNRLFlBQVc7SUFDWCxtQkFBa0IsRUFDckI7RXBEMi9WSCxrREFBa0Q7RW9EdGdXcEQ7SUFhUSxhQUFZLEVBQ2Y7O0FqRGhaRztFSDY0V04sa0RBQWtEO0VvRHgvVmhEO0lBQ0ksY0FBYSxFQUNoQixFQUFBOztBakR2Wkc7RUhrNVdOLGtEQUFrRDtFb0R0L1ZoRDtJQUNJLGNBQWEsRUFDaEIsRUFBQTs7QUFHTDttQ0FDbUM7QXBEcy9WbkMsa0RBQWtEO0FvRHIvVmxEOztFQUVJLGdCQUFlLEVBQ2xCOztBcER1L1ZELGtEQUFrRDtBb0RyL1ZsRDs7RUFFSSxjQUFhLEVBQ2hCOztBQUVELGlIQUFpSDtBcERzL1ZqSCxrREFBa0Q7QW9Eci9WbEQ7RUFDSSxrQkFBaUI7RUFDakIsZ0JBQWUsRUEwQmxCO0VwRDY5VkMsa0RBQWtEO0VvRHovVnBEO0lBS1EsY0FBYSxFQUNoQjtFcERzL1ZILGtEQUFrRDtFb0Q1L1ZwRDtJQVNRLDBCQUF5QjtJQUN6QixXQUFVLEVBaUJiO0lwRHErVkQsa0RBQWtEO0lvRGhnV3REO01BYVksWUFBVztNQUNYLFdBQVUsRUFDYjtJakQ3YkQ7TUhtN1dGLGtEQUFrRDtNb0RyZ1d4RDtRQW1CZ0IsWUFBVztRQUNYLFlBQVcsRUFDZCxFQUFBO0lwRG8vVlQsa0RBQWtEO0lvRHpnV3REO01BeUJZLGNBQWEsRUFDaEI7O0FqRHhjRDtFSDQ3V04sa0RBQWtEO0VvRC8rVmhEO0lBQ0ksY0FBYSxFQUtoQjtJcEQ0K1ZELGtEQUFrRDtJb0RsL1ZsRDtNQUlRLGVBQWMsRUFDakI7RXBEZy9WUCxrREFBa0Q7RW9Eci9WaEQ7SUFRSSxlQUFjLEVBQ2pCLEVBQUE7O0FwRGcvVkwsa0RBQWtEO0FvRDcrVmxEO0VBRVEsb0JuRDFiVSxFbUQyYmI7O0FwRDgrVkwsa0RBQWtEO0FvRGovVmxEO0VBTVEsWUFBVztFQUNYLGtCQUFpQixFQUNwQjs7QUFHTCxrQkFBa0I7QXBENCtWbEIsa0RBQWtEO0FvRDMrVmxEO0UzQzFlSSxZQUFXO0VBQ1gsZUFBYztFQUNkLFlBQVc7RTJDMmVQLGlCbkRoZEcsRW1EK2ROO0VwRCs5Vkgsa0RBQWtEO0VvRGovVnBEO0lBTVksa0JBQWlCLEVBQ3BCO0VwRDYrVlAsa0RBQWtEO0VvRHAvVnBEO0lBVVksWUFBVztJQUNYLFlBQVc7SUFDWCxvQkFBbUIsRUFDdEI7RXBENCtWUCxrREFBa0Q7RW9Eei9WcEQ7SUFnQlksWUFBVyxFQUNkOztBcEQ0K1ZULGtEQUFrRDtBb0R4K1ZsRDtFM0MvZkksWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXO0UyQ2lnQkgsWUFBVztFQUNYLGlCbkRyZUs7RW1Ec2VMLGVBQWMsRUFPakI7RXBEbStWUCxrREFBa0Q7RW9EaC9WcEQ7SUFVb0Isb0JuRDFlSCxFbUQyZUE7O0FwRHkrVmpCLGtEQUFrRDtBb0RwL1ZsRDtFQWtCWSxtQm5EM2VNLEVtRDRlVDs7QXBEcStWVCxrREFBa0Q7QW9EeC9WbEQ7RUFzQlksWUFBVyxFQUNkOztBcERxK1ZULGtEQUFrRDtBb0Q1L1ZsRDtFQTBCWSxhQUFZLEVBU2Y7RXBENDlWUCxrREFBa0Q7RW9ELy9WcEQ7STNDL2ZJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFMkMyaEJGO0VwRHMrVlgsa0RBQWtEO0VvRHBnV3BEO0lBaUNnQixrQkFBaUIsRUFDcEI7O0FwRHMrVmIsa0RBQWtEO0FvRHhnV2xEO0VBdUNRLHFCbkQzZ0JFO0VtRDRnQkYsb0JuRDVnQkU7RW1ENmdCRixpQ25EeGJrQixFbUQrY3JCO0VwRDY4Vkgsa0RBQWtEO0VvRDdnV3BEO0kzQy9mSSxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRTJDMGlCTjtFcERxK1ZQLGtEQUFrRDtFb0RsaFdwRDtJQWdEWSxhQUFZLEVBV2Y7SXBEMDlWTCxrREFBa0Q7SW9EcmhXdEQ7TUFtRGdCLFlBQVc7TUFDWCxrQkFBaUI7TUFDakIsbUJBQWtCLEVBQ3JCO0lwRG8rVlQsa0RBQWtEO0lvRDFoV3REO01BeURnQixlQUFjLEVBQ2pCO0VwRG0rVlgsa0RBQWtEO0VvRDdoV3BEO0lBOERZLG1CQUFrQixFQUNyQjs7QWpEempCRDtFSDRoWE4sa0RBQWtEO0VvRDk5VmhEO0lBR1EsZ0JBQWUsRUFDbEI7RXBENjlWUCxrREFBa0Q7RW9EcmlXcEQ7SUE0RWdCLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7RXBEMjlWWCxrREFBa0Q7RW9EemlXcEQ7SUFpRmdCLGlCQUFnQixFQUtuQjtJcERzOVZULGtEQUFrRDtJb0R4K1ZsRDtNQWdCZ0IsWUFBVyxFQUNkLEVBQUE7O0FFN2xCakI7O2tEQUVrRDtBdER5alhsRCxpREFBaUQ7QXNEdmpYakQ7RUFFUSxXQUFVO0VBQ1YsbUJBQWtCLEVBQ3JCOztBdER3alhMLGlEQUFpRDtBc0Q1alhqRDtFQU9RLGVBQWM7RUFDZCxtQkFBa0IsRUFLckI7RXREbWpYSCxpREFBaUQ7RXNEaGtYbkQ7SUFXWSxZQUFXLEVBQ2Q7O0FDaEJUOztrREFFa0Q7QUFFbEQsWUFBWTtBdkR3a1haLHFEQUFxRDtBdUR2a1hyRDs7O0U5Q0lJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFOENEVjs7QUFHTCw0QkFBNEI7QXZEd2tYNUIscURBQXFEO0F1RHZrWHJEOztFdEJ0QkUsb0NoQ2lQOEI7RWdDaFA5QixnQmhDNlBlO0VnQzVQZixlN0IyQmE7RTZCMUJiLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsaUJBQWdCO0VzQnNCZCxnQnREaU9XO0VzRGhPWCxtQkFBa0I7RUFDbEIsZW5EQVc7RW1EQ1gsc0JBQXFCO0VBQ3JCLHdCQUF1QixFQUMxQjs7QXZENGtYRCxxREFBcUQ7QXVEMWtYckQ7RUFFSSxnQkFBZSxFQWtDbEI7RXZEeWlYQyxxREFBcUQ7RXVEN2tYdkQ7SUFLUSxtQkFBeUMsRUFDNUM7RXZEMGtYSCxxREFBcUQ7RXVEaGxYdkQ7SUFTUSxnQkFBZTtJQUNmLHNCQUFxQixFQUN4QjtFdkR5a1hILHFEQUFxRDtFdURwbFh2RDtJQWNRLGNBQWE7SUFDYixvQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxTQUFRO0lBQ1IsT0FBTTtJQUNOLFVBQVM7SUFDVCxpRUFBZ0U7SUFDaEUsWUFBVyxFQUNkO0V2RHdrWEgscURBQXFEO0V1RC9sWHZEO0lBMkJZLG1CQUFrQixFQUNyQjtFdkRza1hQLHFEQUFxRDtFdURsbVh2RDtJQStCWSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU8sRUFDVjs7QXZEc2tYVCxxREFBcUQ7QXVEbGtYckQ7RUFFSSxVQUFTO0VBQ1Qsb0JBQW1CLEVBRXRCOztBdkRra1hELHFEQUFxRDtBdURoa1hyRDtFQUNJLGtCQUFpQjtFQUNqQixRQUFPO0VBQ1AsWUFBVztFQUNYLG1DQUFrQyxFQXVEckM7RXZEMmdYQyxzREFBc0Q7RXVEdGtYeEQ7SUFPUSxZQUFXO0lBQ1gsUUFBTztJQUNQLGtCQUFpQixFQWFwQjtJdkRxalhELHNEQUFzRDtJdUQza1gxRDtNQWVZLGNBQWEsRUFDaEI7SXZEOGpYTCxzREFBc0Q7SXVEOWtYMUQ7TUFtQmdCLDJCQUEwQixFQUM3QjtFdkQ2alhYLHNEQUFzRDtFdUR6alhwRDtJQUNJLHNCQUFxQjtJQUNyQixZQUFXO0lBQ1gsVUFBUztJQUNULG9CQUFtQixFQUN0QjtFdkQwalhILHNEQUFzRDtFdUR2bFh4RDtJQWlDWSxlQUFjLEVBQ2pCO0V2RHdqWFAsc0RBQXNEO0V1RDFsWHhEO0lBcUNZLHNCdERvRW1CO0lzRG5FbkIsbUJBQWtCLEVBTXJCO0l2RGtqWEwsc0RBQXNEO0l1RDlsWDFEO01BeUNnQixhQUFZO01BQ1osMEJBQXlCLEVBQzVCO0V2RHVqWFgsc0RBQXNEO0V1RGxtWHhEO0lBK0NZLFlBQVc7SUFDWCxpQkFBZ0IsRUFDbkI7RXZEcWpYUCxzREFBc0Q7RXVEdG1YeEQ7SUFxRFEsZUFBYyxFQUNqQjtFdkRtalhILHNEQUFzRDtFdUR6bVh4RDtJQXlEUSxXQUFVLEVBQ2I7O0F2RG1qWEwsc0RBQXNEO0F1RGhqWHREO0VBRVEsa0JBQWlCO0VBQ2pCLFdBQVUsRUFDYjs7QXZEaWpYTCxzREFBc0Q7QXVEcmpYdEQ7RUFPUSxhQUFZO0VBQ1osa0JBQTJCO0VBQzNCLGtCQUFpQjtFQUNqQixpQkFBZ0IsRUFTbkI7RXZEd2lYSCxzREFBc0Q7RXVEM2pYeEQ7SUFhWSxxQkFBb0IsRUFDdkI7RXZEZ2pYUCxzREFBc0Q7RXVEOWpYeEQ7SUFpQlksc0J0RHZFSSxFc0R3RVA7O0F2RGdqWFQsc0RBQXNEO0F1RGxrWHREO0VBc0JRLG9CdERlcUI7RXNEZHJCLDBCdERtQmlCO0VzRGxCakIsbUJBQXlDO0VBQ3pDLGVBQWM7RUFDZCxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsb0JBQW1CLEVBT3RCO0V2RHdpWEgsc0RBQXNEO0V1RDdrWHhEO0lBaUNZLHVCQUFzQjtJQUN0QixtQkFBMkM7SUFDM0Msd0JBQXVCLEVBQzFCOztBdkQraVhULHNEQUFzRDtBdURubFh0RDtFQXdDUSxXQUFVLEVBQ2I7O0FwRC9KRztFSDhzWE4sc0RBQXNEO0V1RDFpWHBEO0lBQ0ksWUFBVyxFQUNkLEVBQUE7O0F2RDRpWEwsc0RBQXNEO0F1RHppWHREO0VBRVEsbUJBQWtCLEVBYXJCO0V2RDZoWEgsc0RBQXNEO0V1RDVpWHhEO0lBS1ksa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsU0FBUSxFQUNYO0V2RHlpWFAsc0RBQXNEO0V1RGxqWHhEO0lBWVksZUFBYztJQUNkLFlBQVcsRUFDZDs7QXZEeWlYVCxzREFBc0Q7QXVEdmpYdEQ7RUFrQlEsc0JBQXFCO0VBQ3JCLGtCQUFpQixFQU1wQjtFdkRraVhILHNEQUFzRDtFdUQzalh4RDtJQXNCWSxzQnREL0JhO0lzRGdDYixnQkFBZSxFQUNsQjs7QUFJVCx5QkFBeUI7QXZEcWlYekIsc0RBQXNEO0F1RHBpWHREOzs7RUFPSSw0QkFBMkIsRUFnQjlCO0V2RGtoWEMsc0RBQXNEO0V1RHppWHhEOzs7SUFVUSxjQUFhLEVBQ2hCO0V2RG1pWEgsc0RBQXNEO0V1RDlpWHhEOzs7SUFjUSxnQkFBZTtJQUNmLG9CdER2SFU7SXNEd0hWLDRCQUEyQjtJQUMzQixrQkFBaUI7SUFDakIsdUJBQXNCO0lBQ3RCLFlBQVc7SUFDWCxlQUFjO0lBQ2QsbUJBQXlDLEVBQzVDOztBQUdMLFlBQVk7QXZEbWlYWixzREFBc0Q7QXVEbGlYdEQ7RUFDSSxldERqSmlCLEVzRGtKcEI7O0F2RG9pWEQsc0RBQXNEO0F1RGxpWHREO0VBR1ksWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXO0VBQ1gsVUFBUyxFQXFCWjtFdkQ2Z1hQLHNEQUFzRDtFdUR4aVh4RDs7SUFVZ0IsZ0J0RFBBLEVzRFFIO0V2RGlpWFgsc0RBQXNEO0V1RDVpWHhEO0lBY2dCLGVBQWM7SUFDZCxpQkFBZ0I7SXRCelE5QixvQ2hDaVA4QjtJZ0NoUDlCLGdCaEM2UGU7SWdDNVBmLGU3QjJCYTtJNkIxQmIsdUJBQXNCO0lBQ3RCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SXNCc1FGLGdCQUFlLEVBQ2xCO0V2RHFpWFgsc0RBQXNEO0V1RHZqWHhEO0lBcUJnQixnQkFBZTtJQUNmLGtCdERuQkE7SXNEb0JBLGVuRHBQRDtJbURxUEMsa0JBQWlCO0lBQ2pCLGNBQVksRUFDZjs7QXZEcWlYYixzREFBc0Q7QXVEL2pYdEQ7RUE4QlksWUFBVztFQUNYLGFBQVksRUFDZjs7QXZEb2lYVCxzREFBc0Q7QXVEcGtYdEQ7RUFtQ1ksY0FBYSxFQUNoQjs7QXZEb2lYVCxzREFBc0Q7QXVEeGtYdEQ7RUF3Q1Esa0NBQWlDO0VBQ2pDLGdCQUFlLEVBQ2xCOztBQzVSTDs7a0RBRWtEO0F4RGcwWGxELHlDQUF5QztBd0Q5elh6QztFQUVRLGlCQUFnQixFQUNuQjs7QXhEK3pYTCx5Q0FBeUM7QXdEbDBYekM7RUFLUSxpQkFBZ0IsRUFDbkI7O0F4RGcwWEwseUNBQXlDO0F3RHQwWHpDO0V2QlpFLG9DaENpUDhCO0VnQ2hQOUIsZ0JoQzZQZTtFZ0M1UGYsZTdCMkJhO0U2QjFCYix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUloQixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGlCQUFnQjtFdUJXViwwQkFBeUIsRUFDNUI7O0F4RHcwWEwseUNBQXlDO0F3RHIwWHpDO0VBU1ksaUJBQWdCO0VBQ2hCLGNBQWEsRUFPaEI7RXhEd3pYUCx5Q0FBeUM7RXdEejBYM0M7O0lBY2dCLFlBQVc7SUFDWCxVQUFTLEVBQ1o7O0F4RCt6WGIseUNBQXlDO0F3RC8wWHpDO0VBcUJnQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLHNCQUF5QixFQUM1Qjs7QXJENUJMO0VIMDFYTix5Q0FBeUM7RXdEdDFYM0M7O0lBa0NvQixlQUFjO0lBQ2QsaUJBQWdCLEVBQ25CO0V4RHV6WGYseUNBQXlDO0V3RDMxWDNDO0lBdUNvQixvQkFBbUIsRUFDdEI7RXhEc3pYZix5Q0FBeUM7RXdEOTFYM0M7SUEyQ29CLG1CQUFrQixFQUNyQixFQUFBOztBckRoRFQ7RUh1MlhOLHlDQUF5QztFd0RuMlgzQztJQW9EZ0IsaUJBQWdCLEVBQ25CO0V4RGl6WFgseUNBQXlDO0V3RHQyWDNDO0lBd0RnQixvQkFBbUIsRUFDdEIsRUFBQTs7QXJEN0RMO0VIKzJYTiwwQ0FBMEM7RXdEMzJYNUM7SUFnRWdCLHFCdkQ1Q0wsRXVENkNFO0V4RDZ5WFgsMENBQTBDO0V3RDkyWDVDO0lBb0VnQixrQnZEaERMO0l1RGlESyw4QnZEeUZlLEV1RHhGbEIsRUFBQTs7QXJEMUVMO0VIdzNYTiwwQ0FBMEM7RXdEcDNYNUM7SUE0RVksY0FBYSxFQUNoQixFQUFBOztBeEQyeVhULDBDQUEwQztBd0R4M1gxQztFQWdGUSxjQUFhLEVBQ2hCOztBeEQyeVhMLDBDQUEwQztBd0R4eVgxQztFQUNJLG1CQUFrQjtFQUNsQixzRHZEMkdvRDtFdUQxR3BELGdCdkQySVc7RXVEMUlYLGV2RFppQixFdURhcEI7O0F4RDB5WEQsMENBQTBDO0F3RHh5WDFDO0VBRVEsY0FBYSxFQUNoQjs7QXhEeXlYTCwwQ0FBMEM7QXdENXlYMUM7RUFLUSxnQnZEa0lPO0V1RGpJUCxtQnZEL0VFLEV1RGdGTDs7QXhEMHlYTCwwQ0FBMEM7QXdEdnlYMUM7RUFDSSxjQUFhO0VBQ2IsMEJ2RHFEcUI7RXVEcERyQixjdkQzRWM7RXVENEVkLG1CQUFrQixFQXFCckI7RXhEb3hYQywwQ0FBMEM7RXdEN3lYNUM7SUFPUSxlQUFjLEVBQ2pCO0V4RHd5WEgsMENBQTBDO0V3RGh6WDVDO0lBV1EsMER2RGdGbUQsRXVEL0V0RDtFeER1eVhILDBDQUEwQztFd0Ruelg1QztJQWVRLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sU0FBUTtJQUNSLGN2RDFGVTtJdUQyRlYsZ0J2RDJHUSxFdUQxR1g7RXhEc3lYSCwwQ0FBMEM7RXdEMXpYNUM7SUF1QlEsY0FBYSxFQUNoQjs7QXhEc3lYTCwwQ0FBMEM7QXdEbnlYMUM7RUFFUSxpQnZEK0dhO0V1RDlHYixpQkFBZ0IsRUFDbkI7O0F4RG95WEwsMENBQTBDO0F3RHh5WDFDOztFQVFRLGlCdkR5R2EsRXVEcEdoQjtFckRqSkc7SUhpN1hKLDBDQUEwQztJd0Q3eVg5Qzs7TUFXWSxlQUFjLEVBRXJCLEVBQUE7O0F4RHF5WEwsMENBQTBDO0F3RGx6WDFDO0VBZ0JRLGNBQWEsRUFDaEI7O0F4RHF5WEwsMENBQTBDO0F3RHR6WDFDO0VBb0JRLGlCQUFnQixFQUNuQjs7QXhEcXlYTCwwQ0FBMEM7QXdEbHlYMUM7O0VBR1EsaUJ2RHNGYSxFdURqRmhCO0VyRHBLRztJSG04WEosMENBQTBDO0l3RHZ5WDlDOztNQU1ZLGVBQWMsRUFFckIsRUFBQTs7QXhEb3lYTCwwQ0FBMEM7QXdENXlYMUM7RUFXUSxjQUFhLEVBQ2hCOztBeERveVhMLDBDQUEwQztBd0RoelgxQztFQWVRLFlBQVcsRUFDZDs7QUFHTDs7a0RBRWtEO0F4RGt5WGxELDBDQUEwQztBd0RoeVgxQztFQUVRLGlCQUFnQixFQW9HbkI7RXhENnJYSCwwQ0FBMEM7RXdEbnlYNUM7SUFNZ0IsWUFBVztJQUNYLG9CQUFtQjtJQUNuQixtQkFBa0I7SUFDbEIsWUFBVztJQUNYLDJCQUEwQixFQXNDN0I7SXhEMHZYVCwwQ0FBMEM7SXdEMXlYOUM7TUFhb0IsbUJBQWtCO01BQ2xCLGlCQUFnQjtNQUNoQixlQUFjLEVBZ0NqQjtNeERnd1hYLDBDQUEwQztNd0QveVhoRDtRQWtCd0Isb0NBQW1DO1FBQ25DLHVCQUFzQjtRQUN0QixrQkFBaUI7UUFDakIsMEJBQXlCLEVBQzVCO014RCt4WGYsMENBQTBDO013RHJ6WGhEO1FBeUJ3Qix1QkFBc0I7UUFDdEIsa0JBQWlCO1FBQ2pCLGlCQUFnQixFQUNuQjtNeEQ4eFhmLDBDQUEwQztNd0QxelhoRDtRQStCd0Isb0N2RFNRO1F1RFJSLGdCdkRtQlQ7UXVEbEJTLGVwRDdNVDtRb0Q4TVMsb0JBQW1CLEVBWXRCO1F4RGt4WGIsMENBQTBDO1F3RGgwWGxEO1VBcUM0QixrQkFBaUIsRUFRcEI7VXhEc3hYZiwwQ0FBMEM7VXdEbjBYcEQ7WUF3Q2dDLG9CQUFtQjtZQUNuQixZQUFXO1lBQ1gsbUJBQWtCO1lBQ2xCLGlCQUFnQixFQUNuQjtFeEQ2eFgzQiwwQ0FBMEM7RXdEejBYNUM7SUFtRGdCLFlBQVc7SUFDWCxXQUFVO0lBQ1YsWUFBVyxFQTBDZDtJeEQrdVhULDBDQUEwQztJd0Q5MFg5QztNQXdEb0IsbUN2RGpCZTtNdURrQmYsZ0J2RFJQLEV1RFVJO0l4RHV4WGIsMENBQTBDO0l3RGwxWDlDO01BOERvQixtQkFBa0I7TUFDbEIsaUJBQWdCO01BQ2hCLGVBQWMsRUE4QmpCO014RHl2WFgsMENBQTBDO013RHYxWGhEO1FBbUV3QixvQ0FBbUM7UUFDbkMsdUJBQXNCO1FBQ3RCLGtCQUFpQjtRQUNqQiwwQkFBeUIsRUFDNUI7TXhEc3hYZiwwQ0FBMEM7TXdENzFYaEQ7UUEwRXdCLHNCQUFxQjtRQUNyQixrQkFBaUIsRUFDcEI7TXhEcXhYZiwwQ0FBMEM7TXdEajJYaEQ7UUErRXdCLGlCQUFnQjtRQUNoQixXQUFVO1FBQ1YsVUFBUztRQUNULGlCQUFnQjtRQUNoQixpQkFBZ0IsRUFTbkI7UXhENHdYYiwwQ0FBMEM7UXdEeDJYbEQ7VUFzRjRCLFlBQVcsRUFDZDtReERveFhqQiwwQ0FBMEM7UXdEMzJYbEQ7VUEwRjRCLG9DQUFtQyxFQUN0QztFeERteFh2QiwwQ0FBMEM7RXdEOTJYNUM7SUFrR2dCLG9CQUFtQjtJQUNuQixpQkFBZ0IsRUFDbkI7O0FyRHZSTDtFSHVpWU4sMENBQTBDO0V3RHAzWDVDO0lBNkdZLGtCQUFpQixFQXlDcEI7SXhEaXVYTCwwQ0FBMEM7SXdENXdYMUM7TUFLWSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYSxFQXFDaEI7TXhEcXVYUCwwQ0FBMEM7TXdEMTNYaEQ7UUFtSG9CLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2Isc0JBQWE7WUFBYixrQkFBYTtnQkFBYixjQUFhO1FBQ2Isa0JBQWlCO1FBQ2pCLGNBQWE7UUFDYixhQUFZO1FBQ1osZUFBYyxFQVlqQjtReEQ4dlhULDBDQUEwQztRd0RsNFhsRDtVQTJId0IsaUJBQWdCO1VBQ2hCLGVBQWM7VUFDZCxpQkFBZ0I7VUFDaEIsa0JBQWlCLEVBS3BCO1V4RHF3WFgsMENBQTBDO1V3RDd4WGhEO1lBc0J3QixzQkFBcUIsRUFDeEI7TXhEeXdYbkIsMENBQTBDO013RDM0WGhEO1FBdUlvQixzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLHNCQUFhO1lBQWIsa0JBQWE7Z0JBQWIsY0FBYSxFQVloQjtReEQydlhULDBDQUEwQztRd0QvNFhsRDtVQTJJd0Isa0JBQWlCO1VBQ2pCLG1CQUFrQjtVQUNsQixpQkFBZ0I7VUFDaEIsaUJBQWdCLEVBS25CO1V4RGt3WFgsMENBQTBDO1V3RDF5WGhEO1lBc0N3QixzQkFBcUIsRUFDeEIsRUFBQTs7QUFRekI7O2tEQUVrRDtBeERnd1hsRCwwQ0FBMEM7QXdEL3ZYMUM7RUFNUSwrQnBEL1VPO0VvRGdWUCxtQkFBa0I7RXZCN1d4QixvQ2hDaVA4QjtFZ0NoUDlCLGdCaEM2UGU7RWdDNVBmLGU3QjJCYTtFNkIxQmIsdUJBQXNCO0VBQ3RCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFJaEIsa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixpQkFBZ0IsRXVCNGFiO0V4RDJyWEgsMENBQTBDO0V3RDV3WDVDO0lBYWdCLFVBQVM7SUFDVCxpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQixzQkFBcUI7SUFDckIsMEJBQXlCO0lBQ3pCLGlCdkR2SE0sRXVEd0hUO0V4RGl3WFgsMENBQTBDO0V3RHJ4WDVDO0l2QnRXRSxvQ2hDaVA4QjtJZ0NoUDlCLGdCaEM2UGU7SWdDNVBmLGU3QjJCYTtJNkIxQmIsdUJBQXNCO0lBQ3RCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFJaEIsa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixpQkFBZ0I7SXVCb1hOLDBCQUF5QjtJQUN6QixvQkFBbUIsRUFDdEI7RXhEdXdYUCwwQ0FBMEM7RXdEbHlYNUM7SUE4QlksbUJBQWtCO0lBQ2xCLGtCQUFpQixFQWtCcEI7SXhEcXZYTCwwQ0FBMEM7SXdEdHlYOUM7TUFrQ2dCLGlCQUFnQixFQUNuQjtJeERzd1hULDBDQUEwQztJd0R6eVg5QztNQXNDZ0IsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixPQUFNO01BQ04saUJBQWdCLEVBQ25CO0l4RHF3WFQsMENBQTBDO0l3RC95WDlDOztNQThDZ0IsbUJBQWtCO01BQ2xCLFdBQVUsRUFDYjtFeERvd1hYLDBDQUEwQztFd0Rwelg1Qzs7O0lBc0RZLFlBQVc7SUFDWCxzQkFBcUIsRUFDeEI7RXhEa3dYUCwwQ0FBMEM7RXdEMXpYNUM7SUEyRFksY0FBYSxFQUNoQjtFeERpd1hQLDBDQUEwQztFd0Q3elg1QztJQStEWSxnQnZEdktLO0l1RHdLTCxvQ3ZEckxvQjtJdURzTHBCLGVwRDFZRyxFb0QyWU47RXhEZ3dYUCwwQ0FBMEM7RXdEbDBYNUM7SUFxRVksaUJ2RDdYRDtJdUQ4WEMsb0J2RDlYRDtJdUQrWEMsaUJ2RGxLUyxFdURtS1o7RXhEK3ZYUCwwQ0FBMEM7RXdEdjBYNUM7SUEyRWdCLHdCQUF1QixFQUMxQjtFeEQ4dlhYLDBDQUEwQztFd0QxMFg1QztJQStFWSxjQUFhLEVBQ2hCOztBeEQ4dlhULDBDQUEwQztBd0Q5MFgxQztFOUI1UUksZ0J6QjRKYTtFeUIzSmIsbUN6QnFKK0I7RXlCcEovQixpQnpCc0trQjtFeUJyS2xCLGV0QmhFVztFc0JpRVgsb0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQix3QkFBdUI7RThCNFZmLDBCQUF5QixFQUM1Qjs7QXhEa3dYVCwwQ0FBMEM7QXdEejFYMUM7RUEwRmdCLG9DdkQvTWdCO0V1RGdOaEIsZ0J2RHJNRDtFdURzTUMsZXBEcmFEO0U2QnBCYixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGlCQUFnQixFdUI0Ykw7RXhEZ3dYWCwwQ0FBMEM7RXdEajJYNUM7SUErRm9CLGlCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRLEVBQ1g7O0F4RHF3WGpCLDBDQUEwQztBd0RyMlgxQztFQW1HZ0IsMkJBQTBCLEVBSTdCO0V4RGl3WFgsMENBQTBDO0V3RHgyWDVDO0lBcUdvQixlcEQ5YUwsRW9EK2FFOztBeERzd1hqQiwwQ0FBMEM7QXdENTJYMUM7RUE0R1EsZ0JBQWUsRUFxRGxCO0V4RDhzWEgsMENBQTBDO0V3RC8yWDVDO0lBZ0hnQixvQ3ZEck9nQjtJdURzT2hCLDBCQUF5QjtJQUN6QixtQkFBa0I7SUFDbEIsZ0J2RDNOQztJZ0NyUGYsa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixpQkFBZ0IsRXVCZ2RMO0V4RG13WFgsMENBQTBDO0V3RHgzWDVDO0lBeUhZLG9CQUFtQixFQUt0QjtJeEQ2dlhMLDBDQUEwQztJd0QzM1g5QztNQTRIZ0Isb0JBQW1CLEVBQ3RCO0V4RGl3WFgsMENBQTBDO0V3RDkzWDVDO0lBa0lnQixlQUFjLEVBQ2pCO0V4RDh2WFgsMENBQTBDO0V3RGo0WDVDO0lBdUlZLGNBQWEsRUFDaEI7RXhENHZYUCwwQ0FBMEM7RXdEcDRYNUM7SXZCdFdFLG9DaENpUDhCO0lnQ2hQOUIsZ0JoQzZQZTtJZ0M1UGYsZTdCMkJhO0k2QjFCYix1QkFBc0I7SUFDdEIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJQUloQixrQkFBaUI7SUFDakIsb0JBQW1CO0lBQ25CLGlCQUFnQixFdUJ5ZUw7RXhEaXdYWCwwQ0FBMEM7RXdELzRYNUM7SUFnSmdCLGtCQUFpQixFQUNwQjtFeERpd1hYLDBDQUEwQztFd0RsNVg1QztJQW1KZ0IsZ0J2RDNQQztJdUQ0UEQsaUJBQWdCO0lBQ2hCLDBCQUF5QjtJQUN6QixrQkFBaUIsRUFDcEI7RXhEaXdYWCwwQ0FBMEM7RXdEeDVYNUM7SUF5SmdCLG9DdkQ5UWdCLEV1RCtRbkI7RXhEaXdYWCwwQ0FBMEM7RXdEMzVYNUM7SUE2Sm9CLGtCQUFpQixFQUNwQjs7QXhEaXdYakIsMENBQTBDO0F3RC81WDFDO0VBdUtvQixlQUFzQixFQUN6Qjs7QXhEMnZYakIsMENBQTBDO0F3RG42WDFDO0VBNktvQixvQnZEbmVILEV1RG9lQTs7QXhEeXZYakIsMENBQTBDO0F3RHY2WDFDO0VBaUxvQixpQnZEemVULEV1RDBlTTs7QXhEeXZYakIsMENBQTBDO0F3RDM2WDFDO0VBd0xnQixpQnZEdmVFO0V1RHdlRixpQkFBZ0IsRUFDbkI7O0F4RHN2WGIsMENBQTBDO0F3RGg3WDFDO0VBNkxnQixzQkFBcUI7RUFDckIsaUJBQWdCLEVBQ25COztBeERzdlhiLDBDQUEwQztBd0RyN1gxQztFQW9NZ0Isb0J2RDFmQyxFdUQyZko7O0F4RG92WGIsMENBQTBDO0F3RHo3WDFDO0VBMk1vQixpQnZEMWZGO0V1RDJmRSxpQkFBZ0IsRUFLbkI7RXhENHVYZiwwQ0FBMEM7RXdENzdYNUM7SUErTXdCLG1CQUFrQixFQUNyQjs7QXhEaXZYckIsMENBQTBDO0F3RGo4WDFDO0VBb05vQixnQkFBZTtFQUNmLGlCQUFnQixFQUNuQjs7QXhEZ3ZYakIsMENBQTBDO0F3RDF1WDFDOztFQUlZLFlBQVc7RUFDWCxZQUFXO0VBQ1gsbUJ2RGpoQk0sRXVEa2hCVDs7QXhEMHVYVCwwQ0FBMEM7QXdEanZYMUM7RUFVWSxZQUFXO0VBQ1gsWUFBVyxFQUNkOztBQUlUOztrREFFa0Q7QXhEdXVYbEQsMENBQTBDO0F3RHJ1WDFDO0VBRVEsaUJ2RDFpQkc7RXVEMmlCSCxpQ3BENWpCTztFb0Q2akJQLG9CQUFtQixFQWdCdEI7RXhEc3RYSCwwQ0FBMEM7RXdEMXVYNUM7SUFPWSxnQnZEbldDO0l1RG9XRCxzQkFBcUI7SUFDckIsaUJBQWdCO0lBQ2hCLDBCQUF5QjtJQUN6QixjQUFhO0lBQ2IsZ0JBQWUsRUFDbEI7RXhEcXVYUCwwQ0FBMEM7RXdEbHZYNUM7SUFnQlksY3ZEL2lCTTtJdURnakJOLG1DdkR2WHVCO0l1RHdYdkIsd0JBQXVCLEVBQzFCOztBeERxdVhULDBDQUEwQztBd0R4dlgxQzs7RUF3QlEsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix1Q0FBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QixFQUtqQztFeEQrdFhILDBDQUEwQztFd0Q5dlg1Qzs7SUE2QlksZ0J2RHpYQyxFdUQwWEo7O0F4RHF1WFQsMENBQTBDO0F3RG53WDFDO0VBa0NRLHFCQUFvQjtFQUNwQixvQkFBbUIsRUFRdEI7RXhENHRYSCwwQ0FBMEM7RXdEdndYNUM7O0lBdUNZLG9DdkQ1WW9CO0l1RDZZcEIsMEJBQXlCO0lBQ3pCLG9CQUFtQixFQUN0Qjs7QXhEb3VYVCwwQ0FBMEM7QXdEOXdYMUM7O0VBZ0RZLHlCQUFpQztFQUNqQyxrQkFBaUIsRUFtQnBCO0V4RCtzWFAsMENBQTBDO0V3RG54WDVDOztJQW9EZ0IsbUJBQWtCO0lBQ2xCLHFCQUFvQjtJQUNwQixvQ3ZEM1pnQixFdUR3YW5CO0l4RHN0WFQsMENBQTBDO0l3RHp4WDlDOzs7O01BMERvQixnQnZEbFpIO011RG1aRyxpQkFBZ0I7TUFDaEIsb0N2RGphWTtNdURrYVosZXBEdG5CTCxFb0R1bkJFO0l4RG91WGIsMENBQTBDO0l3RGx5WDlDOztNQWlFb0Isb0JBQTRCLEVBQy9COztBeERxdVhqQiwwQ0FBMEM7QXdEdnlYMUM7RUF5RVksa0JBQWlCLEVBQ3BCOztBeERpdVhULDBDQUEwQztBd0QzeVgxQztFQTZFWSxnQkFBdUI7RUFDdkIsOEJ2RDVlbUIsRXVENmdCdEI7RXhEZ3NYUCwwQ0FBMEM7RXdEL3lYNUM7SUFpRmdCLGNBQWEsRUFDaEI7RXhEZ3VYWCwwQ0FBMEM7RXdEbHpYNUM7SUFxRmdCLG9CQUFtQjtJQUNuQixZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGdCdkRsYkQsRXVEbWJGO0V4RCt0WFgsMENBQTBDO0V3RHh6WDVDO0lBNEZnQixrQkFBaUIsRUFrQnBCO0l4RDZzWFQsMENBQTBDO0l3RDN6WDlDO00vQ3JrQkksWUFBVztNQUNYLGVBQWM7TUFDZCxZQUFXO00rQ21xQkssaUJBQWdCLEVBYW5CO014RG90WFgsMENBQTBDO013RGowWGhEO1FBbUd3QixZQUFXO1FBQ1gscUV2RDlkaUQ7UXVEK2RqRCxnQnZEL2JUO1F1RGdjUyxrQkFBaUIsRUFDcEI7TXhEZ3VYZiwwQ0FBMEM7TXdEdjBYaEQ7UUEwR3dCLFlBQVc7UUFDWCxrQkFBaUIsRUFDcEI7O0FBT3JCOztrREFFa0Q7QXhEMHRYbEQsMENBQTBDO0F3RHh0WDFDO0VBRVEsc0R2RHBmZ0QsRXVEeWhCbkQ7RXhEb3JYSCwwQ0FBMEM7RXdEM3RYNUM7O0lBTVksa0JBQWlCLEVBQ3BCO0V4RHd0WFAsMENBQTBDO0V3RC90WDVDO0lBVVksbUJBQW1CLEVBS3RCO0l4RG10WEwsMENBQTBDO0l3RGx1WDlDO01BYWdCLGlCdkRucUJFLEV1RG9xQkw7RXJEcnNCTDtJSDY1WUosMENBQTBDO0l3RHR1WDlDOztNQW9CZ0IsWUFBVztNQUNYLGdCQUFlO01BQ2YsaUJBQWdCLEVBS25CO014RGl0WFAsMENBQTBDO013RDV1WGhEOztRQXlCb0IsWUFBVyxFQUNkLEVBQUE7RXJEanRCVDtJSHc2WUosMENBQTBDO0l3RGp2WDlDO01Ba0N3QixvQkFBbUIsRUFDdEIsRUFBQTs7QUFPckI7O2tEQUVrRDtBeEQ0c1hsRCwwQ0FBMEM7QXdEMXNYMUM7RUFHWSxjQUFhLEVBQ2hCOztBeEQwc1hULDBDQUEwQztBd0Q5c1gxQztFQU9nQixlcERydUJEO0VvRHN1QkMsb0N2RGxoQmdCLEV1RG1oQm5COztBeEQwc1hiLDBDQUEwQztBd0RudFgxQztFQVdnQixlcER6dUJELEVvRDB1QkY7O0F4RDJzWGIsMENBQTBDO0F3RHZ0WDFDO0VBY2dCLDJCcEQ1dUJELEVvRDZ1QkY7O0F4RDRzWGIsMENBQTBDO0F3RHZzWDFDO0VBRVEsbUN2RGppQjJCO0V1RGtpQjNCLGlCdkRoaEJjO0V1RGloQmQsZXBEdHZCTyxFb0QwdkJWO0V4RG9zWEgsMENBQTBDO0V3RDVzWDVDO0lBTVksaUJ2RG5oQlUsRXVEb2hCYjs7QXhEeXNYVCwwQ0FBMEM7QXdEaHRYMUM7RUFZZ0Isd0JBQXVCLEVBQzFCOztBeER1c1hiLDBDQUEwQztBd0RwdFgxQztFQWdCb0IsaUJ2RDdoQkUsRXVEOGhCTDs7QXhEdXNYakIsMENBQTBDO0F3RHh0WDFDO0VBcUJZLHlDQUF3QyxFQU0zQztFeERnc1hQLDBDQUEwQztFd0QzdFg1QztJdkIvd0JFLG9DaENpUDhCO0lnQ2hQOUIsZ0JoQzZQZTtJZ0M1UGYsZTdCMkJhO0k2QjFCYix1QkFBc0I7SUFDdEIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJdUJreUJGLG1CQUFrQjtJQUNsQixpQnZEdGlCTSxFdUR1aUJUOztBeEQ0c1hiLDBDQUEwQztBd0R4c1gxQztFQUNJLHFCdkR2dkJjO0V1RHd2QmQsaUN2RHZuQjJCO0V1RHduQjNCLFlBQVc7RUFDWCxvQnZEbndCTyxFdUR1eEJWO0V4RHNyWEMsMENBQTBDO0V3RDlzWDVDOzs7O0lBVVEsZ0JBQWUsRUFDbEI7RXhEeXNYSCwwQ0FBMEM7RXdEcHRYNUM7SUFjUSxtQkFBOEIsRUFDakM7RXhEd3NYSCwwQ0FBMEM7RXdEdnRYNUM7SUFrQlEsbUJBQThCLEVBS2pDO0l4RG1zWEQsMENBQTBDO0l3RDF0WDlDO01BcUJZLGVBQWMsRUFDakI7O0F4RHdzWFQsMENBQTBDO0F3RHBzWDFDO0VBQ0ksb0N2RHZsQjRCO0V1RHdsQjVCLDBCQUF5QixFQUM1Qjs7QXhEc3NYRCwwQ0FBMEM7QXdEcHNYMUM7RUFDSSxvQkFBbUI7RUFDbkIsaUJBQWdCLEVBK0RuQjtFeER1b1hDLDBDQUEwQztFd0R4c1g1QztJQUtRLHFCQUFvQjtJQUNwQixpQ3ZEMXBCdUIsRXVEMnBCMUI7RXhEcXNYSCwwQ0FBMEM7RXdENXNYNUM7SUFVUSxpQkFBZ0I7SUFDaEIsV0FBVSxFQUNiO0V4RG9zWEgsMENBQTBDO0V3RGh0WDVDO0lBZVEsV0FBVSxFQUNiO0V4RG1zWEgsMENBQTBDO0V3RG50WDVDOztJQW9CUSxpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLGtCQUFpQixFQUNwQjtFeERrc1hILDBDQUEwQztFd0R6dFg1QztJQTBCUSxhQUFZO0lBQ1osb0J2RGh6QlU7SXVEaXpCVixZQUFXLEVBV2Q7SXhEdXJYRCwwQ0FBMEM7SXdEOXRYOUM7TXZCNTBCRSxvQ2hDaVA4QjtNZ0NoUDlCLGdCaEM2UGU7TWdDNVBmLGU3QjJCYTtNNkIxQmIsdUJBQXNCO01BQ3RCLGtCQUFpQjtNQUNqQixpQkFBZ0I7TXVCdTJCTixvQ3ZEM25Cb0I7TXVENG5CcEIsaUJBQWdCLEVBS25CO014RGtzWEgsMENBQTBDO013RHh1WGhEO1FBb0NnQixhQUFZLEVBQ2Y7RXhEc3NYWCwwQ0FBMEM7RXdEM3VYNUM7SUEwQ1EsWUFBVztJQUNYLG9DdkR0b0J3QixFdUQycEIzQjtJeEQrcVhELDBDQUEwQztJd0QvdVg5Qzs7TUErQ1ksbUN2RDNvQnVCO011RDRvQnZCLGlCQUFnQixFQUNuQjtJeERtc1hMLDBDQUEwQztJd0Rwdlg5QztNQW9EWSxrQnZEejBCTSxFdUQwMEJUO0l4RGtzWEwsMENBQTBDO0l3RHZ2WDlDO01Bd0RZLG1CdkRwMUJLLEV1RHExQlI7SXhEaXNYTCwwQ0FBMEM7SXdEMXZYOUM7TUE0RFkscUV2RDVxQjZEO011RDZxQjdELG9CQUFtQjtNQUNuQiwwQkFBeUIsRUFDNUI7O0F4RGlzWFQsMENBQTBDO0F3RDdyWDFDO0V2Qi80QkUsb0NoQ2lQOEI7RWdDaFA5QixnQmhDNlBlO0VnQzVQZixlN0IyQmE7RTZCMUJiLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsaUJBQWdCO0VBSWhCLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsaUJBQWdCLEV1Qnc0QmI7O0F4RHFzWEwsMENBQTBDO0F3RHpzWDFDO0V2Qi80QkUsb0NoQ2lQOEI7RWdDaFA5QixnQmhDNlBlO0VnQzVQZixlN0IyQmE7RTZCMUJiLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsaUJBQWdCO0VBSWhCLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsaUJBQWdCLEV1QjQ0QmI7O0F4RDZzWEwsMENBQTBDO0F3RHJ0WDFDO0VBVVEsa0J2RGwyQlU7RXVEbTJCVixpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQ3JCOztBeEQ4c1hMLDBDQUEwQztBd0QzdFgxQztFQWdCUSxrQkFBNkIsRUFDaEM7O0F4RDhzWEwsMENBQTBDO0F3RC90WDFDO0VBb0JRLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUFDbkI7O0F4RDhzWEwsMENBQTBDO0F3RDNzWDFDO0VBRVEsaUJ2RG4zQlU7RXVEbzNCVixpQkFBZ0IsRUFLbkI7RXhEdXNYSCwwQ0FBMEM7RXdEL3NYNUM7SUFNWSxtQkFBa0IsRUFDckI7O0F4RDRzWFQsMENBQTBDO0F3RG50WDFDO0VBV1EsZ0JBQWUsRUFDbEI7O0FyRDk1Qkc7RUgwbVpOLDBDQUEwQztFd0Rqdlg1QztJQTJDWSxrQkFBaUIsRUFDcEI7RXhEd3NYUCwwQ0FBMEM7RXdEcHZYNUM7SUErQ1ksa0JBQWlCLEVBQ3BCO0V4RHVzWFAsMENBQTBDO0V3RDlzWHhDO0lBV1ksY0FBYSxFQUNoQjtFeERxc1hYLDBDQUEwQztFd0RqdFh4QztJQWVZLG1CdkRoNUJFLEV1RGk1Qkw7RXhEb3NYWCwwQ0FBMEM7RXdEcHRYeEM7SUFvQlEsc0J2RHB4Qm1CLEV1RHF4QnRCO0V4RGtzWFAsMENBQTBDO0V3RHZ0WHhDO0lBeUJZLG1CQUFrQixFQUNyQjtFeERnc1hYLDJDQUEyQztFd0QxdFh6QztJQStCWSxxQkFBb0I7SUFDcEIsaUJBQWdCLEVBS25CO0l4RHlyWFQsMkNBQTJDO0l3RDl0WDNDO01BbUNnQixxQnZEMzZCSCxFdUQ0NkJBO0V4RDZyWGYsMkNBQTJDO0V3RGp1WHpDO0lBeUNRLGNBQWEsRUFDaEIsRUFBQTs7QXhEMnJYVCwyQ0FBMkM7QXdEdnJYM0M7RUFDSSxlQUFjLEVBQ2pCOztBeER5clhELDJDQUEyQztBd0R2clgzQztFQUVRLGlCdkRyN0JVLEV1RHM3QmI7O0FyRHY5Qkc7RUhncFpOLDJDQUEyQztFd0RobFk3Qzs7SUErWmdCLG9CdkR2OEJMO0l1RHc4Qkssa0JBQWlCLEVBQ3BCO0V4RG9yWFgsMkNBQTJDO0V3RHIwWTdDO0lBd3BCZ0Isb0JBQW1CLEVBQ3RCLEVBQUE7O0FyRHorQkw7RUgwcFpOLDJDQUEyQztFd0QxMFk3QztJQWtxQmdCLGlCQUFnQixFQU1uQjtJeERxcVhULDJDQUEyQztJd0Q5cVgzQzs7TUFPZ0IsV0FBVSxFQUNiLEVBQUE7O0FyRHYvQlQ7RUhtcVpOLDJDQUEyQztFd0RycVh6QztJQUVRLGNBQWEsRUFDaEI7RXhEcXFYUCwyQ0FBMkM7RXdEeHFYekM7Ozs7SUFVZ0IsY0FBYSxFQUNoQjtFeERtcVhmLDJDQUEyQztFd0Q1MVk3QztJQTZyQlksYUFBWTtJQUNaLGdCQUFlLEVBb0JsQjtJeEQ4b1hMLDJDQUEyQztJd0RoMlkvQztNQWdzQmdCLGdCQUFlLEVBQ2xCO0l4RGtxWFQsMkNBQTJDO0l3RG4yWS9DO01BbXNCZ0IsbUJBQWtCLEVBQ3JCO0l4RGtxWFQsMkNBQTJDO0l3RHQyWS9DO01Bc3NCZ0IsZUFBYztNQUNkLGlCQUFnQjtNQUNoQixtQkFBa0I7TUFDbEIsYUFBWTtNQUNaLGFBQVk7TUFDWixvQnBEaGhDRDtNb0RpaENDLGVwRHJoQ0QsRW9EMGhDRjtNeEQ4cFhQLDJDQUEyQztNd0Rqc1g3QztRQWdDZ0Isb0JwRHZoQ0w7UW9Ed2hDSyxlcERwaENMLEVvRHFoQ0U7RXhEbXFYZiwyQ0FBMkM7RXdENzRYN0M7SUFpUFksWUFBVyxFQUNkO0V4RDhwWFAsMkNBQTJDO0V3RDNwWHpDO0lBRVEsWUFBVztJQUNYLFdBQVU7SUFDVixvQnZEdmhDRCxFdUR3aENGO0V4RDJwWFAsMkNBQTJDO0V3RHA3WDdDO0lBOFJZLGNBQWEsRUFDaEI7RXhEd3BYUCwyQ0FBMkM7RXdEcnBYekM7SUFFUSxpQkFBZ0IsRUFLbkI7SXhEaXBYTCwyQ0FBMkM7SXdEeHBYM0M7TUFJWSxjQUFhO01BQ2IsbUJBQWtCLEVBQ3JCO0V4RHNwWFgsMkNBQTJDO0V3RDVwWHpDO0lBYVksbUJBQWtCLEVBQ3JCO0V4RGlwWFgsMkNBQTJDO0V3RHhwWTdDO0lBMmdCWSxxQnZEampDSztJdURrakNMLG9CdkRwakNELEV1RHFqQ0Y7RXhEK29YUCwyQ0FBMkM7RXdENXBZN0M7O0lBa2hCZ0IsV0FBVTtJQUNWLGlCQUFnQjtJQUNoQixnQkFBZSxFQUNsQjtFeEQ2b1hYLDJDQUEyQztFd0R6cVh6QztJQStCWSxZQUFXO0lBQ1gsaUJBQWdCLEVBQ25CO0V4RDRvWFgsMkNBQTJDO0V3RDdxWHpDO0lBb0NZLGFBQVksRUFDZixFQUFBOztBckQ5bENMO0VIMnVaTiwyQ0FBMkM7RXdEdm9YekM7SUFJZ0IsZ0JBQWUsRUFDbEIsRUFBQTs7QXJEem1DVDtFSGd2Wk4sMkNBQTJDO0V3RGg2WTdDO0lBeXlCZ0IsbUJBQWtCLEVBV3JCO0l4RCttWFQsMkNBQTJDO0l3RG42WS9DO01BNHlCb0IsWUFBVztNQUNYLGlCQUFnQjtNQUNoQixvQnZEcG1DSCxFdUR5bUNBO014RHFuWFgsMkNBQTJDO013RHhvWDdDO1FBaUJvQixpQkFBZ0IsRUFDbkI7RXhEeW5YbkIsMkNBQTJDO0V3RDM2WTdDO0lBd3pCb0Isb0J2RDltQ0gsRXVEK21DQTtFeERxblhmLDJDQUEyQztFd0Q5b1h6QztJQTZCWSxvQnZEbm5DQyxFdURvbkNKO0V4RG1uWFgsMkNBQTJDO0V3RGpwWHpDO0lBaUNZLGNBQWEsRUFDaEI7RXhEa25YWCwyQ0FBMkM7RXdEcHBYekM7SUFzQ2dCLG9CdkQ1bkNIO0l1RDZuQ0csaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7RXhEZ25YZiwyQ0FBMkM7RXdEMXBYekM7SUE2Q2dCLG9CdkRub0NILEV1RG9vQ0E7RXhEK21YZiwyQ0FBMkM7RXdEdC9YN0M7SUE2WVEsaUJ2RDFvQ1MsRXVEMm9DWjtFeEQybVhILDJDQUEyQztFd0R6bVh6Qzs7SUFJWSxjQUFhLEVBQ2hCO0V4RHdtWFgsMkNBQTJDO0V3RDdtWHpDO0lBUVksa0JBQWlCLEVBQ3BCO0V4RHVtWFgsMkNBQTJDO0V3RHZ0WTdDOztJQXduQmdCLFlBQVc7SUFDWCxpQnZEL3BDQyxFdURncUNKO0V4RGttWFgsMkNBQTJDO0V3RHQrWDdDO0lBeVlRLFVBQVMsRUFjWjtJeERrbFhELDJDQUEyQztJd0R6K1gvQzs7TUE2WVksWUFBVztNQUNYLGlDdkRsaUNtQjtNdURtaUNuQixnQkFBc0IsRUFDekI7SXhEK2xYTCwyQ0FBMkM7SXdELytYL0M7TUFtWlksa0JBQWlCO01BQ2pCLGlCQUFnQjtNQUNoQixvQnZEbnJDRCxFdURvckNGO0V4RDhsWFAsMkNBQTJDO0V3RDNsWHpDO0lBRVEsb0JBQW1CLEVBQ3RCLEVBQUE7O0FBSVQ7O2tEQUVrRDtBeER5bFhsRCwyQ0FBMkM7QXdEdmxYM0M7RUFFUSxvQkFBbUIsRUFDdEI7O0F4RHdsWEwsMkNBQTJDO0F3RDNsWDNDO0VBTVEsY0FBYSxFQUNoQjs7QXhEd2xYTCwyQ0FBMkM7QXdEL2xYM0M7RUFVUSw4QnZENWxDeUI7RXVENmxDekIsa0J2RC9zQ0UsRXVEZ3RDTDs7QXJEdHVDRztFSCt6Wk4sMkNBQTJDO0V3RHJsWHpDO0lBSWdCLGFBQVksRUFDZixFQUFBOztBQU9qQjs7a0RBRWtEO0F4RDhrWGxELDJDQUEyQztBd0Q1a1gzQztFQUVRLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhLEVBbURoQjtFeEQwaFhILDJDQUEyQztFd0Qva1g3QztJQUtZLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUFDZCwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0Qix1QkFBc0IsRUE0Q3pCO0l4RGlpWEwsMkNBQTJDO0l3RHJsWC9DO01BWW9CLG1DQUFrQztNQUNsQyxnQkFBZTtNQUNmLHNCQUFxQjtNQUNyQiwwQkFBeUI7TUFDekIsa0JBQWlCO01BQ2pCLG1CQUFrQixFQUNyQjtJeEQya1hiLDJDQUEyQztJd0Q3bFgvQztNQXVCb0Isb0NBQW1DO01BQ25DLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLG9CQUFtQjtNQUNuQixrQkFBaUI7TUFDakIsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixvQkFBbUI7TUFDbkIsV0FBVSxFQUNiO0l4RHdrWGIsMkNBQTJDO0l3RHhtWC9DO01BbUNnQixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CO01BQ25CLHdCQUFlO1VBQWYsb0JBQWU7Y0FBZixnQkFBZSxFQVdsQjtNeEQ2alhQLDJDQUEyQztNd0Q3bVhqRDtRQXVDb0Isd0JBQWU7WUFBZiw2QkFBZTtnQkFBZixnQkFBZTtRQUNmLGdCQUFlLEVBQ2xCO014RHdrWFgsMkNBQTJDO013RGpuWGpEO1FBMkNvQix3QkFBZTtZQUFmLDZCQUFlO2dCQUFmLGdCQUFlLEVBQ2xCO014RHdrWFgsMkNBQTJDO013RHBuWGpEO1FBOENvQix5QkFBZ0I7WUFBaEIsOEJBQWdCO2dCQUFoQixpQkFBZ0IsRUFDbkI7SXhEd2tYYiwyQ0FBMkM7SXdEdm5YL0M7TUFrRGdCLG9DdkRqbENnQixFdURrbENuQjs7QXJEN3lDTDtFSHMzWk4sMkNBQTJDO0V3RC9qWHJDO0lBQ0ksb0JBQW1CLEVBQ3RCLEVBQUE7O0FDdjBDVDs7a0RBRWtEO0F6RHk0WmxELHlDQUF5QztBeUR2NFp6QztFQUVRLGtCeERnQ0c7RXdEL0JILGlCQUFnQixFQW1CbkI7RXpEcTNaSCx5Q0FBeUM7RXlEMzRaM0M7SUFNWSxZQUFXLEVBQ2Q7RXRER0Q7SUhxNFpKLHlDQUF5QztJeUQvNFo3QztNQVVZLGlCQUFnQjtNQUNoQixlQUFjLEVBV3JCO016RDYzWkMseUNBQXlDO015RG41Wi9DO1FBY2dCLFlBQVc7UUFDWCxpQkFBZ0IsRUFDbkI7TXpEdTRaUCx5Q0FBeUM7TXlEdjVaL0M7UUFtQmdCLGFBQVksRUFDZixFQUFBOztBQ3hCYjs7a0RBRWtEO0F2RFkxQztFSHE1Wk4sdUNBQXVDO0UwRC81WnpDOztJQU1vQixhQUFZLEVBQ2YsRUFBQTs7QTFENjVaakIsdUNBQXVDO0EwRHA2WnZDO0VBYVEsb0J6RG1CRTtFeURsQkYscUJ6RGtCRTtFeURqQkYsaUN6RG1JeUIsRXlEbEk1Qjs7QTFEMDVaTCx1Q0FBdUM7QTBEMTZadkM7RUFtQlEsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsVUFBUyxFQUtaO0UxRHE1WkgsdUNBQXVDO0UwRC82WnpDO0lBd0JZLG9CekRRRixFeURQRDs7QXZEZkQ7RUgwNlpOLHVDQUF1QztFMERwN1p6QztJQThCWSxrQkFBaUIsRUFDcEI7RTFEdzVaUCx1Q0FBdUM7RTBEdjdaekM7SUFrQ1ksY0FBYSxFQUNoQixFQUFBOztBMUR3NVpULHVDQUF1QztBMERuNVp2QztFQUNJLGdCekRLaUI7RXlESmpCLG1CekRJaUI7RXlESGpCLG1CQUFrQixFQVNyQjtFMUQ0NFpDLHVDQUF1QztFMER4NVp6QztJQU1RLHNCQUFxQixFQUt4QjtJMURnNVpELHVDQUF1QztJMEQzNVozQztNQVNZLGVBQWMsRUFDakI7O0ExRHE1WlQsdUNBQXVDO0EwRGo1WnZDO0VBQ0ksY0FBYTtFQUNiLG1CQUFrQjtFQUNsQixtQkFBa0IsRUFpQnJCO0UxRGs0WkMsdUNBQXVDO0UwRHQ1WnpDO0lBTVEsZUFBYztJQUNkLGVBQWMsRUFDakI7RTFEazVaSCx1Q0FBdUM7RTBEMTVaekM7SUFVUSxzQkFBcUI7SUFDckIsZ0JBQWUsRUFDbEI7RTFEazVaSCx1Q0FBdUM7RTBEOTVaekM7SUFjUSxhQUFZLEVBQ2Y7RTFEazVaSCx3Q0FBd0M7RTBEajZaMUM7SUFpQlEsd0JBQXVCO0lBQ3ZCLGdCQUFlLEVBQ2xCOztBMURtNVpMLHdDQUF3QztBMEQvNFp4QztFQUNJLGVBQWM7RUFDZCxVQUFTLEVBQ1o7O0F2RHRFTztFSHc5Wk4sd0NBQXdDO0UwRC80WnRDO0lBQ0ksZUFBYyxFQUNqQixFQUFBOztBdkQzRUc7RUg2OVpOLHdDQUF3QztFMEQ5NFp0QztJQUNJLGVBQWMsRUFDakIsRUFBQTs7QTFEZzVaTCx3Q0FBd0M7QTBENzRaeEM7RUFDSSxtQkFBa0I7RUFDbEIsZUFBcUI7RUFDckIsZ0JBQWUsRUFtQmxCO0UxRDQzWkMsd0NBQXdDO0UwRGw1WjFDO0lBTVEsZUFBYztJQUNkLFlBQVcsRUFVZDtJMURxNFpELHdDQUF3QztJMER0NVo1QztNQVVZLHNCQUFxQjtNQUNyQixnQkFBZSxFQUtsQjtNMUQwNFpILHdDQUF3QztNMEQxNVo5QztRQWNnQixnQkFBZSxFQUNsQjtFMUQ4NFpYLHdDQUF3QztFMEQ3NVoxQztJQW9CUSxjQUFhLEVBQ2hCOztBMUQ0NFpMLHdDQUF3QztBMER6NFp4QztFQUVRLGtCQUFpQixFQUNwQjs7QTFEMDRaTCx3Q0FBd0M7QTBEdjRaeEM7RUFDSSxzQkFBcUIsRUFDeEI7O0ExRHk0WkQsd0NBQXdDO0EwRHY0WnhDO0VBRVEsbUJBQWtCO0VBQ2xCLGVBQWMsRUFvQmpCO0UxRG8zWkgsd0NBQXdDO0UwRDM0WjFDO0lBTVksc0JBQXFCO0lBQ3JCLGdCQUFlLEVBUWxCO0kxRGc0Wkwsd0NBQXdDO0kwRC80WjVDO01BVWdCLGFBQVksRUFDZjtJMUR1NFpULHdDQUF3QztJMERsNVo1QztNQWFnQixlQUFjLEVBQ2pCO0UxRHU0Wlgsd0NBQXdDO0UwRHI1WjFDO0lBaUJZLGdCQUFlLEVBS2xCO0kxRGs0Wkwsd0NBQXdDO0kwRHg1WjVDO01BbUJnQixnQnpEOEZBO015RDdGQSxpQkFBZ0IsRUFDbkI7O0FDekpiOztrREFFa0Q7QTNEa2lhbEQsdUNBQXVDO0EyRGhpYXZDO0VBQ0ksWUFBVztFQUNYLFlBQVcsRUEwS2Q7RTNEdzNaQyx1Q0FBdUM7RTJEcGlhekM7SUFLUSw4QjFEcUtpQjtJMERwS2pCLGlDMURvS2lCO0kwRG5LakIsb0JBQW1CLEVBZ0N0QjtJM0RrZ2FELHVDQUF1QztJMkR6aWEzQztNbERLSSxZQUFXO01BQ1gsZUFBYztNQUNkLFlBQVcsRWtESU47STNEbWlhTCx1Q0FBdUM7STJEOWlhM0M7TUFjWSxZQUFXO01BQ1gsZUFBYyxFQUNqQjtJM0RraWFMLHVDQUF1QztJMkRsamEzQztNQW1CWSxZQUFXO01BQ1gsYUFBWTtNQUNaLFlBQVcsRUFpQmQ7TTNEaWhhSCx1Q0FBdUM7TTJEdmphN0M7UUF5Qm9CLGlCQUFnQixFQU9uQjtRM0QwaGFULHVDQUF1QztRMkQxamEvQztVQTRCd0IscUUxRG9MaUQ7VTBEbkxqRCxnQkFBZTtVQUNmLDBCQUF5QixFQUM1QjtNM0RnaWFmLHVDQUF1QztNMkQvamE3QztRQW9DZ0IsY0FBYSxFQUNoQjtFM0Q2aGFYLHVDQUF1QztFMkRsa2F6QztJQTBDUSxlMURnQ1E7STBEL0JSLGdCMURzTVE7STBEck1SLDBCQUF5QixFQUs1QjtJM0RzaGFELHVDQUF1QztJMkR2a2EzQztNQStDWSxlMUQwQ0ksRTBEekNQO0UzRDBoYVAsdUNBQXVDO0UyRDFrYXpDO0lBb0RRLHFFMUQ0SmlFO0kwRDNKakUsZ0IxRDRMUTtJMEQzTFIsb0JBQW1CO0lBQ25CLDBCQUF5QixFQUs1QjtJM0RvaGFELHVDQUF1QztJMkRobGEzQztNQTBEWSxlMURnQkksRTBEZlA7RTNEd2hhUCx1Q0FBdUM7RTJEbmxhekM7SUErRFEsa0JBQWlCO0lBQ2pCLGFBQVksRUF3RGY7STNEKzlaRCx1Q0FBdUM7STJEdmxhM0M7TUFtRVksaUMxRHVHYTtNMER0R2IscUUxRDRJNkQ7TTBEM0k3RCxnQjFENEtJO00wRDNLSixvQkFBbUI7TUFDbkIsb0JBQW1CO01BQ25CLDBCQUF5QixFQUs1QjtNM0RraGFILHdDQUF3QztNMkQvbGE5QztRQTJFZ0IsY0FBYSxFQUNoQjtJM0RzaGFULHdDQUF3QztJMkRsbWE1QztNQWdGWSxxRTFEZ0k2RDtNMEQvSDdELGdCMURnS0k7TTBEL0pKLG9CQUFtQjtNQUNuQixlQUFjO01BQ2QsMEJBQXlCO01BQ3pCLGFBQVksRUFrQ2Y7TTNEbS9aSCx3Q0FBd0M7TTJEMW1hOUM7UWxES0ksWUFBVztRQUNYLGVBQWM7UUFDZCxZQUFXLEVrRHlGRTtNM0QrZ2FYLHdDQUF3QztNMkQvbWE5QztRQW9HZ0IsZ0IxRDZJQTtRMEQ1SUEsb0JBQW1CLEVBQ3RCO00zRDZnYVAsd0NBQXdDO00yRG5uYTlDO1FBeUdnQiwwQjFEaUVTO1EwRGhFVCxpQkFBZ0I7UUFDaEIsZ0JBQWU7UUFDZix5QkFBd0IsRUFDM0I7TTNENGdhUCx3Q0FBd0M7TTJEem5hOUM7UUFnSGdCLDBCMUQwRFM7UTBEekRULGlCQUFnQixFQUtuQjtRM0R1Z2FMLHdDQUF3QztRMkQ3bmFoRDtVQW9Ib0IsWUFBVyxFQUNkO0UzRDJnYWYsd0NBQXdDO0UyRGhvYTFDO0lBMkhRLGFBQVk7SUFDWixVQUFTO0lBQ1QsYUFBWSxFQUNmO0UzRHVnYUgsd0NBQXdDO0UyRHJvYTFDO0lBaUlRLHFFMUQrRWlFO0kwRDlFakUsZ0IxRCtHUTtJMEQ5R1Isb0JBQW1CO0lBQ25CLG9CMURwR0UsRTBEMklMO0kzRGcrWkQsd0NBQXdDO0kyRDNvYTVDO01BdUlZLGVBQWM7TUFDZCwwQkFBeUIsRUFDNUI7STNEc2dhTCx3Q0FBd0M7STJEL29hNUM7TUE0SVksc0QxRG1FNEM7TTBEbEU1QyxnQjFEaUdDO00wRGhHRCxlQUFjLEVBNEJqQjtNM0QwK1pILHdDQUF3QztNMkRwcGE5QztRQWlKZ0IscUUxRCtEeUQ7UTBEOUR6RCxnQjFEK0ZBO1EwRDlGQSxZQUFXLEVBVWQ7UTNENC9aTCx3Q0FBd0M7UTJEenBhaEQ7VUFzSm9CLG1CQUFrQixFQUNyQjtRM0RxZ2FULHdDQUF3QztRMkQ1cGFoRDtVQTBKb0IsYUFBWTtVQUNaLGVBQWMsRUFDakI7TTNEb2dhWCx3Q0FBd0M7TTJEaHFhOUM7UUFnS2dCLGVBQWMsRUFDakI7TTNEa2dhUCx3Q0FBd0M7TTJEbnFhOUM7UUFvS2dCLGUxRDFGQTtRMEQyRkEscUUxRDJDeUQ7UTBEMUN6RCxnQkFBZTtRQUNmLG9CQUFtQjtRQUNuQiwwQkFBeUIsRUFDNUI7O0EzRGtnYWIsd0NBQXdDO0EyRDcvWnhDO0VBQ0ksaUMxRExxQjtFMERNckIsaUIxRGhKTSxFMERnTVQ7RTNEKzhaQyx3Q0FBd0M7RTJEamdhMUM7SUFLUSx3QkFBdUIsRUFPMUI7STNEdy9aRCx3Q0FBd0M7STJEcGdhNUM7TUFRWSx3QkFBdUI7TUFDdkIsYUFBWTtNQUNaLDJCQUEwQixFQUM3QjtFM0Q4L1pQLHdDQUF3QztFMkR6Z2ExQztJQWdCWSxvQkFBbUI7SUFDbkIsZ0IxRGtESSxFMERqRFA7RTNEMi9aUCx3Q0FBd0M7RTJEN2dhMUM7SUFvQlksYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixXQUFVLEVBT2I7STNEcS9aTCx3Q0FBd0M7STJEbGhhNUM7TUF5QmdCLFlBQVc7TUFDWCxlQUFjO01BQ2QsZ0JBQWUsRUFDbEI7RTNEMi9aWCx3Q0FBd0M7RTJEdmhhMUM7SUFrQ1ksY0FBYSxFQWFoQjtJM0QyK1pMLHdDQUF3QztJMkQxaGE1QztNQXFDZ0IsWUFBVztNQUNYLHNCQUFxQjtNQUVyQixnQ0FBK0I7TUFDL0IsWUFBVztNQUNYLGExRHNCSDtNMERyQkcsaUJBQWdCO01BQ2hCLG1CQUFrQjtNQUNsQixTQUFRLEVBQ1g7O0FBTWI7O2tEQUVrRDtBM0RrL1psRCx3Q0FBd0M7QTJEaC9aeEM7RUFDSSxxRTFEdkJxRTtFMER3QnJFLGdCMURTWTtFMERSWiwwQkFBeUIsRUF3QjVCO0UzRDA5WkMsd0NBQXdDO0UyRHIvWjFDO0lBTVEsb0JBQW1CLEVBQ3RCO0UzRGkvWkgsd0NBQXdDO0UyRHgvWjFDO0lBV1EsOEJBQTZCO0lBQzdCLDRCQUEyQjtJQUMzQixhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLHFCQUFvQjtJQUNwQixZQUFXLEVBVWQ7STNEcytaRCx3Q0FBd0M7STJEaGdhNUM7TUFvQlksOEJBQTZCO01BQzdCLDRCQUEyQjtNQUMzQixZQUFXO01BQ1gsYUFBWTtNQUNaLHFCQUFvQixFQUN2Qjs7QXhEclBEO0VIcXVhTix3Q0FBd0M7RTJEeitadEM7SUFJZ0IsZ0JBQWUsRUFDbEI7RTNEdStaZix3Q0FBd0M7RTJENStadEM7SUFRZ0IsV0FBVTtJQUNWLGVBQWMsRUFVakI7STNENjlaYix3Q0FBd0M7STJEaC9aeEM7TUFZb0IsZUFBYztNQUNkLFlBQVcsRUFLZDtNM0RrK1pmLHdDQUF3QztNMkRwL1oxQztRQWdCd0IsbUJBQWtCLEVBQ3JCLEVBQUE7O0F4RDdRakI7RUhxdmFOLHdDQUF3QztFMkR6L1p0QztJQWdDZ0IsYUFBWSxFQVFmO0kzRG85WmIsd0NBQXdDO0kyRDUvWnhDO01Bb0N3QixZQUFXO01BQ1gsZ0JBQWUsRUFDbEIsRUFBQTs7QXhEbFNqQjtFSDh2YU4sd0NBQXdDO0UyRHh3YTFDO0lBeVRZLFlBQVcsRUFZZDtJM0RzOFpMLHdDQUF3QztJMkQzd2E1QztNQTRUZ0IsWUFBVyxFQVFkO00zRDA4WlAsd0NBQXdDO00yRHY5WjFDOztRQVVvQixZQUFXLEVBQ2Q7RTNEZzlabkIsd0NBQXdDO0UyRGx4YTFDO0lBd1VZLFlBQVcsRUFDZDtFM0Q0OFpQLHdDQUF3QztFMkQ5OVp0QztJQXdCZ0Isa0JBQWlCO0lBQ2pCLG1CQUFrQixFQUNyQjtFM0R3OFpmLHdDQUF3QztFMkRsK1p0QztJQStCZ0Isa0JBQWlCO0lBQ2pCLG1CQUFrQixFQUNyQjtFM0RxOFpmLHdDQUF3QztFMkR0K1p0QztJQW9DZ0IsV0FBVTtJQUNWLGFBQVksRUFDZjtFM0RvOFpmLHdDQUF3QztFMkQxK1p0QztJQTBDWSxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLGlCQUFnQjtJQUNoQixlQUFxQjtJQUNyQixZQUFXLEVBUWQ7STNEMjdaVCx3Q0FBd0M7STJEai9aeEM7TUFpRGdCLGNBQWEsRUFDaEI7STNEazhaYix3Q0FBd0M7STJEcC9aeEM7TUFvRGdCLHNCQUFxQixFQUN4QixFQUFBOztBeERsV1Q7RUhzeWFOLHdDQUF3QztFMkRoemExQztJQXVYUSxZQUFXLEVBQ2QsRUFBQTs7QUFHTDs7a0RBRWtEO0EzRDA3WmxELHdDQUF3QztBMkR6N1p4QztFQUlnQixvQkFBbUIsRUFDdEI7O0EzRHc3WmIsd0NBQXdDO0EyRDc3WnhDO0VBU1ksWUFBVztFQUNYLGVBQWMsRUFTakI7RTNEODZaUCx3Q0FBd0M7RTJEajhaMUM7SUFhZ0IsWUFBVyxFQUNkO0UzRHM3Wlgsd0NBQXdDO0UyRHA4WjFDO0lBaUJnQixZQUFXLEVBQ2Q7O0F4RHRZTDtFSDZ6YU4sd0NBQXdDO0UyRHo4WjFDO0lBMkJnQixnQkFBZSxFQUNsQixFQUFBOztBQzlaYjs7a0RBRWtEO0E1RGcxYWxELDBDQUEwQztBNEQ5MGExQztFQUNJLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsWUFBVztFQUNYLGVBQWM7RUFDZCwwQjNEdUsyQixFMkQxSTlCO0U1RG16YUMsMENBQTBDO0U0RHIxYTVDO0lBUVEsWUFBVztJQUNYLFdBQVU7SUFDVixtQkFBa0I7SUFDbEIsVUFBUztJQUNULDJCQUEwQixFQXFCN0I7STVEMnphRCwwQ0FBMEM7STRENTFhOUM7TUFjWSxtQkFBa0I7TUFDbEIsT0FBTTtNQUNOLFFBQU87TUFDUCxZQUFXO01BQ1gsV0FBVTtNQUNWLGVBQWM7TUFDZCxVQUFTLEVBWVo7TTVEcTBhSCwwQ0FBMEM7TTREcjJhaEQ7UUF3QmdCLGlCQUFnQjtRQUNoQixhQUFZLEVBQ2Y7TTVEKzBhUCwwQ0FBMEM7TTREejJhaEQ7UUE2QmdCLGdCQUFlO1FBQ2YsWUFBVyxFQUNkOztBNUQrMGFiLDBDQUEwQztBNEQxMGExQztFQUNJLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsVUFBUztFQUNULGlCQUFnQjtFakMxQ2hCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUIsRWlDNEVwQjtFNUQyeWFDLDBDQUEwQztFNER4MWE1QztJQVdRLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsYUFBWTtJQUNaLHNCQUFxQjtJQUNyQixlQUFjO0lBQ2QsZ0JBQWUsRUF3QmxCO0k1RHd6YUQsMENBQTBDO0k0RGgyYTlDO01Bb0JZLFlBQVc7TUFDWCxlQUFjO01BQ2QsWUFMYTtNQU1iLGFBTmE7TUFPYixVQUFTO01BQ1QsU0FBUTtNQUNSLGtCQUE2QjtNQUM3QixpQkFBNEI7TUFDNUIsbUJBQWtCO01BQ2xCLDBCQUF5QjtNQUN6QixtQkFBa0IsRUFDckI7STVEODBhTCwwQ0FBMEM7STRENzJhOUM7TUFrQ1ksMEIzRHdEd0IsRTJEdkQzQjtJNUQ2MGFMLDJDQUEyQztJNERoM2EvQztNQXNDWSwwQjNEcUQwQixFMkRwRDdCO0U1RDQwYVAsMkNBQTJDO0U0RG4zYTdDO0lBMkNRLGdCQUFlLEVBQ2xCOztBNUQyMGFMLDJDQUEyQztBNER4MGEzQzs7RUFFSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFdBQVU7RUFDVixnQkFBZTtFQUNmLGFBQVk7RUFDWixhQUFZO0VBQ1osYUFBWTtFQUNaLGdCQUFlO0VqQzNGZix1QkFBc0I7RUFDdEIsc0JBQXFCO0VBQ3JCLDBCQUF5QjtFQUN6QixxQkFBb0I7RUFDcEIsa0JBQWlCLEVpQzhHcEI7RTVEd3phQywyQ0FBMkM7RTREeDFhN0M7O0lBYVEsWUFBVztJQUNYLFNBQVE7SUFDUixVQUFTO0lBQ1QsYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixvQkFBbUI7SUFDbkIsZUFBYztJQUNkLFNBQVE7SUFDUixrQkFBaUIsRUFDcEI7RTVEODBhSCwyQ0FBMkM7RTREcDJhN0M7O0lBeUJRLFdBQVUsRUFDYjtFNUQ4MGFILDJDQUEyQztFNER4MmE3Qzs7STFCdkdJLDREQUE0RjtJQUU5RixhMEJrSTBCO0lBQ3BCLGdCQUFlLEVBQ2xCOztBNURnMWFMLDJDQUEyQztBNEQ3MGEzQztFQUNJLFVBQVMsRUFZWjtFNURtMGFDLDJDQUEyQztFNERoMWE3QztJQUlRLCtCQUE4QjtJQUM5QiwwREFBeUQ7SUFDekQsU0FBUTtJQUNSLFdBQVUsRUFDYjtFNUQ4MGFILDJDQUEyQztFNER0MWE3QztJQVdRLDBEQUFpRSxFQUNwRTs7QTVEODBhTCwyQ0FBMkM7QTREMzBhM0M7RUFDSSxXQUFVLEVBWWI7RTVEaTBhQywyQ0FBMkM7RTREOTBhN0M7SUFJUSwrQkFBOEI7SUFDOUIsMERBQXlEO0lBQ3pELFNBQVE7SUFDUixZQUFXLEVBQ2Q7RTVENDBhSCwyQ0FBMkM7RTREcDFhN0M7SUFXUSwwRDNEakI0QixFMkRrQi9COztBNUQ0MGFMLDJDQUEyQztBNER6MGEzQztFQUNJLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osYUFBWTtFQUNaLFlBQVc7RUFDWCxhQUFZLEVBQ2Y7O0E1RDIwYUQsMkNBQTJDO0E0RHowYTNDO0VBQ0ksMkJBQTBCO0VBQzFCLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsWUFBVztFQUNYLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsYUFBWTtFQUNaLGNBQWE7RUFDYixZQUFXLEVBQ2Q7O0FDektEOztrREFFa0Q7QTdEcS9hbEQseUNBQXlDO0E2RG4vYXpDO0VBRVEsbUJBQWtCLEVBQ3JCOztBN0RvL2FMLHlDQUF5QztBNkR2L2F6QztFQU1RLHFFNUQwTWlFO0U0RHpNakUsZ0I1RDBPUTtFNER6T1IsMEJBQXlCO0VBQ3pCLFlBQVcsRUFnQmQ7RTdEbythSCx5Q0FBeUM7RTZENy9hM0M7SUFZWSxpQzVEd0tZLEU0RHZLZjtFN0RtL2FQLHlDQUF5QztFNkRoZ2IzQztJQWdCWSxjQUFhO0lBQ2Isb0JBQW1CLEVBQ3RCO0U3RGsvYVAseUNBQXlDO0U2RHBnYjNDO0lBcUJZLHFFNUQyTDZEO0k0RDFMN0QsZ0I1RDJOSTtJNEQxTkosMEJBQXlCLEVBQzVCOztBN0RrL2FULHlDQUF5QztBNkQxZ2J6QztFQTRCUSxnQjVEK01RO0U0RDlNUixxRTVEbUxpRTtFNERsTGpFLGlCQUFnQjtFQUNoQiwwQkFBeUIsRUFLNUI7RTdENCthSCx5Q0FBeUM7RTZEaGhiM0M7SUFrQ1ksZTVEd0NJLEU0RHZDUDs7QTdEaS9hVCx5Q0FBeUM7QTZEcGhiekM7RUF1Q1EsZ0I1RDJNUztFNEQxTVQscUU1RHdLaUU7RTREdktqRSxjQUFhLEVBQ2hCOztBN0RnL2FMLHlDQUF5QztBNkQxaGJ6QztFQTZDUSwwQjVEOEZnQjtFNEQ3RmhCLFlBQVc7RUFDWCxhQUFZO0VBQ1osZ0I1RGtNUztFNERqTVQscUU1RCtKaUUsRTREN0lwRTtFN0Q4OWFILHlDQUF5QztFNkRqaWIzQztJQW9EWSwwQkFBeUIsRUFDNUI7RTdEKythUCx5Q0FBeUM7RTZEcGliM0M7SUF1RFksMEJBQXlCLEVBQzVCO0U3RCsrYVAseUNBQXlDO0U2RHZpYjNDO0lBMERZLDBCQUF5QixFQUM1QjtFN0QrK2FQLHlDQUF5QztFNkQxaWIzQztJQTZEWSwwQkFBeUIsRUFDNUI7RTdEKythUCx5Q0FBeUM7RTZEN2liM0M7SUFpRVksMEI1RFNJLEU0RFJQOztBN0QrK2FULHlDQUF5QztBNkRqamJ6QztFQXNFUSxrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQU1uQjtFN0R3K2FILDBDQUEwQztFNkR0amI1QztJQTJFWSxnQjVEdUtLO0k0RHRLTCxpQkFBZ0IsRUFDbkI7O0E3RDgrYVQsMENBQTBDO0E2RDNqYjFDO0VBaUZRLG1CQUFrQixFQUNyQjs7QTdENithTCwwQ0FBMEM7QTZEL2piMUM7RUFzRlksYUFBWSxFQUNmOztBN0Q0K2FULDBDQUEwQztBNkRua2IxQztFQTBGWSxXQUFVLEVBQ2I7O0E3RDQrYVQsMENBQTBDO0E2RHZrYjFDO0VBOEZZLGFBQVk7RUFDWixtQkFBa0IsRUFDckI7O0E3RDQrYVQsMENBQTBDO0E2RDVrYjFDO0VBbUdZLGFBQVksRUF3QmY7RTdEbzlhUCwwQ0FBMEM7RTZEL2tiNUM7SUFzR2dCLGdCNUQySUE7STREMUlBLG9CNUR2RU47STREd0VNLGlCQUFnQjtJQUNoQixZQUFXLEVBQ2Q7RTdEMithWCwwQ0FBMEM7RTZEcmxiNUM7SUE2R2dCLG9CNUQ3RU4sRTREOEVHO0U3RDArYVgsMENBQTBDO0U2RHhsYjVDO0lBaUhnQixpQkFBZ0IsRUFDbkI7RTdEeSthWCwwQ0FBMEM7RTZEM2xiNUM7SUFxSGdCLG1CQUFrQixFQUNyQjtFN0R3K2FYLDBDQUEwQztFNkQ5bGI1QztJQXlIZ0Isb0JBQW1CLEVBQ3RCOztBN0R3K2FiLDBDQUEwQztBNkRsbWIxQztFQThIWSxZQUFXLEVBQ2Q7O0E3RHUrYVQsMENBQTBDO0E2RHRtYjFDOztFQW1JWSxvQkFBbUIsRUFDdEI7O0E3RHUrYVQsMENBQTBDO0E2RDNtYjFDO0VBeUlRLHFFNUR1RWlFO0U0RHRFakUsZ0I1RHVHUSxFNERsR1g7RTdEZythSCwwQ0FBMEM7RTZEL21iNUM7SUE2SVksZTVEcERJLEU0RHFEUDs7QTdEcSthVCwwQ0FBMEM7QTZEbm5iMUM7RUFrSlEsZ0JBQWUsRUFXbEI7RTdEeTlhSCwwQ0FBMEM7RTZEdG5iNUM7SUFxSlksY0FBYSxFQUNoQjtFN0RtK2FQLDBDQUEwQztFNkR6bmI1QztJQXlKWSxnQkFBZTtJQUNmLGU1RGhGSTtJNERpRkosbUJBQWtCLEVBQ3JCOztBN0RtK2FULDBDQUEwQztBNkQvbmIxQztFQWlLWSxpQkFBZ0I7RUFDaEIsZTVEeEZJLEU0RHlGUDs7QTdEaSthVCwwQ0FBMEM7QTZEcG9iMUM7RUF1S1EsaUJBQWdCLEVBQ25COztBMUQ5Skc7RUgrbmJOLDBDQUEwQztFNkR6b2I1QztJQWlMZ0IsbUI1RHRJRTtJNER1SUYsb0I1RHZJRSxFNER3SUwsRUFBQTs7QTFEektMO0VIcW9iTiwwQ0FBMEM7RTZEL29iNUM7SUE2TFksa0JBQWlCO0lBQ2pCLG1CQUFrQixFQVNyQjtJN0Q0OGFMLDBDQUEwQztJNkR4OWExQztNQU1ZLGNBQWEsRUFDaEI7STdEbzlhVCwwQ0FBMEM7STZEMzlhMUM7TUFVWSxhQUFZLEVBQ2Y7RTdEbTlhWCwwQ0FBMEM7RTZEenBiNUM7SUEwTVksZ0I1RHNDRyxFNERyQ04sRUFBQTs7QTFEak1EO0VIb3BiTiwwQ0FBMEM7RTZENThheEM7SXBEN01BLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFb0Q4TU47RTdEODhhUCwwQ0FBMEM7RTZEbnFiNUM7SUF3TlksZ0I1RG1CSSxFNERsQlA7RTdENjhhUCwwQ0FBMEM7RTZEdHFiNUM7SUE0TlksYUFBWTtJQUNaLGdCQUFlLEVBQ2xCO0U3RDQ4YVAsMENBQTBDO0U2RDFxYjVDO0lBaU9ZLGdCQUFlLEVBQ2xCO0U3RDI4YVAsMENBQTBDO0U2RDM5YXhDO0lBbUJRLG1CQUFrQixFQUtyQjtJN0RzOGFMLDBDQUEwQztJNkQ5OWExQztNcEQ3TUEsWUFBVztNQUNYLGVBQWM7TUFDZCxZQUFXLEVvRGtPRjtFN0Q0OGFYLDBDQUEwQztFNkRycmI1QztJQTZPWSxZQUFXLEVBTWQ7STdEcThhTCwwQ0FBMEM7STZEdCthMUM7TUE4QlksWUFBVztNQUNYLGFBQVksRUFDZjtFN0QwOGFYLDBDQUEwQztFNkQxK2F4QztJQXFDWSxpQkFBZ0IsRUFDbkI7RTdEdThhWCwwQ0FBMEM7RTZEL3JiNUM7SUEyUGdCLGdCQUFlO0lBQ2YsaUJBQWdCLEVBQ25CO0U3RHM4YVgsMENBQTBDO0U2RG5zYjVDO0lBaVFZLG9CQUFtQixFQUN0QixFQUFBOztBMUR4UEQ7RUg4cmJOLDBDQUEwQztFNkR4c2I1QztJQTJRWSxnQkFBZSxFQUNsQjtFN0QrN2FQLDBDQUEwQztFNkRsOGF4Qzs7SUFPUSxjQUFhLEVBQ2hCLEVBQUE7O0ExRHZRRDtFSHVzYk4sMENBQTBDO0U2RC8vYXhDO0lBd0VRLG1CQUFrQixFQUNyQjtFN0R5N2FQLDBDQUEwQztFNkQ1N2F4QztJQU1RLGVBQWMsRUFDakI7RTdEdzdhUCwwQ0FBMEM7RTZELzdheEM7SUFlWSxZQUFXO0lBQ1gsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ3BCO0U3RGs3YVgsMENBQTBDO0U2RDd0YjVDO0lBOFNnQixlQUFjO0lBQ2QsaUJBQWdCLEVBVW5CO0k3RHc2YVQsMENBQTBDO0k2RHo4YTFDO01BMEJnQixZQUFXLEVBTWQ7TTdENDZhWCwwQ0FBMEM7TTZENThhNUM7UUE2Qm9CLGFBQVk7UUFDWixjQUFhLEVBQ2hCO0U3RGk3YW5CLDBDQUEwQztFNkRoOWF4QztJQXFDWSxpQkFBZ0IsRUFjbkI7STdEZzZhVCwwQ0FBMEM7STZEbjlhMUM7TUF3Q2dCLFlBQVc7TUFDWCxtQjVEN1JILEU0RDhSQTtJN0Q2NmFiLDBDQUEwQztJNkR2OWExQztNQTZDZ0IsaUJBQWdCLEVBQ25CO0k3RDQ2YWIsMENBQTBDO0k2RDE5YTFDO01BaURnQixjQUFhLEVBQ2hCO0U3RDI2YWYsMENBQTBDO0U2RDc5YXhDO0lBdURnQixZQUFXO0lBQ1gsV0FBVSxFQUNiO0U3RHc2YWYsMENBQTBDO0U2RHp2YjVDO0lBb1ZvQixhQUFZO0lBQ1osV0FBVSxFQUNiO0U3RHU2YWYsMENBQTBDO0U2RDd2YjVDO0lBMFZnQixtQkFBa0I7SUFDbEIsVUFBUztJQUNULFdBQVU7SUFDVixlQUFjO0lBQ2QsYUFBWTtJQUNaLGFBQVksRUFDZjtFN0RxNmFYLDBDQUEwQztFNkQxa2J4QztJQTBLWSxZQUFXLEVBQ2QsRUFBQTs7QUFLYjs7a0RBRWtEO0E3RCs1YWxELDBDQUEwQztBNkQ3NWExQztFQUdRLG9CQUFtQixFQUN0Qjs7QTdENjVhTCwwQ0FBMEM7QTZEajZhMUM7RUFPUSxlQUFjO0VBQ2QsbUJBQWtCLEVBQ3JCOztBN0Q2NWFMLDBDQUEwQztBNkR0NmExQztFQVlRLFlBQVc7RUFDWCxVQUFTLEVBQ1o7O0E3RDY1YUwsMENBQTBDO0E2RDM2YTFDOzs7RUFtQlEsZ0I1RGpKUSxFNERrSlg7O0E3RDY1YUwsMENBQTBDO0E2RGo3YTFDO0VBdUJRLFlBQVc7RUFDWCwwQkFBeUI7RUFDekIsa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUNsQixnQzVEOU51QixFNEQrTjFCOztBQy9ZTDs7a0RBRWtEO0E5RDZ5YmxELHVEQUF1RDtBOEQzeWJ2RDtFQUNJLHNCQUFxQixFQXlSeEI7RTNEaFJPO0lIcXliSix1REFBdUQ7SThEL3liM0Q7TUFJUSxlQUFjLEVBc1JyQixFQUFBO0U5RHdoYkMsdURBQXVEO0U4RGx6YnpEO0lBUVEsa0JBQWlCLEVBQ3BCO0U5RDR5YkgsdURBQXVEO0U4RHJ6YnpEO0lBWVEsZUFBYztJQUNkLGM3RDhCVSxFNkQ3QmI7RTlEMnliSCx1REFBdUQ7RThEenpiekQ7SUFpQlEsYzdEMEJVO0k2RHpCVixtQkFBa0I7SUFDbEIsb0M3RGtOd0I7STZEak54QixnQjdEME5LO0k2RHpOTCwwQkFBeUIsRUFDNUI7RTlEMHliSCx1REFBdUQ7RThEaDBiekQ7SUEwQlEsWUFBVztJQUNYLG1CQUFrQixFQVVyQjtJOUQreGJELCtDQUErQztJOEN2MGIvQztNQUVJLFlBQVU7TUFDVixtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFVBQVM7TUFDVCxZQUFXO01BQ1gsYUFBWTtNQUNaLGNBQWEsRUFDaEI7STlDdTBiRCwrQ0FBK0M7SThDcjBiL0M7TUFDSSx3QkFBdUI7TUFDdkIsYUFkMkI7TUFlM0IsV0FBUyxFQUNaO0k5Q3MwYkQsK0NBQStDO0k4Q3AwYi9DO01BQ0ksdURBQXNEO01BQ3RELDZCQUE0QjtNQUM1Qiw0QkFBMkI7TUFDM0IsV0FBUyxFQUNaO0k5Q3EwYkQsK0NBQStDO0k4Q24wYi9DO01BQ0ksbUJBQWtCLEVBTXJCO005Qyt6YkMsK0NBQStDO004Q24wYjdDO1FBRUksZUFBYyxFQUNqQjtJOUNtMGJMLHVEQUF1RDtJOEQ5MWIzRDtNQTZCWSw0QkFBMkIsRUFPOUI7TTlENnpiSCx1REFBdUQ7TThEajJiN0Q7UUErQmdCLGFBQVk7UUFDWixpQkFBZ0I7UUFDaEIsa0JBQWlCO1FBQ2pCLHFCQUFvQixFQUN2QjtFOURvMGJYLHVEQUF1RDtFOER2MmJ6RDtJQXdDUSxjQUFhLEVBQ2hCO0U5RGkwYkgsdURBQXVEO0U4RDEyYnpEO0lBMkNRLGUxRDFCTztJMEQyQlAsb0M3RHlMd0I7STZEeEx4QixnQjdEaU1LO0k2RGhNTCxpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsMEJBQXlCO0lBQ3pCLG1CQUFrQjtJQUNsQixpQjdEbU1jLEU2RHJMakI7STlEb3piRCx1REFBdUQ7SThEcjNiM0Q7TUFzRFksWUFBVztNQUNYLGFBQVk7TUFDWixlQUFjO01BQ2QsZTdEZ0NJO002RC9CSixzQkFBcUI7TUFDckIsb0JBQW1CO01BQ25CLGdCQUFlO01BQ2YsbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxZQUEwQixFQUM3QjtFOURpMGJQLHVEQUF1RDtFOERqNGJ6RDtJQW9FUSxpQkFBZ0I7SUFDaEIsOEIxRHBETyxFMERvRlY7STlEZ3liRCx3REFBd0Q7SThEcjRiNUQ7TUF3RVksMkJBQTBCO01BQzFCLGlDMUR4REc7TTBEeURILG1CQUFrQjtNQUNsQixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CO01BQ25CLHdCQUFlO1VBQWYsb0JBQWU7Y0FBZixnQkFBZSxFQXVCbEI7TTlEeXliSCx3REFBd0Q7TThENzRiOUQ7UUFnRmdCLGFBQVk7UUFDWixvQkFBbUIsRUFPdEI7UTlEeXpiTCx3REFBd0Q7UThEajViaEU7VUFtRm9CLGFBQVk7VUFDWixnQkFBZTtVQUNmLGlCQUFnQjtVQUNoQixrQkFBaUIsRUFDcEI7TTlEZzBiWCx3REFBd0Q7TThEdjViOUQ7UUErRmdCLG1CQUFrQixFQUNyQjtNOUQwemJQLHdEQUF3RDtNOEQxNWI5RDtRQWtHZ0IsYUFBWSxFQUNmO0U5RDB6Ylgsd0RBQXdEO0U4RDc1YjFEO0lBd0dRLGlCQUFnQixFQVVuQjtJOUQ4eWJELHdEQUF3RDtJOERoNmI1RDtNQTBHWSxpQkFBZ0I7TUFDaEIsbUM3RHlIdUI7TTZEeEh2QixnQjdEOEhLO002RDdITCxxQkFBb0IsRUFJdkI7TTlEcXpiSCx3REFBd0Q7TThEdDZiOUQ7UUErR2dCLGUxRDlGRCxFMEQrRkY7RTlEeXpiWCx3REFBd0Q7RThEejZiMUQ7SUFxSFEsb0M3RGdId0I7STZEL0d4QixnQjdEMEhPO0k2RHpIUCxlMUR0R087STBEdUdQLDBCQUF5QixFQUM1QjtFOURzemJILHdEQUF3RDtFOEQvNmIxRDtJQTJIUSxxQkFBb0I7SUFDcEIsb0M3RHlHd0I7STZEeEd4QixnQjdEbUhPO0k2RGxIUCxlMUQ3R08sRTBEMkpWO0k5RHl3YkQsd0RBQXdEO0k4RHI3YjVEO01BaUlZLDBCQUF5QjtNQUN6QixvQjdEbEdGLEU2RG1HRDtJOURzemJMLHdEQUF3RDtJOER6N2I1RDtNQXFJWSxlN0QzREk7TTZENERKLGFBQVksRUFDZjtJOURzemJMLHdEQUF3RDtJOEQ3N2I1RDtNQTJJZ0IsYUFBWTtNQUNaLGtCQUFpQixFQUNwQjtJOURvemJULHdEQUF3RDtJOERqOGI1RDtNQW1KWSxrQkFBaUI7TUFHakIsYUFBWTtNQUNaLGFBQVk7TUFDWixvQzdENkVvQjtNNkQ1RXBCLGdCN0R1Rkc7TTZEdEZILGUxRHpJRztNMEQwSUgsd0JBQXVCLEVBQzFCO0k5RDh5Ykwsd0RBQXdEO0k4RDE4YjVEO01BK0pZLFdBQVU7TVQ1SW9DLDZCUzhJVjtNdkMzS2lCLDJCdUM0S25CLEVBU3JDO005RDB5Ykgsd0RBQXdEO004RHI5YjlEO1FBcUtnQixnQkFBZSxFQUNsQjtNOURremJQLHdEQUF3RDtNOER4OWI5RDtRQXlLZ0IsV0FBVSxFQUNiO0U5RGl6Ylgsd0RBQXdEO0U4RDM5YjFEO0lBK0tRLHlCQUFnQjtRQUFoQiw4QkFBZ0I7WUFBaEIsaUJBQWdCO0lBQ2hCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsdUNBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEI7SUFDOUIsaUJBQWdCLEVBYW5CO0k5RGt5YkQsd0RBQXdEO0k4RGwrYjVEO01BcUxZLG9DN0RnRG9CO002RC9DcEIsZ0I3RDBERztNNkR6REgsZTFEdEtHO00wRHVLSCwwQkFBeUI7TUFDekIsYUFBWSxFQUNmO0k5RCt5Ykwsd0RBQXdEO0k4RHorYjVEO01BNExZLG9DN0R5Q29CO002RHhDcEIsZ0I3RG1ERztNNkRsREgsZTFEN0tHLEUwRDhLTjtFOUQreWJQLHdEQUF3RDtFOEQ5K2IxRDtJQWtNUSxpQkFBZ0I7SUFDaEIsb0M3RGtDd0I7STZEakN4QixnQjdENENPO0k2RDNDUCxlMURwTE87STBEcUxQLDBCQUF5QjtJQUN6QixtQkFBa0I7SUFDbEIscUJBQW9CO0lBQ3BCLGtCQUFpQixFQUNwQjtFOUQ4eWJILHdEQUF3RDtFOER4L2IxRDtJQTZNUSxpQkFBZ0I7SUFDaEIsb0M3RHVCd0I7STZEdEJ4QixnQjdENkJPO0k2RDVCUCxlMUQvTE87STBEaU1QLDBCQUF5QjtJQUN6QixrQkFBaUI7SUFDakIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQix1Q0FBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QixFQUtqQztJOUR3eWJELHdEQUF3RDtJOERuZ2M1RDtNQXdOWSxvQzdEYW9CO002RFpwQixnQjdEdUJHLEU2RHRCTjtFOUQ2eWJQLHdEQUF3RDtFOER2Z2MxRDtJQTZOUSxtQkFBa0I7SUFDbEIsb0M3RE93QjtJNkROeEIsZ0I3RGlCTyxFNkRoQlY7RTlENHliSCx3REFBd0Q7RThENWdjMUQ7SUFtT1EsbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixtQkFBa0I7SUFDbEIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsd0JBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQix1Q0FBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QixFQTZCakM7STlEK3diRCx3REFBd0Q7SThEdGhjNUQ7TUE2T1ksaUJBQWdCO003QjlOMUIsb0NoQ3NOOEI7TWdDck45QiwwQkFBeUI7TUFDekIsZ0JoQ2lPZTtNZ0NoT2YsZTdCRGE7TTZCRWIsMEI3QkVhO002QkRiLDBCN0JIYTtNNkJJYixrQkFBaUI7TTZCME5QLG1CQUFrQjtNQUNsQixlMUQzTkc7TTBENE5ILG9CMURoT0csRTBEcU9OO005RDZ5Ykgsc0NBQXNDO01pQzdnYzFDO1FBQ0UsMEI3Qk5XO1E2Qk9YLGU3QkhXLEU2QklaO01qQzhnY0csd0RBQXdEO01pQ2poYzVEO1E2QjZOYyxlMURsT0Q7UTBEbU9DLG9CMUQvTkQsRTBEZ09GO0k5RHN6YlQsd0RBQXdEO0k4RDNpYzVEO003QkdFLG9DaENrTzhCO01nQ2pPOUIsMEJBQXlCO01BQ3pCLGdCaEM2T2U7TWdDNU9mLGU3QldhO002QlZiLDBCN0JVYTtNNkJUYixrQkFBaUI7TUFDakIsMkJBQTBCO01BQzFCLGFBQVk7TUFDWiw4QkFBNkI7TTZCK09uQiwwQkFBeUI7TUFDekIsaUJBQWdCO01BQ2hCLGtCQUFpQixFQUNwQjtJOUQ0emJMLHdEQUF3RDtJOER6amM1RDtNQWlRZ0IsaUJBQWdCLEVBQ25CO0k5RDB6YlQsd0RBQXdEO0k4RDVqYzVEO01BcVFZLG1CQUFrQixFQUNyQjtFOUR5emJQLHdEQUF3RDtFOEQvamMxRDtJQTBRUSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGNBQWEsRUFDaEI7RTlEdXpiSCx3REFBd0Q7RThEcGtjMUQ7SUFnUlEsbUJBQWtCO0lBQ2xCLGFBQVk7SUFDWixjQUFhLEVBQ2hCO0U5RHN6Ykgsd0RBQXdEO0U4RHprYzFEOztJQXdSUSxjQUFhLEVBQ2hCOztBOURxemJMLHdEQUF3RDtBOERsemJ4RDs7RUFFSSxlQUFjLEVBQ2pCOztBM0RyUk87RUgwa2NOLHdEQUF3RDtFOERsemJ0RDtJQUNJLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsWUFBVyxFQUNkLEVBQUE7O0EzRDVSRztFSGlsY04sd0RBQXdEO0U4RGp6YnREO0lBQ0ksV0FBVSxFQUNiLEVBQUE7O0EzRGxTRztFSHNsY04sd0RBQXdEO0U4RGhtYzFEO0lBc1RRLG9CQUFtQixFQXVEdEI7STlEc3ZiRCx3REFBd0Q7SThDM2xjeEQ7TWdCaVRZLDBCQUF5QixFQUM1QjtJOUQ0eWJULHdEQUF3RDtJOER0emJ4RDtNQWNRLFlBQVcsRUFDZDtJOUQweWJMLHdEQUF3RDtJOER6emJ4RDtNQWtCUSxjN0Q5UkssRTZEK1JSO0k5RHl5Ykwsd0RBQXdEO0k4RDV6YnhEO01Bc0JRLGtCQUErQixFQUNsQztJOUR3eWJMLHdEQUF3RDtJOEQvbWM1RDtNQTBVWSxxQkFBb0IsRUFrQ3ZCO005RHN3Ykgsd0RBQXdEO004RGxuYzlEO1FBNlVnQixVQUFTO1FBQ1QsWTdEblNFO1E2RG9TRixtQkFBa0IsRUFDckI7TTlEdXliUCx3REFBd0Q7TThEdjBiMUQ7UUFvQ2dCLHNCQUFxQjtRQUNyQixvQkFBbUI7UUFDbkIsaUJBQWdCLEVBb0JuQjtROURreGJULHdEQUF3RDtROEQ1MGI1RDtVQTBDd0IsZ0JBQWUsRUFDbEI7UTlEb3liakIsd0RBQXdEO1E4RC8wYjVEO1VBOEN3QixzQkFBcUI7VUFDckIsb0JBQW1CLEVBQ3RCO1E5RG15YmpCLHdEQUF3RDtROERuMWI1RDtVQW1Ed0IsWUFBVztVQUNYLFlBQVc7VUFDWCxnQkFBZTtVQUNmLHdCQUF1QjtVQUN2QixrQkFBaUIsRUFDcEIsRUFBQTs7QTNEOVZqQjtFSGtvY04sd0RBQXdEO0U4RDVvYzFEO0lBb1hnQixZQUFXO0lBQ1gsUUFBTztJQUNQLG1CQUFrQjtJQUNsQixZQUFXLEVBQ2Q7RTlEMHhiWCx3REFBd0Q7RThEanlidEQ7O0lBY3dCLFlBQVc7SUFDWCxlQUFjO0lBQ2QsZUFBYyxFQUNqQjtFOURzeGJ2Qix3REFBd0Q7RThEeDJidEQ7SUFxRndCLGlCQUFnQixFQUNuQixFQUFBOztBM0Q1WGpCO0VIbXBjTix3REFBd0Q7RThEN3BjMUQ7SUFrWmdCLFlBQVcsRUFDZCxFQUFBOztBQ3ZaYjs7a0RBRWtEO0EvRHNxY2xELHVDQUF1QztBK0RwcWN2QztFQUNJLG1CQUFrQjtFQUNsQiw2QkFBNEI7RUFDNUIsOEJBQTZCO0VBQzdCLHFCQUFvQjtFQUNwQix1QkFBc0I7RUFDdEIsYUFBWSxFQTZDZjtFL0R5bmNDLHVDQUF1QztFK0Q1cWN6QztJeENWaUUsbUJ3Q21CL0I7SUFDMUIsMEJBQXlCO0lBQ3pCLDBCOUQrRFE7SThEOURSLFFBQU87SUFDUCxnQkFBZTtJQUNmLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sWUFBVyxFQTRCZDtJL0Q4b2NELHVDQUF1QztJK0QxcmMzQztNQW1CWSxpQzlEa0ppQjtNOERqSmpCLGU5RHNESTtNOERyREosZ0JBQWU7TUFDZixnQjlEMk5JO004RDFOSixpQkFBZ0I7TUFDaEIsaUJBQWdCLEVBbUJuQjtNL0R1cGNILHVDQUF1QztNK0Rsc2M3QztRQTJCZ0IsZTlEb0lvQixFOERuSXZCO00vRHlxY1AsdUNBQXVDO00rRHJzYzdDO1FBK0JnQiwwQjlEMkNBO1E4RDFDQSxhQUFZLEVBQ2Y7TS9Ed3FjUCx1Q0FBdUM7TStEenNjN0M7UUFvQ2dCLGFBQVk7UUFDWixrQkFBaUIsRUFDcEI7TS9EdXFjUCx1Q0FBdUM7TStEN3NjN0M7UUF5Q2dCLG9CQUFtQixFQUN0QjtFL0RzcWNYLHVDQUF1QztFK0RodGN6QztJbENDSSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixVQUFTO0lBQ1QsZUFBYztJQUdWLG9DQUFxQztJQUNyQyxtQ0FBb0M7SUFDcEMsaUM1QmdFUTtJNEIvRFIsaUJBQWdCO0lrQ3FDaEIsVUFBUztJQUNULFVBQVMsRUFDWjs7QUFHTDs7a0RBRWtEO0EvRDBxY2xELHVDQUF1QztBK0R4cWN2QztFQUNJLG9COUQyR3lCO0U4RDFHekIsMEI5RGlIMkI7RThEaEgzQixjOUQxQk8sRThEa0NWO0UvRGtxY0MsdUNBQXVDO0UrRDdxY3pDO0lBT1ksaUM5RDRHbUI7SThEM0duQixpQkFBZ0IsRUFDbkI7O0E1RHhERDtFSGt1Y04sd0NBQXdDO0UrRG5yYzFDO0lBZVEsYzlEcENTLEU4RHFDWixFQUFBOztBQzdFTDs7a0RBRWtEO0FoRXF2Y2xELGdEQUFnRDtBZ0VudmNoRDtFQUdZLGlDL0R1S2E7RStEdEtiLGdCL0R1T0k7RStEdE9KLHFFL0QyTTZEO0UrRDFNN0QsaUJBQWdCO0VBQ2hCLHFCL0R5QkY7RStEeEJFLDBCQUF5QixFQUM1Qjs7QWhFbXZjVCxnREFBZ0Q7QWdFNXZjaEQ7RUFZWSxlQUFjLEVBQ2pCOztBaEVtdmNULGdEQUFnRDtBZ0Vod2NoRDtFQWtCWSxpQy9Ed0phO0UrRHZKYixlQUFjO0VBQ2QsZ0IvRHVOSTtFK0R0TkosaUJBQWdCO0VBQ2hCLHFFL0QwTDZEO0UrRHpMN0QscUIvRFNGLEUrRFJEOztBaEVpdmNULGdEQUFnRDtBZ0V6d2NoRDtFQTRCUSxxRS9Eb0xpRSxFK0R4S3BFO0VoRW91Y0gsZ0RBQWdEO0VnRTV3Y2xEO0lBK0JZLG9CL0RDRixFK0RBRDtFaEUrdWNQLGdEQUFnRDtFZ0Uvd2NsRDtJQW1DWSxZQUFXO0lBQ1gsZ0IvRDZNSTtJK0Q1TUosbUIvRExGO0krRE1FLDBCQUF5QixFQUM1Qjs7QWhFK3VjVCxnREFBZ0Q7QWdFdHhjaEQ7RUE0Q1ksaUMvRDhIYTtFK0Q3SGIsZ0IvRDhMSTtFK0Q3TEosaUJBQWdCO0VBQ2hCLHFFL0RpSzZEO0UrRGhLN0QsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsMEJBQXlCLEVBQzVCOztBaEU2dWNULGdEQUFnRDtBZ0VoeWNoRDtFQXNEWSxlQUFjO0VBQ2QscUUvRHlKNkQ7RStEeEo3RCxnQi9Ed0xHLEUrRHZMTjs7QTdEL0NEO0VINnhjTixnREFBZ0Q7RWdFdnljbEQ7SUFtRWdCLFlBQVcsRUFDZCxFQUFBOztBN0QxREw7RUhreWNOLGlEQUFpRDtFZ0U1eWNuRDtJQStFZ0IsWUFBVztJQUNYLG1CQUFrQixFQUNyQixFQUFBOztBN0R2RUw7RUh3eWNOLGlEQUFpRDtFZ0VsemNuRDtJQTRGZ0IsWUFBVyxFQUNkLEVBQUE7O0FDakdiOztrREFFa0Q7QWpFMnpjbEQsb0NBQW9DO0FpRXR6Y3BDOzs7Ozs7OztFQU1ZLGFBQVksRUFDZjs7QWpFMHpjVCxvQ0FBb0M7QWlFajBjcEM7O0VBYVksZ0JBQWUsRUFDbEI7O0FqRXd6Y1Qsb0NBQW9DO0FpRXQwY3BDOztFQWlCWSxlN0RIRztFNkRJSCxtQ2hFK011QjtFZ0U5TXZCLGdCaEV3TkM7RWdFdk5ELGtCQUFpQixFQUNwQjs7QWpFeXpjVCxvQ0FBb0M7QWlFOTBjcEM7O0VBd0JZLGVoRStDSSxFZ0U5Q1A7O0FqRTB6Y1Qsb0NBQW9DO0FpRW4xY3BDOztFQTRCWSxlaEUyQ0ksRWdFMUNQOztBakUyemNULG9DQUFvQztBaUV4MWNwQzs7RUFnQ1ksZTdEbEJHO0U2RG1CSCxtQ2hFZ011QjtFZ0UvTHZCLGdCaEV5TUM7RWdFeE1ELGtCQUFpQixFQUNwQjs7QWpFNHpjVCxvQ0FBb0M7QWlFaDJjcEM7O0V4REVJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFd0RzQ047O0FqRTZ6Y1Qsb0NBQW9DO0FpRXp6Y3BDO0VBSVksWUFBVyxFQUNkOztBakV3emNULG9DQUFvQztBaUVwemNwQzs7O0VBSVEsb0JoRW5CVSxFZ0UrQmI7RWpFeXljSCxvQ0FBb0M7RWlFenpjdEM7OztJQU9ZLGlCQUFnQixFQUNuQjtFakVzemNQLG9DQUFvQztFaUU5emN0Qzs7O0lBV1ksaUJBQWdCO0lBQ2hCLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsMERoRXNJK0MsRWdFcklsRDs7QWpFd3pjVCwrQ0FBK0M7QTRCcHljM0M7RUFDSSxjQUFhLEVBQ2hCOztBNUJzeWNMLCtDQUErQztBNEJueWN2QztFRjNESixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLGV6QmdEWTtFeUIvQ1oscUV6QnNLcUU7RXlCcktyRSxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLDhCQUE2QjtFQUM3QiwwQkFBeUI7RUMvQ3pCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUI7RUNrRWpCLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsMkJBQTBCO0VBQzFCLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsc0IzQjhGcUI7RTJCN0ZyQixtQkFBa0I7RUFDbEIsMEIzQnVGeUI7RTJCakVqQixlQUFjLEVBQ2pCO0U1QjB6Y1AsK0NBQStDO0U0Qi8wYzdDO0lDL0VBLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFVBQVM7SUFDVCxlQUFjO0lBVVYsb0NBQXFDO0lBQ3JDLG1DQUFvQztJQUNwQyw4QjVCeURRO0k0QnhEUixvQkFBbUI7SURnRW5CLFdBQVU7SUFDVixTQUFRO0lBQ1IsaUJBQWdCLEVBQ25CO0U1QncxY0gsK0NBQStDO0U0QnQxYzdDO0lBQ0ksMEJFdkZxQyxFRndGeEM7O0E1QncxY0wsK0NBQStDO0E0QjEwY3ZDO0VBQ0ksYzNCN0RNO0UyQjhETixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixzQjNCOERhLEUyQjdEaEI7O0E1QjQwY1QsK0NBQStDO0E0QjMwY3ZDO0VBQ0ksNEJBQTJCLEVBQzlCOztBNUI2MGNULHFDQUFxQztBaUU3MmNyQztFQUlRLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFLbkI7RWpFdTJjSCxxQ0FBcUM7RWlFajNjdkM7SUFRWSxtQmhFeERGLEVnRXlERDs7QWpFNDJjVCxxQ0FBcUM7QWlFcjJjckM7RUFFUSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUdyQjtFakVtMmNILHFDQUFxQztFaUUxMmN2QztJQU1ZLG1CQUFrQixFQUFJOztBakV3MmNsQyxxQ0FBcUM7QWlFOTJjckM7RUFVUSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxnQmhFcUlRLEVnRWhJWDtFakVrMmNILHFDQUFxQztFaUVuM2N2QztJQWVZLGNBQWEsRUFDaEI7O0FqRXUyY1QscUNBQXFDO0FpRWgyY3JDO0VBRVEsYUFBWSxFQUNmOztBakVpMmNMLHFDQUFxQztBaUU5MWNyQztFQUNJLG1CQUFrQixFQWFyQjtFakVtMWNDLHFDQUFxQztFaUVqMmN2QztJQUlRLGNBQWEsRUFDaEI7RWpFKzFjSCxxQ0FBcUM7RWlFcDJjdkM7SXhEeEhJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFd0QrSFY7RWpFZzJjSCxxQ0FBcUM7RWlFejJjdkM7SUFZUSxVQUFTLEVBQ1o7O0E5RGhJRztFSGkrY04scUNBQXFDO0VpRTkyY3ZDO0lBbUJRLGdCQUFlLEVBQ2xCLEVBQUE7O0FDckpMOztrREFFa0Q7QWxFby9jbEQsbURBQW1EO0F5Qi95YW5EO0V5Q2hzQ1ksZWpFMkVHO0VpRTFFSCxxRWpFNE02RDtFaUUzTTdELGdCakU0T0k7RWlFM09KLDBCQUF5QixFQUM1Qjs7QWxFay9jVCxtREFBbUQ7QWtFOStjbkQ7RUFDSSxvQkFBbUIsRUFDdEI7O0FsRWcvY0QsbURBQW1EO0FrRTkrY25EO0VBRVEsb0JBQW1CLEVBU3RCO0VsRXMrY0gsbURBQW1EO0VrRWovY3JEO0lBSVksYUFBWTtJQUNaLG1CQUFrQixFQUNyQjtFbEUrK2NQLG1EQUFtRDtFa0VyL2NyRDtJQVFZLGFBQVk7SUFDWixZQUFXLEVBQ2Q7O0FDN0JUOztrREFFa0Q7QW5FOGdkbEQsd0NBQXdDO0FtRTVnZHhDO0VBRVEsa0JBQWlCLEVBS3BCO0VuRXdnZEgsd0NBQXdDO0VtRS9nZDFDO0kxREtJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFMERETjs7QW5FK2dkVCx3Q0FBd0M7QW1FcmhkeEM7RUFVUSxZQUFXO0VBQ1gsZUFBYztFQUNkLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFNbkI7RW5Fd2dkSCx3Q0FBd0M7RW1FM2hkMUM7SUFnQlksdUJBQXdDO0lBQ3hDLGlCQUFnQixFQUNuQjs7QW5FOGdkVCx3Q0FBd0M7QW1FaGlkeEM7RUFzQlEsWUFBVztFQUNYLGtCQUFpQjtFQUNqQix1QkFBd0MsRUFDM0M7O0FoRWZHO0VINmhkTix3Q0FBd0M7RW1FdmlkMUM7SUFpQ1ksZUFBYyxFQUNqQixFQUFBOztBaEV4QkQ7RUhraWROLHdDQUF3QztFbUVsZ2R0QztJQUNJLGdCQUFlLEVBTWxCO0luRTgvY0Qsd0NBQXdDO0ltRS9pZDVDO01BOENZLGVBQWM7TUFDZCxlQUFjLEVBQ2pCLEVBQUE7O0FoRXRDRDtFSDJpZE4sd0NBQXdDO0VtRTNnZHRDO0lBZUksZ0JBQWUsRUFtQmxCO0luRTQrY0Qsd0NBQXdDO0ltRXhqZDVDO01BNERZLCtCQUE4QixFQUtqQztNbkUwL2NILHdDQUF3QztNbUUzamQ5QztRMURLSSxZQUFXO1FBQ1gsZUFBYztRQUNkLFlBQVcsRTBEeURGO0luRWdnZFQsd0NBQXdDO0ltRWhrZDVDO01Bb0VZLFlBQVc7TUFDWCxnQkFBZTtNQUNmLGVBQWMsRUFDakI7SW5FOC9jTCx5Q0FBeUM7SW1FcmtkN0M7TUEwRVksaUJBQWdCLEVBQ25CLEVBQUE7O0FDL0VUOztrREFFa0Q7QXBFOGtkbEQscUNBQXFDO0FvRTVrZHJDO0VBQ0ksZ0JBQWU7RUFDZixvQkFBbUIsRUFDdEI7O0FwRThrZEQscUNBQXFDO0FvRTdrZHJDO0VBQ0ksaUJBQWdCLEVBQ25COztBcEUra2RELHFDQUFxQztBb0U5a2RyQztFQUNJLDBCbkU2SnlCO0VtRTVKekIsMEJuRWlLcUI7RW1FaEtyQixZQUFXO0VBQ1gsb0JBQW1CO0VBQ25CLHFCQUFvQjtFQUNwQixXQUFVLEVBQ2I7O0FwRWdsZEQscUNBQXFDO0FvRS9rZHJDO0VBQ0ksWUFBVztFQUNYLG1CQUFrQixFQUNyQjs7QXBFaWxkRCxxQ0FBcUM7QW9FaGxkckM7RUFDSSxrQkFBaUIsRUFDcEI7O0FwRWtsZEQscUNBQXFDO0FvRWpsZHJDO0VBQ0ksWUFBVztFQUNYLFlBQVc7RUFDWCxvQkFBbUIsRUFDdEI7O0FwRW1sZEQscUNBQXFDO0FvRWxsZHJDO0VBQ0ksWUFBVztFQUNYLG1CQUFrQixFQUNyQjs7QXBFb2xkRCxxQ0FBcUM7QW9FbmxkckM7RUFDSSxnQkFBZSxFQUNsQjs7QXBFcWxkRCxxQ0FBcUM7QW9FcGxkckM7RUFFUSxXQUFVLEVBS2I7RXBFZ2xkSCxxQ0FBcUM7RW9FdmxkdkM7SUFLWSxhQUFZLEVBQ2Y7O0FqRTlCRDtFSG9uZE4scUNBQXFDO0VvRWxsZG5DOztJQUVJLFlBQVcsRUFDZCxFQUFBOztBQ25ETDs7a0RBRWtEO0FyRXdvZGxELHdDQUF3QztBcUV2b2R4QztFQUNJLFlBQVc7RUFDWCxpQkFBZ0IsRUFDbkI7O0FyRXlvZEQsd0NBQXdDO0FxRXhvZHhDO0VBQ0ksWUFBVztFQUNYLGdCQUFlO0VBQ2YsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLG9CQUFtQixFQUN0Qjs7QXJFMG9kRCx3Q0FBd0M7QXFFem9keEM7RUFDSSwwQkFBeUI7RUFDekIsdUJBQXNCO0VBQ3RCLFlBQVcsRUFDZDs7QXJFMm9kRCx3Q0FBd0M7QXFFMW9keEM7RUFBbUMsVUFBVSxFQUFFOztBckU4b2QvQyx3Q0FBd0M7QXFFN29keEM7RUFDSSxnQkFBZTtFQUNmLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsV0FBVSxFQUNiOztBckUrb2RELHdDQUF3QztBcUU5b2R4QztFQUNJLHVDQUFzQztFQUN0QywrQ0FBOEM7RUFDOUMsNENBQTJDLEVBQzlDOztBckVncGRELHdDQUF3QztBcUUvb2R4QztFQUFxRixZQUFZLEVBQUU7O0FyRW1wZG5HLHdDQUF3QztBcUU5cGR4QztFQWFJLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsU0FBUSxFQUNYOztBckVvcGRELHdDQUF3QztBcUVucGR4QztFQUFlLHdCQUF3QixFQUFFOztBckV1cGR6Qyx3Q0FBd0M7QXFFdHBkeEM7RUFBMkIsb0JBQW9CLEVBQUU7O0FyRTBwZGpELHdDQUF3QztBcUV6cGR4QztFQUNJLFlBQVc7RUFDWCxZQUFXLEVBTWQ7RXJFcXBkQyx3Q0FBd0M7RXFFN3BkMUM7SUFLUSxZQUFVO0k1RHBDZCxZQUFXO0lBQ1gsZUFBYztJQUNkLFlBQVcsRTREb0NWOztBQUVMOztrREFFa0Q7QXJFNHBkbEQsd0NBQXdDO0FxRTNwZHhDO0VBQ0ksWUFBVztFQUNYLGdCQUFlO0VBQ2YsWUFBVyxFQUNkOztBQ3hERDs7a0RBRWtEO0FuRVkxQztFSDJzZE4sK0NBQStDO0VzRXB0ZDdDOzs7SUFJUSxZQUFXO0lBQ1gsZ0JyRXNPRztJcUVyT0gsbUJBQWtCO0lBQ2xCLFlBQVcsRUFDZDtFdEVvdGRQLCtDQUErQztFc0U1dGQ3Qzs7O0lBVVEsbUJBQWtCO0lBQ2xCLFlBQVcsRUFDZCxFQUFBOztBQ2pCVDs7a0RBRWtEO0F2RXl1ZGxELG1EQUFtRDtBdUV2dWRuRDtFQUdRLG9CQUFtQixFQUt0QjtFdkVrdWRILG1EQUFtRDtFdUUxdWRyRDtJQU1ZLHFCQUFvQixFQUN2Qjs7QXBFR0Q7RUhxdWROLG1EQUFtRDtFdUUvdWRyRDtJQVdRLGdCdEVzT1EsRXNFMU5mO0l2RTJ0ZEcsbURBQW1EO0l1RWx2ZHZEO01BY1ksbUJBQWtCLEVBQ3JCO0l2RXN1ZEwsbURBQW1EO0l1RXJ2ZHZEOztNQW1CWSxhQUFZLEVBQ2YsRUFBQTs7QXZFc3VkVCxtREFBbUQ7QXVFanVkbkQ7RUFDSSxZQUFXLEVBS2Q7RXZFOHRkQyxtREFBbUQ7RXVFcHVkckQ7SUFJUSxtQnRFaUJhLEVzRWhCaEI7O0F2RW11ZEwsbURBQW1EO0F1RWh1ZG5EO0VBQ0ksYUFBVztFQUNYLGtCQUFpQjtFQUNqQixvQnRFRk8sRXNFWVY7RXBFcENPO0lINnZkSixtREFBbUQ7SXVFdHVkdkQ7TUFNUSxtQkFBa0I7TUFDbEIsWUFBVyxFQU1sQixFQUFBO0V2RTZ0ZEMsbURBQW1EO0V1RTF1ZHJEO0lBV1EsaUJBQWdCLEVBQ25COztBdkVrdWRMLG1EQUFtRDtBdUUvdGRuRDtFOUQzQ0ksWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXLEU4RDRDVjs7QXZFa3VkTCxtREFBbUQ7QXVFL3RkbkQ7RUFDSSxnQkFBZSxFQUNsQjs7QUM1REQ7O2tEQUVrRDtBeEU4eGRsRCxtREFBbUQ7QXdFNXhkbkQ7RUFFUSxvQnZFZ0NHLEV1RVBOO0V4RW93ZEgsbURBQW1EO0V3RS94ZHJEO0kvREtJLFlBQVc7SUFDWCxlQUFjO0lBQ2QsWUFBVyxFK0RETjtFeEU4eGRQLG1EQUFtRDtFd0VweWRyRDtJQVNZLGlCQUFnQjtJQUNoQixZQUFXLEVBQ2Q7RXhFNnhkUCxtREFBbUQ7RXdFeHlkckQ7SUFjWSxpQnZFMEJZO0l1RXpCWixtQnZFK0JTLEV1RTlCWjtFeEU0eGRQLG1EQUFtRDtFd0U1eWRyRDtJQW1CWSxhQUFZO0lBQ1osZ0J2RTBCUyxFdUVwQlo7SXJFaEJEO01IdXlkRixtREFBbUQ7TXdFanpkekQ7UUF1QmdCLFlBQVc7UUFDWCxZQUFXLEVBRWxCLEVBQUE7O0F4RTR4ZFQsbURBQW1EO0F3RXR6ZG5EO0VBOEJRLFlBQVc7RUFDWCxnQnZFZWE7RXVFZGIsbUJ2RWNhLEV1RWJoQjs7QXhFMnhkTCxtREFBbUQ7QXdFeHhkbkQ7RUFFUSxlQUFjLEVBS2pCO0VyRWpDRztJSHN6ZEosbURBQW1EO0l3RTV4ZHZEO01BS1ksZ0JBQWUsRUFFdEIsRUFBQTs7QXhFeXhkTCxtREFBbUQ7QXdFdHhkbkQ7RUFFUSxlQUEyQixFQUM5Qjs7QXJFdkNHO0VIK3pkTixtREFBbUQ7RXdFcHhkakQ7O0lBSVksY0FBYSxFQUNoQixFQUFBOztBQzlEYjs7a0RBRWtEO0F6RW0xZGxELDhDQUE4QztBeUVqMWQ5QztFQUNFLFlBQVc7RUFDWCxZQUFXLEVBQ1o7O0F6RW0xZEQsOENBQThDO0F5RWwxZDlDO0VBQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixtQkFBa0IsRUFDbkI7O0FDWkQ7O2tEQUVrRDtBQUVsRDs7R0FFRztBMUVnMmRILHVDQUF1QztBMEU5MWR2QztFQUlnQixZQUFXLEVBTWQ7RXZFSkw7SUg0MWRKLHVDQUF1QztJMEVsMmQzQztNQVFvQixpQkFBZ0IsRUFFdkIsRUFBQTs7QTFFNDFkYix1Q0FBdUM7QTBFdjFkdkM7RUFDSSxZQUFXLEVBQ2Q7O0ExRXkxZEQsdUNBQXVDO0EwRXYxZHZDO0VBQ0ksWUFBVztFQUNYLFlBQVcsRUFDZDs7QXZFaEJPO0VIMDJkTix1Q0FBdUM7RTBFdDFkckM7OztJN0JnZUEsdUNBQXVDO0lBS3ZDLDhCQUE4QjtJQVk5Qix1QkFBdUI7SUFqQnZCLHVDQUF1QztJQUt2Qyw4QkFBOEI7SUFZOUIsdUJBQXVCLEU2QjFlbEI7STFFeTFkTCw4Q0FBOEM7STZDMTNjOUM7OztNQUNJLFlBQVcsRUFDZDtJN0M2M2NELDhDQUE4QztJNkM1M2M5Qzs7O01BQ0ksWUFBVyxFQUNkO0k3QyszY0QsOENBQThDO0k2QzkzYzlDOzs7Ozs7TUFFSSx1QkFBOEQsRUFDakU7STdDbTRjRCw4Q0FBOEM7STZDaDRjOUM7OztNQUNJLHVCQUE4RCxFQUNqRTtJN0NtNGNELDhDQUE4QztJNkNyNGM5Qzs7O01BSUksaUJBQTZDO01BQzdDLHVCQUE4RCxFQUNqRTtJN0NxNGNELDhDQUE4QztJNkNwNGM5Qzs7O01BQ0ksWUFBVyxFQUNkO0k3Q3U0Y0QsOENBQThDO0k2Q3Q0YzlDOzs7TUFDSSxnQkFBZSxFQUNsQjtJN0N5NGNELDhDQUE4QztJNkNqNmM5Qzs7O01BQ0ksWUFBVyxFQUNkO0k3Q282Y0QsOENBQThDO0k2Q242YzlDOzs7TUFDSSxZQUFXLEVBQ2Q7STdDczZjRCw4Q0FBOEM7STZDcjZjOUM7Ozs7OztNQUVJLHVCQUE4RCxFQUNqRTtJN0MwNmNELDhDQUE4QztJNkN2NmM5Qzs7O01BQ0ksdUJBQThELEVBQ2pFO0k3QzA2Y0QsOENBQThDO0k2QzU2YzlDOzs7TUFJSSxpQkFBNkM7TUFDN0MsdUJBQThELEVBQ2pFO0k3QzQ2Y0QsOENBQThDO0k2QzM2YzlDOzs7TUFDSSxZQUFXLEVBQ2Q7STdDODZjRCw4Q0FBOEM7STZDNzZjOUM7OztNQUNJLGdCQUFlLEVBQ2xCLEVBQUE7O0ExQ2xoQkc7RUhvOGROLHVDQUF1QztFMEVwNmRyQztJN0JvZEEsdUNBQXVDO0lBS3ZDLDhCQUE4QjtJQVk5Qix1QkFBdUI7SUFqQnZCLHVDQUF1QztJQUt2Qyw4QkFBOEI7SUFZOUIsdUJBQXVCLEU2QmplbEI7STFFdzZkTCw4Q0FBOEM7STZDbDljOUM7TUFDSSxZQUFXLEVBQ2Q7STdDbTljRCw4Q0FBOEM7STZDbDljOUM7TUFDSSxZQUFXLEVBQ2Q7STdDbTljRCw4Q0FBOEM7STZDbDljOUM7O01BRUksdUJBQThELEVBQ2pFO0k3Q205Y0QsOENBQThDO0k2Q2g5YzlDO01BQ0ksdUJBQThELEVBQ2pFO0k3Q2k5Y0QsOENBQThDO0k2Q245YzlDO01BSUksaUJBQTZDO01BQzdDLHVCQUE4RCxFQUNqRTtJN0NpOWNELDhDQUE4QztJNkNoOWM5QztNQUNJLFlBQVcsRUFDZDtJN0NpOWNELDhDQUE4QztJNkNoOWM5QztNQUNJLGdCQUFlLEVBQ2xCO0k3Q2k5Y0QsOENBQThDO0k2Q3orYzlDO01BQ0ksWUFBVyxFQUNkO0k3QzArY0QsOENBQThDO0k2Q3orYzlDO01BQ0ksWUFBVyxFQUNkO0k3QzArY0QsOENBQThDO0k2Q3orYzlDOztNQUVJLHVCQUE4RCxFQUNqRTtJN0MwK2NELDhDQUE4QztJNkN2K2M5QztNQUNJLHVCQUE4RCxFQUNqRTtJN0N3K2NELDhDQUE4QztJNkMxK2M5QztNQUlJLGlCQUE2QztNQUM3Qyx1QkFBOEQsRUFDakU7STdDdytjRCw4Q0FBOEM7STZDditjOUM7TUFDSSxZQUFXLEVBQ2Q7STdDdytjRCw4Q0FBOEM7STZDditjOUM7TUFDSSxnQkFBZSxFQUNsQixFQUFBOztBOEJoaUJMOztrREFFa0Q7QTNFMGdlbEQsdURBQXVEO0EyRXhnZXZEO0VBRVEsWUFBVztFQUNYLFlBQVc7RUFDWCxvQkFBbUIsRUFtQnRCO0UzRXMvZEgsdURBQXVEO0UyRTdnZXpEO0lBTVksWUFBVztJQUNYLFdBQVU7SUFDVixtQkFBa0I7SUFDbEIsb0JBQW1CO0lBQ25CLG9CMUUySmlCO0kwRTFKakIsMEJBQXlCO0lBQ3pCLGlDMUU4SmE7STBFN0piLGdDMUU2SmE7STBFNUpiLG9CQUFtQjtJQUNuQixxRTFFaU02RCxFMEUxTGhFO0kzRW1nZUwsdURBQXVEO0kyRXpoZTNEO01BaUJnQiwwQjFFa0hZLEUwRWpIZjtJM0UwZ2VULHVEQUF1RDtJMkU1aGUzRDtNQW9CZ0Isa0JBQWlCLEVBQ3BCOztBM0UyZ2ViLHVEQUF1RDtBMkVoaWV2RDtFQXlCUSxZQUFXO0VBQ1gsWUFBVztFQUNYLG9CQUFtQixFQVV0QjtFM0VnZ2VILHVEQUF1RDtFMkVyaWV6RDtJQTZCWSxlQUFjO0lBQ2QsWUFBVztJQUNYLGdCQUFlO0lBQ2YsaUJBQWdCLEVBQ25CO0UzRTBnZVAsdURBQXVEO0UyRTNpZXpEO0lBbUNZLGFBQVksRUFDZjs7QTNFMmdlVCx1REFBdUQ7QTJFL2lldkQ7RUF1Q1EscUJBQW9CO0VBQ3BCLGdCQUFlO0VBQ2Ysb0JBQW1CLEVBQ3RCOztBM0UyZ2VMLHVEQUF1RDtBMkVyamV2RDtFQTRDUSxZQUFXO0VBQ1gsWUFBVyxFQUNkOztBM0U0Z2VMLHVEQUF1RDtBMkUxamV2RDtFQWdEUSxXQUFVLEVBQ2I7O0EzRTZnZUwsdURBQXVEO0EyRTlqZXZEO0VBbURRLFdBQVUsRUFDYjs7QTNFOGdlTCx1REFBdUQ7QTJFbGtldkQ7RUFzRFEsb0JBQW1CLEVBQ3RCOztBM0UrZ2VMLHVEQUF1RDtBMkV0a2V2RDtFQTBEUSxrQkFBaUI7RUFDakIsZ0IxRWdMUTtFMEUvS1Isa0JBQWlCLEVBQ3BCOztBM0UrZ2VMLHVEQUF1RDtBMkU1a2V2RDtFQWdFUSxhQUFZLEVBQ2Y7O0EzRStnZUwsdURBQXVEO0EyRWhsZXZEO0VBb0VRLGFBQVk7RUFDWixrQkFBaUIsRUFDcEI7O0EzRStnZUwsd0RBQXdEO0EyRTVnZXhEO0VBRVEscUJBQW9CO0VBQ3BCLGVBQWM7RUFDZCxZQUFXO0VBQ1gsYUFBWSxFQUNmOztBM0U2Z2VMLHdEQUF3RDtBMkUxZ2V4RDtFQUVRLGlCQUFnQixFQUNuQjs7QTNFMmdlTCx3REFBd0Q7QTJFOWdleEQ7RUFLUSxpQkFBZ0IsRUFZbkI7RTNFZ2dlSCx3REFBd0Q7RTJFamhlMUQ7SUFPWSxpQkFBZ0I7SUFDaEIsbUJBQWtCLEVBQ3JCO0UzRTRnZVAsd0RBQXdEO0UyRXJoZTFEO0lBV1ksaUJBQWdCO0lBQ2hCLG9CQUFtQixFQUN0QjtFM0U0Z2VQLHdEQUF3RDtFMkV6aGUxRDtJQWVZLGlCQUFnQixFQUNuQjs7QTNFNmdlVCx3REFBd0Q7QTJFemdleEQ7Ozs7Ozs7Ozs7Ozs7RUFNZ0Isb0JBQW1CO0VBQ25CLFlBQVc7RUFDWCxvQjFFdURhO0UwRXREYixpQzFFMkRTO0UwRTFEVCxjQUFhO0VBQ2IsZ0JBQWUsRUFDbEI7O0EzRWtoZWIsd0RBQXdEO0EyRTloZXhEOzs7OztFQWVZLG9CQUFtQjtFQUNuQixZQUFXO0VBQ1gsb0IxRThDaUI7RTBFN0NqQixpQzFFa0RhO0UwRWpEYixjQUFhO0VBQ2IsZ0JBQWUsRUFDbEI7O0EzRXNoZVQsd0RBQXdEO0EyRTNpZXhEOzs7OztFQXVCWSxvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQUNuQjs7QTNFMmhlVCx3REFBd0Q7QTJFdmhleEQ7RUFFUSxZQUFXO0VBQ1gsWUFBVyxFQUNkOztBM0V3aGVMLHdEQUF3RDtBMkVyaGV4RDtFQUNJLHVCQUFzQixFQUN6Qjs7QTNFdWhlRCx3REFBd0Q7QTJFcmhleEQ7RUFDSSxZQUFXO0VBQ1gsWUFBVSxFQUNiOztBeEV4SU87RUhncWVOLHdEQUF3RDtFMkVyaGV0RDtJQUVRLG9CQUFtQixFQUN0QjtFM0VxaGVQLHdEQUF3RDtFMkVuaGV0RDs7SUFHUSxZQUFXO0lBQ1gsWUFBVztJQUNYLFVBQVM7SUFDVCxpQkFBZ0I7SUFDaEIsZ0JBQWUsRUFDbEIsRUFBQTs7QXhFeEpEO0VINnFlTix3REFBd0Q7RTJFbGlldEQ7SUFvQlEsWUFBVyxFQUNkO0UzRWdoZVAsd0RBQXdEO0UyRW5oZXREO0lBTVksWUFBVztJQUNYLFVBQVM7SUFDVCxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLGtCQUFpQixFQUNwQjtFM0UrZ2VYLHdEQUF3RDtFMkU1aWV0RDtJQStCWSxrQkFBaUI7SUFDakIsWUFBVyxFQUNkO0UzRStnZVgsd0RBQXdEO0UyRTloZXREO0lBa0JRLFlBQVc7SUFDWCxZQUFXLEVBQ2Q7RTNFOGdlUCx3REFBd0Q7RTJFenNlMUQ7SUE2TFksWUFBVztJQUNYLG9CQUFtQixFQUN0QjtFM0U4Z2VQLHdEQUF3RDtFMkV0aWV0RDtJQTJCWSxrQkFBaUIsRUFDcEI7RTNFNmdlWCx3REFBd0Q7RTJFemlldEQ7SUE4QlksWUFBVztJQUNYLGlCQUFnQixFQUNuQjtFM0U2Z2VYLHdEQUF3RDtFMkU3aWV0RDtJQW1DUSxZQUFXO0lBQ1gsV0FBVSxFQUNiLEVBQUE7O0F4RWxNRDtFSGd0ZU4sd0RBQXdEO0UyRXpnZXREO0lBQ0ksaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixpQkFBZ0IsRUFDbkIsRUFBQTs7QXhFM01HO0VIdXRlTix3REFBd0Q7RTJFeGdldEQ7SUFFUSxlQUFjLEVBQ2pCLEVBQUE7O0EzRXlnZVQsb0NBQW9DO0E0RWx3ZXBDO0VBRVEsMEJBQXlCO0VBQ3pCLG1CQUFrQixFQUNyQjs7QTVFbXdlTCxvQ0FBb0M7QTRFdndlcEM7RUFPWSx3QkFBdUIsRUFDMUI7O0E1RW13ZVQscUNBQXFDO0E0RTN3ZXJDO0VBVVksb0MzRXdQb0IsRTJFdlB2Qjs7QTVFb3dlVCxxQ0FBcUM7QTRFL3dlckM7RUFhWSxvQzNFcVBvQixFMkVwUHZCOztBNUVxd2VULHFDQUFxQztBNEVueGVyQztFQWlCZ0Isb0MzRWlQZ0IsRTJFaFBuQjs7QTVFcXdlYixxQ0FBcUM7QTRFdnhlckM7RUFzQlEsaUJBQWdCLEVBQ25COztBNUVvd2VMLHFDQUFxQztBNEVsd2VyQztFQUNJLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsZUFBYyxFQUlqQjtFNUVnd2VDLHFDQUFxQztFNEUzd2V2QztJQVNRLG9CQUFtQixFQUN0Qjs7QTVFcXdlTCxxQ0FBcUM7QTRFbndlckM7RUFDSSxZQUFXLEVBdURkO0U1RThzZUMscUNBQXFDO0U0RXR3ZXZDO0lBR1EsZUFBYyxFQUNqQjtFNUVxd2VILHFDQUFxQztFNEV6d2V2QztJQU1RLGVBQWM7SUFDZCxlQUFjLEVBQ2pCO0U1RXF3ZUgscUNBQXFDO0U0RTd3ZXZDO0lBVVEsWUFBVztJQUNYLGdCQUFlLEVBQ2xCO0U1RXF3ZUgscUNBQXFDO0U0RWp4ZXZDO0lBY1EsdUJBQXNCO0lBQ3RCLFdBQVU7SUFDVixpQkFBZ0IsRUFDbkI7RTVFcXdlSCxxQ0FBcUM7RTRFdHhldkM7SUFtQlEsMEJBQXlCO0lBQ3pCLGlCQUFnQixFQUNuQjtFNUVxd2VILHFDQUFxQztFNEUxeGV2QztJQXVCUSxnQkFBZTtJQUNmLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlO0lBQ2YsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsK0JBQThCLEVBd0JqQztJNUU4dWVELHFDQUFxQztJNEVqeWV6QztNQTZCWSxVQUFTO01BQ1Qsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYixnQ0FBdUI7VUFBdkIsc0JBQXVCO2NBQXZCLHdCQUF1QjtNQUN2Qiw0QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG9CQUFtQixFQUN0QjtJNUVzd2VMLHFDQUFxQztJNEV2eWV6QztNQW1DWSxXQUFVO01BQ1YsYUFBWSxFQUNmO0k1RXN3ZUwscUNBQXFDO0k0RTN5ZXpDO01BdUNZLFdBQVU7TUFDVixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLCtCQUFzQjtVQUF0QiwyQkFBc0I7Y0FBdEIsdUJBQXNCO01BQ3RCLGlCQUFnQjtNQUNoQixtQkFBa0IsRUFDckI7STVFc3dlTCxxQ0FBcUM7STRFbHplekM7TUE4Q1ksZ0JBQWUsRUFDbEI7STVFc3dlTCxxQ0FBcUM7STRFcnplekM7TUFpRFksV0FBVSxFQUNiO0U1RXN3ZVAscUNBQXFDO0U0RXh6ZXZDO0lBcURRLFlBQVc7SUFDWCxhQUFZLEVBQ2Y7O0FBRUw7RTVFcXdlRSxxQ0FBcUM7RTRFOXpldkM7SUE2RGdCLFdBQVUsRUFDYjtFNUVtd2VYLHNDQUFzQztFNEVqMGV4QztJQWdFZ0IsV0FBVSxFQUNiO0U1RW13ZVgsc0NBQXNDO0U0RXAwZXhDO0lBbUVnQixZQUFXLEVBQ2Q7RTVFbXdlWCxzQ0FBc0M7RTRFdjBleEM7SUF1RVksWUFBVztJQUNYLFlBQVc7SUFDWCxvQkFBbUIsRUFDdEIsRUFBQTs7QTVFbXdlVCxzQ0FBc0M7QTRFaHdldEM7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsaUJBQWdCO0VBQ2hCLGVBQWMsRUFJakI7RTVFOHZlQyxzQ0FBc0M7RTRFendleEM7SUFTUSxvQkFBbUIsRUFDdEI7O0E1RW13ZUwsc0NBQXNDO0E0RWp3ZXRDO0VBQ0ksc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0Qiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLGlCQUFnQjtFQUNoQixlQUFjLEVBY2pCO0U1RXF2ZUMsc0NBQXNDO0U0RTF3ZXhDO0lBU1Esb0JBQW1CO0lBQ25CLG9DM0UwSHdCO0kyRXpIeEIsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQixpQjNFd0ljLEUyRXZJakI7RTVFbXdlSCxzQ0FBc0M7RTRFanhleEM7SUFnQlEsaUJBQWdCLEVBSW5CO0k1RWd3ZUQsc0NBQXNDO0k0RXB4ZTFDO01Ba0JZLDBCQUF5QixFQUM1Qjs7QTVFcXdlVCxzQ0FBc0M7QTRFbHdldEM7RUFDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBbUJ0QjtFNUVpdmVDLHNDQUFzQztFNEV2d2V4QztJQUtRLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsaUJBQWdCLEVBQ25CO0U1RW93ZUgsc0NBQXNDO0U0RTV3ZXhDO0lBVVEsV0FBVSxFQUNiO0U1RW93ZUgsc0NBQXNDO0U0RS93ZXhDO0lBYVEsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCwwQnhFckhPO0l3RXNIUCxleEVsSE8sRXdFdUhWO0k1RWd3ZUQsc0NBQXNDO0k0RXJ4ZTFDO01Ba0JZLDBCeEVwSEc7TXdFcUhILGV4RXpIRyxFd0UwSE47O0E1RXN3ZVQsc0NBQXNDO0E0RW53ZXRDO0VBQ0ksbUJBQWtCLEVBTXJCO0U1RSt2ZUMsc0NBQXNDO0U0RXR3ZXhDO0lBR1EsWUFBVztJQUNYLGtCQUFpQjtJQUNqQixZQUFXLEVBQ2Q7O0FDeEpMOztrREFFa0Q7QTdFKzVlbEQseUNBQXlDO0E2RTk1ZXpDO0VBRVEsMEJBQXlCLEVBUTVCO0U3RXU1ZUgseUNBQXlDO0U2RWo2ZTNDO0lBS1ksb0JBQW1CO0lBQ25CLG9CQUFtQjtJQUNuQixlQUFjO0lBQ2QscUJBQW9CLEVBQ3ZCOztBQ1pUOztrREFFa0Q7QUFFbEQ7O0dBRUc7QTlFMjZlSCxzQ0FBc0M7QThFejZldEM7RUFDSSxZQUFXLEVBeUJkO0U5RWs1ZUMsc0NBQXNDO0U4RTU2ZXhDO0lBSVEsbUJBQWtCO0lBQ2xCLGlCQUFnQjtJQUNoQixVQUFTO0lBQ1QscUNBQW9DLEVBa0J2QztJOUV5NWVELHNDQUFzQztJOEVsN2UxQztNQVVZLG1CQUFrQjtNQUNsQixPQUFNO01BQ04sUUFBTztNQUNQLFVBQVM7TUFDVCxZQUFXO01BQ1gsYUFBWSxFQVNmOztBM0VsQkQ7RUhzN2VOLHNDQUFzQztFOEU1N2V4QztJQWdDWSxzQ0FBcUM7SUFDckMsa0JBQWlCLEVBT3BCO0k5RXc1ZUwsc0NBQXNDO0k4RWg4ZTFDO01Bb0NnQixhQUFZO01BQ1osVUFBUztNQUNULG9DQUEyQjtVQUEzQixnQ0FBMkI7Y0FBM0IsNEJBQTJCLEVBQzlCLEVBQUE7O0E5RSs1ZWIsc0NBQXNDO0E4RXo1ZXRDO0VBQ0ksbUJBQWtCO0VBQ2xCLGNBQWE7RTdDL0VmLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsVUFBUztFQUNULFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsb0JBQW1CO0U2QzRFakIsbUJBQWtCLEVBc0JyQjtFOUUwNGVDLHNDQUFzQztFOEVwNmV4QztJQU1RLGdCQUFlLEVBQ2xCO0U5RWc2ZUgsc0NBQXNDO0U4RXY2ZXhDO0lBU1EsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixRQUFPLEVBY1Y7STlFbTVlRCxzQ0FBc0M7SThFNTZlMUM7TUFhWSxvQkFBbUI7TTdDakY3QixtQ2hDdVBpQztNZ0N0UGpDLG1CQUFrQjtNQUNsQixlN0JrQ2E7TTZCakNiLGdCaEN5UGdCLEU2RXpLVDtJOUVvNmVMLHNDQUFzQztJOEVuN2UxQztNQWlCWSxpQkFBZ0I7TUFDaEIsb0JBQW1CO003Qy9FN0Isb0NoQ2lQOEI7TWdDaFA5QixnQmhDNlBlO01nQzVQZixlN0IyQmE7TTZCMUJiLHVCQUFzQjtNQUN0QixrQkFBaUI7TUFDakIsaUJBQWdCLEU2QzRFVDtJOUV5NmVMLHVDQUF1QztJOEU3N2UzQztNN0M5Q0Usb0NoQ2tPOEI7TWdDak85QiwwQkFBeUI7TUFDekIsZ0JoQzZPZTtNZ0M1T2YsZTdCV2E7TTZCVmIsMEI3QlVhO002QlRiLGtCQUFpQjtNQUNqQiwyQkFBMEI7TUFDMUIsYUFBWTtNQUNaLDhCQUE2QjtNNkM2RG5CLGFBQVksRUFDZjs7QTlFazdlVCx1Q0FBdUM7QThFOTZldkM7RUFHUSxjQUFhLEVBQ2hCOztBOUU4NmVMLHVDQUF1QztBOEVsN2V2QztFQU9RLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsZUFBYyxFQVVqQjtFOUVvNmVILHVDQUF1QztFOEV4N2V6QztJN0NoR0UsbUNoQ3VQaUM7SWdDdFBqQyxtQkFBa0I7SUFDbEIsZTdCa0NhO0k2QmpDYixnQmhDeVBnQixFNkUvSVQ7RTlFaTdlUCx1Q0FBdUM7RThFOTdlekM7STdDekZFLG9DaENpUDhCO0lnQ2hQOUIsZ0JoQzZQZTtJZ0M1UGYsZTdCMkJhO0k2QjFCYix1QkFBc0I7SUFDdEIsa0JBQWlCO0lBQ2pCLGlCQUFnQixFNkNvR1Q7RTlFczdlUCx1Q0FBdUM7RThFdDhlekM7STdDMUVFLG9DaENrTzhCO0lnQ2pPOUIsMEJBQXlCO0lBQ3pCLGdCaEM2T2U7SWdDNU9mLGU3QldhO0k2QlZiLDBCN0JVYTtJNkJUYixrQkFBaUI7SUFDakIsMkJBQTBCO0lBQzFCLGFBQVk7SUFDWiw4QkFBNkIsRTZDcUZ0Qjs7QTlFKzdlVCx1Q0FBdUM7QThFbDlldkM7RUF1QlEsbUJBQWtCO0VBQ2xCLGNBQWE7RTdDakluQixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxXQUFVO0VBQ1YsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFNkM4SGIsbUJBQWtCLEVBc0JyQjtFOUU2NmVILHVDQUF1QztFOEU3OWV6QztJQTRCWSxnQkFBZSxFQUNsQjtFOUVtOGVQLHVDQUF1QztFOEVoK2V6QztJQStCWSxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFFBQU8sRUFjVjtJOUVzN2VMLHVDQUF1QztJOEVyK2UzQztNQW1DZ0Isb0JBQW1CO003Q25JakMsbUNoQ3VQaUM7TWdDdFBqQyxtQkFBa0I7TUFDbEIsZTdCa0NhO002QmpDYixnQmhDeVBnQixFNkV2SEw7STlFdThlVCx1Q0FBdUM7SThFNStlM0M7TUF1Q2dCLGlCQUFnQjtNQUNoQixvQkFBbUI7TTdDaklqQyxvQ2hDaVA4QjtNZ0NoUDlCLGdCaEM2UGU7TWdDNVBmLGU3QjJCYTtNNkIxQmIsdUJBQXNCO01BQ3RCLGtCQUFpQjtNQUNqQixpQkFBZ0IsRTZDOEhMO0k5RTQ4ZVQsdUNBQXVDO0k4RXQvZTNDO003QzFFRSxvQ2hDa084QjtNZ0NqTzlCLDBCQUF5QjtNQUN6QixnQmhDNk9lO01nQzVPZixlN0JXYTtNNkJWYiwwQjdCVWE7TTZCVGIsa0JBQWlCO01BQ2pCLDJCQUEwQjtNQUMxQixhQUFZO01BQ1osOEJBQTZCO002QytHZixhQUFZLEVBQ2Y7O0E5RXE5ZWIsdUNBQXVDO0E4RW5nZnZDO0VBbURRLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLGFBQVksRUFxQmY7RTlFODdlSCx1Q0FBdUM7RThFemdmekM7SUF3RFksWUFBVztJQUNYLGFBQVksRUFDZjtFOUVtOWVQLHVDQUF1QztFOEU3Z2Z6QztJQTREWSxtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFFBQU8sRUFZVjtJOUV3OGVMLHVDQUF1QztJOEVsaGYzQztNQWdFZ0Isb0JBQW1CLEVBQ3RCO0k5RW85ZVQsdUNBQXVDO0k4RXJoZjNDO01BbUVnQixpQkFBZ0I7TUFDaEIsb0JBQW1CLEVBQ3RCO0k5RW85ZVQsdUNBQXVDO0k4RXpoZjNDO01Bd0VnQixtQkFBa0IsRUFDckI7O0E5RW85ZWIsdUNBQXVDO0E4RTdoZnZDO0VBNkVRLG1CQUFrQixFQXVCckI7RTlFNDdlSCx1Q0FBdUM7RThFaGlmekM7SUErRVksa0JBQWlCO0lBQ2pCLGlCQUFnQjtJQUNoQixhQUFZLEVBQ2Y7RTlFbTllUCx1Q0FBdUM7RThFcmlmekM7SUFvRlksbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxXQUFVLEVBYWI7STlFdThlTCx1Q0FBdUM7SThFMWlmM0M7TUF3RmdCLG9CQUFtQixFQUN0QjtJOUVvOWVULHVDQUF1QztJOEU3aWYzQztNQTJGZ0IsaUJBQWdCO01BQ2hCLG9CQUFtQixFQUN0QjtJOUVvOWVULHVDQUF1QztJOEVqamYzQztNQStGZ0IsaUJBQWdCO01BQ2hCLG1CQUFrQjtNQUNsQixhQUFZLEVBQ2Y7O0E5RXE5ZWIsdUNBQXVDO0E4RXZqZnZDO0VBdUdZLGlCQUFRO01BQVIsa0JBQVE7VUFBUixTQUFRO0VBQ1IsaUJBQWdCLEVBQ25COztBOUVtOWVULHVDQUF1QztBOEU1amZ2QztFQTJHWSxrQkFBUztNQUFULGNBQVM7VUFBVCxVQUFTO0VBQ1Qsb0JBQW1CLEVBVXRCO0U5RTA4ZVAsdUNBQXVDO0U4RWhrZnpDO0lBOEdnQixpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLG9CQUFtQixFQUN0QjtFOUVvOWVYLHVDQUF1QztFOEVya2Z6QztJQW1IZ0IsZ0JBQWU7SUFDZixtQkFBa0IsRUFDckI7O0E5RXE5ZWIsdUNBQXVDO0E4RTFrZnZDO0VBeUhRLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLGtCQUFpQjtFQUNqQixlQUFjO0VBQ2QsOENBQTZDO0VBQzdDLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUIsRUF1Q3RCO0U5RTY2ZUgsdUNBQXVDO0U4RXBsZnpDO0lBcUlZLFlBQVc7SUFDWCxrQkFBUztRQUFULGNBQVM7WUFBVCxVQUFTLEVBWVo7STlFczhlTCx1Q0FBdUM7SThFeGxmM0M7TUF3SWdCLG9CQUFtQixFQUN0QjtJOUVrOWVULHVDQUF1QztJOEUzbGYzQztNQTJJZ0Isb0JBQW1CO01BQ25CLGlCQUFnQixFQUNuQjtJOUVrOWVULHVDQUF1QztJOEUvbGYzQztNQStJZ0IsZ0JBQWU7TUFDZixtQkFBa0IsRUFDckI7RTlFazllWCx1Q0FBdUM7RThFbm1mekM7SUFvSlksbUJBQWtCO0lBQ2xCLGtCQUFTO1FBQVQsY0FBUztZQUFULFVBQVM7SUFDVCxhQUFZO0lBQ1osbUJBQWtCO0lBR2xCLFVBQVMsRUFZWjtJOUVvOGVMLHVDQUF1QztJOEUxbWYzQztNQTRKZ0IsbUJBQWtCO01BQ2xCLGlCQUFnQjtNQUNoQixTQUFRO01BQ1IsVUFBUyxFQUNaO0k5RWc5ZVQsdUNBQXVDO0k4RWhuZjNDO01Ba0tnQixtQkFBa0I7TUFDbEIsU0FBUSxFQUVYOztBOUVnOWViLHVDQUF1QztBOEVybmZ2QztFQXlLUSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLHNDQUE2QjtNQUE3Qiw0QkFBNkI7VUFBN0IsOEJBQTZCLEVBZ0JoQztFOUUrN2VILHVDQUF1QztFOEUxbmZ6QztJQTZLWSxpQkFBZ0IsRUFDbkI7RTlFKzhlUCx1Q0FBdUM7RThFN25mekM7SUFnTFksaUJBQWdCLEVBVW5CO0k5RXM4ZUwsdUNBQXVDO0k4RWhvZjNDO01Ba0xnQixpQkFBZ0I7TUFDaEIsaUJBQWdCO01BQ2hCLG9CQUFtQixFQUN0QjtJOUVnOWVULHVDQUF1QztJOEVyb2YzQztNQXVMZ0IsZ0JBQWU7TUFDZixtQkFBa0IsRUFDckI7O0E5RWk5ZWIsdUNBQXVDO0E4RTU4ZXZDO0VBQ0ksbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQiwwQkFBeUI7RUFDekIsWUFBVztFQUNYLFNBQVE7RW5EL1FSLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUIsRW1ENlFwQjs7QTlFazllRCx1Q0FBdUM7QThFaDlldkM7RUFDSSxlQUFjO0VBQ2QsZ0JBQWU7RUNoUWpCLHVDRGlRMkQsRUFDNUQ7O0E5RWs5ZUQsdUNBQXVDO0E4RWg5ZXZDO0VBQ0ksa0JBQWlCO0VBQ2pCLGVBQWM7RUFDZCxnQkFBZSxFQUNsQjs7QTNFcFJPO0VIdXVmTix1Q0FBdUM7RThFcHFmekM7SUFzTlksY0FBYSxFQUNoQjtFOUVnOWVQLHVDQUF1QztFOEV2cWZ6QztJQTBOZ0Isb0JBQW1CO0lBQ25CLGtCQUFTO1FBQVQsY0FBUztZQUFULFVBQVMsRUFPWjtJOUV5OGVULHVDQUF1QztJOEUzcWYzQztNQTZOb0IsU0FBUSxFQUNYO0k5RWc5ZWIsdUNBQXVDO0k4RTlxZjNDO01BZ09vQixXQUFVLEVBQ2I7RTlFZzllZix1Q0FBdUM7RThFanJmekM7SUFxT1ksa0JBQWlCLEVBS3BCO0k5RTA4ZUwsdUNBQXVDO0k4RXByZjNDO01BdU9nQixVQUFTO01BQ1QsUUFBTyxFQUNWO0U5RSs4ZVgsdUNBQXVDO0U4RXhyZnpDO0lBNE9ZLGtCQUFpQixFQUNwQixFQUFBOztBM0VoVEQ7RUhnd2ZOLHVDQUF1QztFOEU3cmZ6QztJQW9QWSxjQUFhO0lBQ2Isb0JBQW1CO0lBQ25CLFdBQVUsRUFRYjtJOUVvOGVMLHVDQUF1QztJOEVoOWV2QztNQU1ZLGlCQUFnQixFQUtuQjtNOUV3OGVQLHVDQUF1QztNOEVuOWV6QztRQVFnQixVQUFTO1FBQ1QsV0FBVSxFQUNiO0U5RTY4ZWYsdUNBQXVDO0U4RXY5ZXJDO0lBY1EsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBTWxCO0k5RXM4ZUwsdUNBQXVDO0k4RTdzZjNDO01BbVFnQixtQkFBVTtVQUFWLGVBQVU7Y0FBVixXQUFVO01BQ1Ysa0JBQWlCO01BQ2pCLG9CQUFtQixFQUN0QjtFOUU0OGVYLHVDQUF1QztFOEVsdGZ6QztJQXlRWSxjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsK0JBQXNCO1FBQXRCLHFCQUFzQjtZQUF0Qix1QkFBc0IsRUEyQnpCO0k5RWk3ZUwsdUNBQXVDO0k4RXZ0ZjNDO01BNlFnQixZQUFXO01BQ1gsY0FBYTtNQUNiLG9CQUFXO1VBQVgsZ0JBQVc7Y0FBWCxZQUFXO01BQ1gsaUJBQWdCLEVBQ25CO0k5RTQ4ZVQsdUNBQXVDO0k4RTd0ZjNDO01BbVJnQixvQkFBVztVQUFYLGdCQUFXO2NBQVgsWUFBVztNQUNYLGNBQWE7TUFDYixZQUFXO01BQ1gsaUJBQWdCLEVBZW5CO005RTg3ZVAsdUNBQXVDO004RW51ZjdDO1FBd1JvQixZQUFXO1FBQ1gsaUJBQWdCO1FBQ2hCLGtCQUFpQjtRQUNqQixhQUFZO1FBQ1osZ0JBQWUsRUFDbEI7TTlFNjhlWCx1Q0FBdUM7TThFMXVmN0M7UUErUm9CLGlCQUFnQjtRQUNoQixrQkFBaUI7UUFDakIsU0FBUTtRQUNSLFVBQVM7UUFDVCxtQ0FBMEI7WUFBMUIsK0JBQTBCO2dCQUExQiwyQkFBMEIsRUFDN0I7RTlFNjhlZix1Q0FBdUM7RThFanZmekM7SUF3U1ksd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBU2xCO0k5RW04ZUwsdUNBQXVDO0k4RXB2ZjNDO01BMFNnQixZQUFXO01BQ1gsaUJBQWdCLEVBQ25CO0k5RTQ4ZVQsdUNBQXVDO0k4RXh2ZjNDO01BOFNnQixpQkFBUTtVQUFSLGtCQUFRO2NBQVIsU0FBUTtNQUNSLGdCQUFlLEVBQ2xCLEVBQUE7O0EzRW5YTDtFSGkwZk4sdUNBQXVDO0U4RXZqZnpDO0lBaUhRLGdCQUFlLEVBQ2xCO0U5RXc4ZUgsdUNBQXVDO0U4RXBqZnpDO0lBK0dRLGdCQUFlLEVBQ2xCO0U5RXU4ZUgsdUNBQXVDO0U4RXB3ZnpDO0lBbVVvQixjQUFhLEVBQ2hCO0U5RW04ZWYsdUNBQXVDO0U4RXg4ZXJDO0lBVVksY0FBYSxFQUNoQixFQUFBOztBM0U3WUw7RUgrMGZOLHVDQUF1QztFOEU1N2VyQztJQUlnQixpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ3BCO0U5RTA3ZWYsdUNBQXVDO0U4RWg4ZXJDO0lBV1ksY0FBYSxFQUNoQjtFOUV1N2VYLHVDQUF1QztFOEVuOGVyQztJQWNZLGlCQUFnQjtJQUNoQixrQkFBaUIsRUFDcEIsRUFBQTs7QTNFbmFMO0VINDFmTix1Q0FBdUM7RThFM2xmekM7SUEwS1EsU0FBUSxFQUNYO0U5RW03ZUgsdUNBQXVDO0U4RXJsZnpDO0lBcUtRLGdCQUFlLEVBQ2xCO0U5RWs3ZUgsdUNBQXVDO0U4RWxsZnpDO0lBbUtRLGdCQUFlLEVBQ2xCLEVBQUE7O0FBR0w7O0dBRUc7QTlFZzdlSCx1Q0FBdUM7QThFOTZldkM7RUFDSSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFlBQVcsRUFDZDs7QTlFZzdlRCx1Q0FBdUM7QThFOTZldkM7RXJFdGNJLFlBQVc7RUFDWCxlQUFjO0VBQ2QsWUFBVyxFcUVzY2Q7O0FBRUQsMEVBQTBFO0E5RWk3ZTFFLHVDQUF1QztBOEUvNmV2QztFQUNJLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQiwwQjdFNVNxQjtFMEJ6S3JCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtFQUNwQixrQkFBaUIsRW1EbWRwQjs7QTlFcTdlRCx1Q0FBdUM7QThFbjdldkM7RUFDSSxpQkFBZ0IsRUFDbkI7O0E5RXE3ZUQsdUNBQXVDO0E4RW43ZXZDO0VBQ0ksZ0JBQWU7RUFDZixZQUFXLEVBQ2Q7O0E5RXE3ZUQsdUNBQXVDO0E4RW43ZXZDO0U1Q3ZmSSw0REFBNEY7RUFFOUYsYTRDc2ZzQjtFQUNwQixlQUFjLEVBQ2pCOztBOUVzN2VELHVDQUF1QztBOEVwN2V2QztFQUNJLGVBQWM7RUFDZCwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxZQUFXO0VBQ1gsU0FBUTtFQUNSLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLHFFN0VqU3FFO0U4RTFMdkUsdUNENGQyRCxFQUM1RDs7QTlFczdlRCx1Q0FBdUM7QThFcDdldkM7RUFDSSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixlQUFjLEVBQ2pCOztBM0UvZU87RUhzNmZOLHVDQUF1QztFOEV4OGV6QztJQXNCUSxnQkFBZSxFQUNsQjtFOUVvN2VILHVDQUF1QztFOEU5N2V6QztJQWFRLGdCQUFlLEVBQ2xCO0VBRUQsNkNBQTZDO0U5RWs3ZS9DLHVDQUF1QztFOEV0K2V6QztJQXdEUSxZQUFXO0lBQ1gsaUJBQXNDO0lBQ3RDLHVCQUFrQyxFQUNyQztFOUVnN2VILHVDQUF1QztFOEU5NmVyQztJQUNJLGdCQUFlLEVBQ2xCLEVBQUE7O0EzRXRnQkc7RUh1N2ZOLHVDQUF1QztFOEV6OWV6QztJQTZDUSxnQkFBZSxFQUNsQjtFOUU4NmVILHVDQUF1QztFOEUvOGV6QztJQW9DUSxnQkFBZSxFQUNsQixFQUFBOztBQUdMOztHQUVHO0FBRUgsOEVBQThFO0FBQzlFLDBFQUEwRTtBOUUyNmUxRSx1Q0FBdUM7QThFMTZldkM7Ozs7RUFJSSxjQUFhLEVBQ2hCOztBOUU0NmVELHVDQUF1QztBOEUxNmV2QztFQUNJLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZTdFbmVZO0U2RW9lWixpQkFBZ0I7RUFDaEIsaUM3RXJZcUI7RTZFc1lyQiw4QjdFdFlxQixFNkV1WXhCOztBOUU0NmVELHVDQUF1QztBOEUxNmV2QztFQUNJLGNBQWEsRUFDaEI7O0FBRUQ7O0dBRUc7QTlFMjZlSCx1Q0FBdUM7QThFejZldkM7RUFDSSxtQkFBa0I7RUFDbEIsZ0JBQWUsRUFzR2xCO0U5RXEwZUMsdUNBQXVDO0U4RTc2ZXpDO0lBS1Esc0JBQXFCO0lBQ3JCLG1CQUFrQjtJQUNsQixlQUFjLEVBNEJqQjtJOUUrNGVELHVDQUF1QztJOEVsN2UzQztNQVVZLGFBQVk7TUFDWixzQkFBcUI7TUFDckIsWUFBVztNQUNYLGFBQVksRUFPZjtNOUVvNmVILHVDQUF1QztNOEV4N2U3QztRQWlCb0IsY0FBYSxFQUNoQjtJOUV5NmViLHVDQUF1QztJOEUzN2UzQztNQXVCWSxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLFNBQVE7TUFDUixtQ0FBMEI7VUFBMUIsK0JBQTBCO2NBQTFCLDJCQUEwQjtNQUMxQixlQUFjLEVBT2pCO005RWc2ZUgsdUNBQXVDO004RWw4ZTdDO1FBK0JvQixjQUFhLEVBQ2hCO0U5RXE2ZWYsdUNBQXVDO0U4RXI4ZXpDO0lBc0NRLGlCQUFnQjtJQUNoQixhQUFZLEVBNEJmO0k5RXM0ZUQsdUNBQXVDO0k4RXo4ZTNDO01BMENZLG1CQUFrQjtNQUNsQixvQkFBbUIsRUF1QnRCO005RTI0ZUgsdUNBQXVDO004RTc4ZTdDO1FBOENnQixtQ0FBa0M7UUFDbEMsZ0JBQWU7UUFDZixzQkFBcUI7UUFDckIsMEJBQXlCO1FBQ3pCLGtCQUFpQixFQUNwQjtNOUVpNmVQLHVDQUF1QztNOEVwOWU3QztRQXNEZ0Isb0NBQW1DO1FBQ25DLGdCQUFlO1FBQ2YsaUJBQWdCO1FBQ2hCLG9CQUFtQjtRQUNuQixrQkFBaUI7UUFDakIsaUJBQWdCLEVBQ25CO005RWc2ZVAsdUNBQXVDO004RTU5ZTdDO1FBK0RnQixvQkFBbUI7UUFDbkIsYUFBWSxFQUNmO0U5RSs1ZVgsdUNBQXVDO0U4RWgrZXpDO0lBNkVnQixRQUFPO0lBQ1Asb0NBQTJCO1FBQTNCLGdDQUEyQjtZQUEzQiw0QkFBMkIsRUFLOUI7STlFaTVlVCx1Q0FBdUM7SThFcCtlM0M7TUFpRm9CLGtCQUFpQixFQUNwQjtFOUVxNWVmLHVDQUF1QztFOEV2K2V6QztJQXNHUSxvQkFBbUIsRUFDdEI7O0EzRXhwQkc7RUg2aGdCTix1Q0FBdUM7RThFaDRlckM7SUFHWSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBbUhoQjtJOUU2d2VULHVDQUF1QztJOEVyNGV2QztNQVFnQixtQkFBa0I7TUFDbEIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYixzQkFBYTtVQUFiLGtCQUFhO2NBQWIsY0FBYTtNQUNiLGlCQUFnQixFQTRDbkI7TTlFbzFlWCx1Q0FBdUM7TThFMzRlekM7UUFjb0IsbUJBQWtCO1FBQ2xCLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsdUJBQWM7WUFBZCxtQkFBYztnQkFBZCxlQUFjO1FBQ2QsNEJBQW1CO1lBQW5CLHVCQUFtQjtnQkFBbkIsb0JBQW1CO1FBQ25CLCtCQUFzQjtZQUF0QixxQkFBc0I7Z0JBQXRCLHVCQUFzQjtRQUN0QixhQUFZO1FBQ1osYUFBWTtRQUNaLGNBQWEsRUFVaEI7UTlFczNlYix1Q0FBdUM7UThFcjVlM0M7VUF3QndCLGNBQWEsRUFNaEI7VTlFMDNlZix1Q0FBdUM7VThFeDVlN0M7WUEyQjRCLGVBQWMsRUFDakI7TTlFKzNldkIsdUNBQXVDO004RTM1ZXpDO1FBa0NvQixtQkFBa0I7UUFDbEIsc0JBQWE7UUFBYixxQkFBYTtRQUFiLGNBQWE7UUFDYix1QkFBYztZQUFkLG1CQUFjO2dCQUFkLGVBQWM7UUFDZCw0QkFBbUI7WUFBbkIsdUJBQW1CO2dCQUFuQixvQkFBbUI7UUFDbkIsYUFBWTtRQUNaLFdBQVU7UUFDVixhQUFZO1FBQ1oseUJBQWdCO1lBQWhCLHFCQUFnQjtnQkFBaEIsaUJBQWdCO1FBQ2hCLGlCQUFnQixFQVluQjtROUVnM2ViLHVDQUF1QztROEV0NmUzQztVQTZDd0Isb0NBQTJCO2NBQTNCLGdDQUEyQjtrQkFBM0IsNEJBQTJCO1VBQzNCLGFBQVk7VUFDWixjQUFhLEVBTWhCO1U5RXMzZWYsdUNBQXVDO1U4RTM2ZTdDO1lBa0Q0QixlQUFjLEVBQ2pCO0k5RTIzZXpCLHVDQUF1QztJOEU5NmV2QztNQTBEZ0Isc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiw0QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG9CQUFtQjtNQUVuQixhQUFZO01BQ1osK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0I7TUFDdEIsaUJBQWdCLEVBaUJuQjtNOUVxMmVYLHVDQUF1QztNOEVyN2V6QztRQWtFb0IsYUFBWSxFQWFmO1E5RXkyZWIsdUNBQXVDO1E4RXg3ZTNDO1VBcUV3QixpQkFBZ0IsRUFDbkI7UTlFcTNlakIsdUNBQXVDO1E4RTM3ZTNDO1VBeUV3QixpQkFBZ0IsRUFDbkI7UTlFbzNlakIsdUNBQXVDO1E4RTk3ZTNDO1VBNkV3QixzQkFBcUIsRUFDeEI7STlFbTNlckIsdUNBQXVDO0k4RWo4ZXZDO01Bb0ZvQixpQkFBUTtVQUFSLGtCQUFRO2NBQVIsU0FBUSxFQWlCWDtNOUUrMWVmLHVDQUF1QztNOEVwOGV6QztRQXVGd0IsaUJBQVE7WUFBUixrQkFBUTtnQkFBUixTQUFRLEVBSVg7TTlFNDJlbkIsdUNBQXVDO004RXY4ZXpDO1FBOEZ3QixZQUFXO1FBQ1gseUJBQWdCO1lBQWhCLHFCQUFnQjtnQkFBaEIsaUJBQWdCLEVBS25CO1E5RXUyZWpCLHVDQUF1QztROEUzOGUzQztVQWtHNEIsbUNBQTBCO2NBQTFCLCtCQUEwQjtrQkFBMUIsMkJBQTBCLEVBQzdCO0k5RTIyZXpCLHVDQUF1QztJOEU5OGV2QztNQXlHb0IsYUFBWSxFQWFmO0U5RTIxZW5CLHVDQUF1QztFOEVqOWVyQztJQTZIWSxZQUFXO0lBQ1gsZ0JBQWUsRUFZbEI7STlFMjBlVCx1Q0FBdUM7SThFcjlldkM7TUFrSW9CLGNBQWEsRUFNaEI7TTlFZzFlZix1Q0FBdUM7TThFeDllekM7UUFxSXdCLGVBQWMsRUFDakIsRUFBQTs7QUVqekJ6Qjs7a0RBRWtEO0FoRndvZ0JsRCwwQ0FBMEM7QTZDNTBmMUM7RW1DelRJLG1CQUFrQixFQUNyQjs7QWhGd29nQkQsMENBQTBDO0FnRnRvZ0IxQztFQUNJLDBCQUF5QjtFQUN6QixhQUFZLEVBQ2Y7O0FoRndvZ0JELDBDQUEwQztBZ0Z0b2dCMUM7RUFDSSxZQUFXO0VBQ1gsb0JBQW1CO0VBQ25CLFlBQVcsRUFDZDs7QWhGd29nQkQsMENBQTBDO0FnRnRvZ0IxQztFQUNJLG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsc0JBQXFCO0VBQ3JCLGtDQUEwQztFQUMxQyxvQi9FdUJjO0UrRXRCZCwwQi9FcUpxQjtFK0VwSnJCLGNBQWEsRUFDaEI7O0FoRndvZ0JELDBDQUEwQztBZ0Z0b2dCMUM7RUFDSSxzQi9FZ0RZLEUrRS9DZjs7QTdFakJPO0VIMHBnQk4sMENBQTBDO0VnRnJwZ0I1QztJQWdCUSxzQkFBcUI7SUFDckIsNEJBQTJCLEVBQzlCO0VoRnVvZ0JILDBDQUEwQztFZ0Zyb2dCeEM7SUFDSSwyQkFBMEIsRUFDN0IsRUFBQTs7QTdFM0JHO0VIbXFnQk4sMENBQTBDO0VnRjlwZ0I1QztJQTJCUSx1QkFBc0I7SUFDdEIsMkJBQTBCO0lBQzFCLFlBQVcsRUFDZCxFQUFBOztBaEZzb2dCTCwwQ0FBMEM7QWdGbm9nQjFDO0VBQ0ksMkJBQTBCLEVBQzdCOztBaEZxb2dCRCwwQ0FBMEM7QWdGbm9nQjFDO0VBQ0ksWUFBVztFQUNYLGdCQUFlLEVBQ2xCOztBaEZxb2dCRCwwQ0FBMEM7QWdGbm9nQjFDO0VBQ0ksZUFBYztFQUNkLG1CQUFrQjtFQUNsQiwwQkFBeUI7RUFDekIscUJBQW9CO0VBQ3BCLGdCQUFlO0VBQ2Ysa0JBQWlCO0VBQ2pCLDBCQUF5QjtFQUN6QixtQkFBa0I7RUFDbEIsWUFBVztFQUNYLFVBQVM7RUFDVCxZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNyQjs7QWhGcW9nQkQsMkNBQTJDO0FnRm5vZ0IzQztFQUNJLGVBQWM7RUFDZCxzQkFDSixFQUFDOztBaEZxb2dCRCwyQ0FBMkM7QWdGbm9nQjNDO0VBQ0ksWUFBVztFQUNYLFlBQVc7RUFDWCwwQkFBeUI7RUFDekIscUJBQW9CLEVBQ3ZCOztBaEZxb2dCRCwyQ0FBMkM7QWdGbm9nQjNDO0VBQ0ksZUFBYztFQUNkLFVBQVM7RUFDVCxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFDckI7O0FoRnFvZ0JELDJDQUEyQztBZ0Zub2dCM0M7RUFDSSxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQ3JCOztBaEZxb2dCRCwyQ0FBMkM7QWdGMW9nQjNDO0VBUUksc0JBQ0osRUFBQzs7QWhGcW9nQkQsMkNBQTJDO0FnRm5vZ0IzQztFQUNJLG9FQUFtRTtFQUNuRSxlQUFjO0VBQ2QsYUFBWSxFQUNmOztBaEZxb2dCRCwyQ0FBMkM7QWdGbm9nQjNDO0VBQ0ksZ0VBQStEO0VBQy9ELGVBQWMsRUFDakI7O0FoRnFvZ0JELDJDQUEyQztBZ0Zub2dCM0M7O0VBRUksMkJBQTBCO0VBQzFCLGVBQWMsRUFDakI7O0FoRnFvZ0JELDJDQUEyQztBZ0Zub2dCM0M7O0VBRUksZUFBYztFQUNkLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLG1CQUFrQixFQUNyQjs7QWhGcW9nQkQsMkNBQTJDO0FnRnZxZ0IzQztFQXFDSSxzQkFDSixFQUFDOztBaEZxb2dCRCwyQ0FBMkM7QWdGbm9nQjNDOztFQUVJLG9FQUFtRTtFQUNuRSxlQUFjO0VBQ2QsYUFBWSxFQUNmOztBaEZxb2dCRCwyQ0FBMkM7QWdGbm9nQjNDOztFQUVJLGdFQUErRDtFQUMvRCxlQUFjLEVBQ2pCOztBQUVEOztrREFFa0Q7QWhGb29nQmxELDJDQUEyQztBZ0Zsb2dCM0M7RUFFUSxtQkFBa0IsRUFJckI7RWhGK25nQkgsMkNBQTJDO0VnRnJvZ0I3QztJQUlZLG9CQUFtQixFQUN0Qjs7QWhGb29nQlQsMkNBQTJDO0FnRnpvZ0IzQztFQVFRLG1CQUFrQjtFL0M3S3hCLG9DaENpUDhCO0VnQ2hQOUIsZ0JoQzZQZTtFZ0M1UGYsZTdCMkJhO0U2QjFCYix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFK0MwS1YsaUJBQWdCO0VBQ2hCLGFBQVk7RUFDWixnQi9FeUVLO0VnQ2pQWCxrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGlCQUFnQixFK0N3S2I7O0FoRjJvZ0JMLDJDQUEyQztBZ0Z6cGdCM0M7RUFpQlEsZUFBYztFQUVkLGdCQUFlO0VBQ2YsVUFBUztFQUNULGlCQUFnQjtFQUNoQixrQkFBaUIsRUFJcEI7RWhGc29nQkgsMkNBQTJDO0VnRmhxZ0I3QztJQXdCWSxrQkFBaUIsRUFDcEI7O0FoRjJvZ0JULDJDQUEyQztBZ0Z2b2dCM0M7RUFNZ0Isd0JBQWU7TUFBZiw2QkFBZTtVQUFmLGdCQUFlO0VBQ2YsZ0NBQStCO0VBRS9CLGlCQUFnQjtFQUNoQiw2QkFBb0I7TUFBcEIseUJBQW9CO1VBQXBCLHFCQUFvQjtFQUNwQixpQkFBZ0IsRUF3Q25CO0VoRjJsZ0JYLDJDQUEyQztFZ0Y5b2dCN0M7SUFhb0IsZ0JBQWUsRUFDbEI7RWhGbW9nQmYsMkNBQTJDO0VnRmpwZ0I3QztJQWdCb0IsV0FBVSxFQUdiO0VoRmlvZ0JmLDJDQUEyQztFZ0ZwcGdCN0M7SUFxQm9CLGdCQUFlO0lBRWYsMEJBQXlCO0lBQ3pCLFdBQVU7SUFDVixXQUFVO0lBS1YsaUJBQWdCLEVBV25CO0loRmtuZ0JiLDJDQUEyQztJZ0YzcGdCL0M7TUFnQ3dCLG9CNUVyTVQ7TTRFc01TLGU1RWxNVCxFNEV5TU07TWhGdW5nQmYsMkNBQTJDO01nRi9wZ0JqRDtRQW1DNEIsZTVFcE1iLEU0RXFNVTtNaEY4bmdCbkIsMkNBQTJDO01nRmxxZ0JqRDtRQXNDNEIsZTVFdk1iLEU0RXdNVTtFaEY4bmdCdkIsMkNBQTJDO0VnRnJxZ0I3QztJQTJDb0Isa0JBQWlCO0kvQzdPbkMsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCO0krQzBPRSxvQkFBbUI7SUFDbkIsMEJBQXlCLEVBQzVCO0VoRmlvZ0JmLDJDQUEyQztFZ0ZocmdCN0M7SUFpRG9CLGdCQUFlLEVBQ2xCOztBN0U5TlQ7RUhpMmdCTiwyQ0FBMkM7RWdGNW5nQnpDO0lBR1ksd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlO0lBQ2YsdUNBQThCO1FBQTlCLHVCQUE4QjtZQUE5QiwrQkFBOEIsRUFVakM7SWhGa25nQlQsMkNBQTJDO0lnRnpyZ0IvQztNQStEb0Isd0JBQWU7VUFBZiw2QkFBZTtjQUFmLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLGdCQUFlLEVBQ2xCO0loRjRuZ0JiLDJDQUEyQztJZ0Zyb2dCM0M7TUFXZ0IsZ0JBQWU7TUFDZixpQkFBZ0IsRUFDbkIsRUFBQTs7QTdFbFBUO0VIZzNnQk4sMkNBQTJDO0VnRnBzZ0I3QztJQWtGd0IsZ0JBQWUsRUFDbEIsRUFBQTs7QTdFL1BiO0VIcTNnQk4sMkNBQTJDO0VnRjltZ0J6QztJQUVRLGlCQUFnQixFQXdCbkI7SWhGdWxnQkwsMkNBQTJDO0lnRjVzZ0IvQztNQWdHb0Isd0JBQWU7VUFBZiw2QkFBZTtjQUFmLGdCQUFlO01BQ2YsaUJBQWdCLEVBYW5CO01oRmttZ0JYLDJDQUEyQztNZ0ZybmdCN0M7UUFRb0IsZUFBYztRQUNkLGFBQVksRUFTZjtRaEZ1bWdCYiwyQ0FBMkM7UWdGem5nQi9DO1VBV3dCLGVBQWM7VUFDZCxXQUFVO1VBQ1YsNEJBQTJCLEVBSTlCO1VoRjZtZ0JmLDJDQUEyQztVZ0Y5bmdCakQ7WUFlNEIsV0FBVSxFQUNiO0loRmluZ0J6QiwyQ0FBMkM7SWdGbnFnQjNDO01BdURnQixjQUFhO01BQ2IsWUFBVztNQUNYLG9CQUFtQixFQUN0QixFQUFBOztBaEYrbWdCakIsb0NBQW9DO0FpRmg3Z0JwQztFQUVJLGNBQWEsRUFDZDs7QWpGaTdnQkgscUNBQXFDO0FpRnA3Z0JyQztFQU1JLGtCQUFpQjtFQUNqQixVQUFTO0VBQ1Qsb0JBQW1CLEVBQ3BCOztBakZpN2dCSCxxQ0FBcUM7QWlGMTdnQnJDO0VoREtFLG1DaEN1UGlDO0VnQ3RQakMsbUJBQWtCO0VBQ2xCLGU3QmtDYTtFNkJqQ2IsZ0JoQ3lQZ0I7RWdGclBkLDBCQUF3QjtFQUN4Qix3QkFBdUI7RUFDdkIsbUJBQWtCLEVBQ25COztBakZxN2dCSCxxQ0FBcUM7QWlGcDhnQnJDO0VoREtFLG1DaEN1UGlDO0VnQ3RQakMsbUJBQWtCO0VBQ2xCLGU3QmtDYTtFNkJqQ2IsZ0JoQ3lQZ0I7RWdGL09kLHdCQUF1QjtFQUN2QixtQkFBa0I7RUFDbEIsZ0JoRmtQUztFZ0ZqUFQsMEJBQXdCO0VBQ3hCLGlCQUFnQixFQUNqQjs7QWpGeTdnQkgscUNBQXFDO0FpRmg5Z0JyQztFQXlCSSxtQ2hGbU8rQjtFZ0ZsTy9CLDBCQUF5QjtFQUN6QixnQmhGdU9hO0VnRnRPYixlN0VhVztFNkVaWCxpQmhGaVBrQixFZ0ZoUG5COztBakYwN2dCSCxxQ0FBcUM7QWlGeDlnQnJDO0VoREtFLG1DaEN1UGlDO0VnQ3RQakMsbUJBQWtCO0VBQ2xCLGU3QmtDYTtFNkJqQ2IsZ0JoQ3lQZ0I7RWdGaE9kLDBCQUF3QjtFQUN4Qix3QkFBdUI7RUFDdkIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUFDakI7O0FqRjg3Z0JILHFDQUFxQztBaUZwK2dCckM7RWhEWUUsb0NoQ2lQOEI7RWdDaFA5QixnQmhDNlBlO0VnQzVQZixlN0IyQmE7RTZCMUJiLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsaUJBQWdCO0VnRHlCWixxQkFBb0IsRUFDckI7O0FqRm04Z0JMLHFDQUFxQztBaUY5K2dCckM7RUE4Q0ksaUJBQWdCLEVBT2pCO0VqRjQ3Z0JELHFDQUFxQztFaUZqL2dCdkM7SWhEWUUsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCO0lnRGdDWixtQkFBa0I7SUFDbEIsZTdFVFM7STZFVVQsZUFBYyxFQUNmOztBakZ5OGdCTCxxQ0FBcUM7QWlGNy9nQnJDO0VBdURJLGdCQUFlO0VBQ2YsaUJBQWdCLEVBd0JqQjtFakZpN2dCRCxxQ0FBcUM7RWlGamdoQnZDO0lBMERNLDJCQUFrQjtJQUFsQix3QkFBa0I7SUFBbEIsbUJBQWtCLEVBWW5CO0lqRjg3Z0JELHFDQUFxQztJaUZwZ2hCekM7TUE2RFEsb0NoRmdNd0IsRWdGL0x6QjtJakZ5OGdCSCxxQ0FBcUM7SWlGdmdoQnpDO01BZ0VRLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhLEVBS2Q7TWpGcThnQkQscUNBQXFDO01pRjFnaEIzQztRQWtFVSxnQkFBZTtRQUNmLG1CQUFrQixFQUNuQjtFakYwOGdCUCxxQ0FBcUM7RWlGOWdoQnZDO0lBd0VNLGlCQUFnQixFQU9qQjtJakZrOGdCRCxxQ0FBcUM7SWlGamhoQnpDO01BMEVRLGVBQWMsRUFJZjtNakZzOGdCRCxxQ0FBcUM7TWlGcGhoQjNDO1FBNEVVLG1CQUFrQixFQUNuQjs7QWpGMjhnQlQscUNBQXFDO0FpRnhoaEJyQztFQWtGSSxtQkFBa0I7RUFDbEIsb0NoRjBLNEIsRWdGeks3Qjs7QWpGeThnQkgscUNBQXFDO0FpRjdoaEJyQztFQXNGSSxnQkFBZTtFQUNmLGtCQUFpQixFQUNsQjs7QWpGMDhnQkgscUNBQXFDO0FpRmxpaEJyQztFQTBGSSxvQkFBbUIsRUFtQ3BCO0VqRnc2Z0JELHFDQUFxQztFaUZyaWhCdkM7SUE0Rk0sb0NoRmlLMEI7SWdGaEsxQixnQmhGNktXLEVnRjVLWjtFakYyOGdCSCxzQ0FBc0M7RWlGemloQnhDO0lBZ0dNLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUIsRUEyQnBCO0lqRmk3Z0JELHNDQUFzQztJaUY3aWhCMUM7TUFtR1EsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixZQUFXO01BRVgsZ0JBQWU7TUFDZixvQkFBbUI7TUFDbkIsOEJBQXFCO1VBQXJCLG9CQUFxQjtjQUFyQixzQkFBcUI7TUFDckIsd0JBQWU7VUFBZixvQkFBZTtjQUFmLGdCQUFlO01BQ2YsMEI3RTlETyxFNkUrRFI7SWpGMjhnQkgsc0NBQXNDO0lpRnZqaEIxQztNQThHUSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CO01BQ25CLGdDQUF1QjtVQUF2QixzQkFBdUI7Y0FBdkIsd0JBQXVCO01BQ3ZCLDRCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsb0JBQW1CO01BQ25CLHFCQUFZO1VBQVoscUJBQVk7Y0FBWixhQUFZO01BQ1osYUFBWTtNQUNaLGdCQUFlLEVBSWhCO01qRnc4Z0JELHNDQUFzQztNaUZoa2hCNUM7UUFzSFUsaUJBQWdCLEVBQ2pCO0lqRjQ4Z0JMLHNDQUFzQztJaUZua2hCMUM7TUEwSFEsMEJBQXlCLEVBQzFCOztBakY0OGdCUCxzQ0FBc0M7QWlGdmtoQnRDO0VBK0hJLGlCQUFnQjtFaERuSGxCLG9DaENpUDhCO0VnQ2hQOUIsZ0JoQzZQZTtFZ0M1UGYsZTdCMkJhO0U2QjFCYix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUloQixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGlCQUFnQjtFZ0QyR2QsYUFBVyxFQThCWjtFakZvN2dCRCxzQ0FBc0M7RWlGcGxoQnhDO0lBb0lNLG9DaEZ5SDBCLEVnRnhIM0I7RWpGazlnQkgsc0NBQXNDO0VpRnZsaEJ4QztJQXVJTSxtQ2hGcUg2QjtJZ0ZwSDdCLGdCaEY4SE87SWdGN0hQLDBCQUF5QjtJQUN6QixlN0VqR1M7STZFa0dULGdCQUFlO0lBQ2YsaUJBQWdCLEVBQ2pCO0VqRms5Z0JILHNDQUFzQztFaUYvbGhCeEM7SUErSU0sb0JBQW1CO0lBQ25CLFdBQVUsRUFDWDtFakZrOWdCSCxzQ0FBc0M7RWlGbm1oQnhDO0lBbUpNLG1CQUFrQixFQVluQjtJakZ1OGdCRCxzQ0FBc0M7SWlGdG1oQjFDO01BcUpRLGlCQUFnQjtNQUNoQixhQUFZO01BQ1osb0JBQW1CLEVBQ3BCO0lqRm05Z0JILHNDQUFzQztJaUYzbWhCMUM7TUEwSlEsZ0JoRjRHSztNZ0YzR0wsa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixvQkFBbUIsRUFDcEI7O0FqRm85Z0JQLHNDQUFzQztBaUZsbmhCdEM7RUFtS00sWUFBVyxFQUtaO0VqRjY4Z0JILHNDQUFzQztFaUZybmhCeEM7SUFxS1EsWUFBVztJQUNYLGtCQUFpQixFQUNsQjs7QWpGbTlnQlAsc0NBQXNDO0FpRjFuaEJ0QztFQTRLTSxvQ2hGaUYwQjtFZ0ZoRjFCLGdCaEZ5Rk87RWdGeEZQLGlCaEZnR2dCO0VnRi9GaEIsb0JBQW1CO0VBQ25CLGtCQUFpQixFQUNsQjs7QWpGaTlnQkwsc0NBQXNDO0FpRmxvaEJ0QztFQW1MTSxpQmhGMkZnQixFZ0YxRmpCOztBakZrOWdCTCxzQ0FBc0M7QWlGdG9oQnRDO0VBc0xNLG1DaEZzRTZCO0VnRnJFN0IsZ0JBQWU7RUFDZiwwQkFBeUI7RUFDekIsc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQixlN0VsSlMsRTZFbUpWOztBOUUxSkc7RUg4bWhCTixzQ0FBc0M7RWlGaHBoQnhDO0lBb01RLFlBQVcsRUFDWjtFakY4OGdCTCxzQ0FBc0M7RWlGbDlnQnRDO0lBTU0sbUJBQWtCLEVBTW5CO0lqRnk4Z0JILHNDQUFzQztJaUZyOWdCeEM7TUFTUSxZQUFXO01BQ1gsYUFBWSxFQUNiO0VqRjg4Z0JQLHNDQUFzQztFaUZ6OWdCdEM7SUFjTSxnQmhGMkRTLEVnRjFEVixFQUFBOztBakY4OGdCUCxzQ0FBc0M7QWlGcjhnQnRDO0VoRHBORSxtQ2hDdVBpQztFZ0N0UGpDLG1CQUFrQjtFQUNsQixlN0JrQ2E7RTZCakNiLGdCaEN5UGdCO0VnRnJDZCwwQkFBd0I7RUFDeEIsMEJBQXlCO0VBQ3pCLG1CQUFrQixFQUNuQjs7QWpGeThnQkgsc0NBQXNDO0FpRi84Z0J0QztFaEQ3TUUsb0NoQ2lQOEI7RWdDaFA5QixnQmhDNlBlO0VnQzVQZixlN0IyQmE7RTZCMUJiLHVCQUFzQjtFQUN0QixrQkFBaUI7RUFDakIsaUJBQWdCO0VnRGlOZCxpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLG9CQUFtQixFQUNwQjs7QWpGKzhnQkgsc0NBQXNDO0FpRjM5Z0J0QztFQWNJLG9DQUFtQztFQUNuQyxrQkFBaUI7RUFDakIsb0JBQW1CLEVBVXBCO0VqRnM4Z0JELHNDQUFzQztFaUZoK2dCeEM7SUFtQk0sZ0JBQWU7SUFDZixvQkFBbUIsRUFDcEI7RWpGKzhnQkgsc0NBQXNDO0VpRnArZ0J4QztJQXVCTSxvQ0FBbUM7SUFDbkMsVUFBUyxFQUNWOztBakZnOWdCTCxzQ0FBc0M7QWlGeitnQnRDO0VBNEJJLGNBQWEsRUFDZDs7QWpGZzlnQkgsc0NBQXNDO0FpRjk4Z0J0QztFQUVJLG1CQUFrQjtFQUNsQixZQUFXLEVBV1o7RWpGbzhnQkQsc0NBQXNDO0VpRmw5Z0J4QztJQU1NLGlCQUFnQjtJQUNoQixhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLGlCQUFnQixFQUlqQjtJakYyOGdCRCxzQ0FBc0M7SWlGeDlnQjFDO01BV1Esb0JBQW1CLEVBQ3BCOztBakZnOWdCUCxzQ0FBc0M7QWlGNTlnQnRDO0VBZ0JJLGtCQUFpQixFQXNEbEI7RWpGeTVnQkQsc0NBQXNDO0VpRi85Z0J4QztJQWtCTSxhQUFZO0lBQ1oscUJBQW9CLEVBQ3JCO0VqRis4Z0JILHNDQUFzQztFaUZuK2dCeEM7SUFzQk0sbUJBQWtCO0lBQ2xCLG9DQUFtQztJQUNuQyxlQUFjO0lBQ2QsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixvQkFBbUI7SUFDbkIsaUJBQWdCLEVBZ0JqQjtJakZnOGdCRCxzQ0FBc0M7SWlGOStnQjFDO01BaUNRLGlCQUFnQjtNQUNoQixhQUFZLEVBVWI7TWpGczhnQkQsc0NBQXNDO01pRmwvZ0I1QztRQXFDVSxtQkFBa0I7UUFDbEIsU0FBUSxFQUNUO01qRis4Z0JILHNDQUFzQztNaUZ0L2dCNUM7UUF5Q1UsbUJBQWtCO1FBQ2xCLFVBQVMsRUFDVjtFakYrOGdCUCxzQ0FBc0M7RWlGMS9nQnhDO0lBaURRLFdBQVU7SUFDVixXQUFVO0lBQ1YsWUFBVyxFQUtaO0lqRnU4Z0JILHNDQUFzQztJaUYvL2dCMUM7TUFzRFUsbUJBQWtCLEVBQ25CO0VqRjI4Z0JQLHNDQUFzQztFaUZsZ2hCeEM7SUEwRFEsV0FBVTtJQUNWLGlCQUFnQixFQVNqQjtJakZrOGdCSCxzQ0FBc0M7SWlGdGdoQjFDO01BNkRVLG1CQUFrQjtNQUNsQixXQUFVLEVBQ1g7SWpGMjhnQkwsc0NBQXNDO0lpRjFnaEIxQztNQWlFVSxrQkFBaUI7TUFDakIsV0FBVSxFQUNYOztBakY0OGdCVCxzQ0FBc0M7QWlGL2doQnRDO0VBd0VJLG1CQUFrQjtFQUNsQixtQkFBa0IsRUFrQm5CO0VqRnc3Z0JELHNDQUFzQztFaUZuaGhCeEM7SUEyRU0sZ0JBQWU7SUFDZixjQUFhLEVBQ2Q7RWpGMDhnQkgsc0NBQXNDO0VpRnZoaEJ4QztJQStFTSxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixhQUFZO0lBQ1osaUJBQWdCLEVBUWpCO0lqRm04Z0JELHNDQUFzQztJaUY3aGhCMUM7TUFvRlEsZUFBYztNQUNkLG9CQUFtQixFQUNwQjtJakYyOGdCSCxzQ0FBc0M7SWlGamloQjFDO01Bd0ZRLGlCQUFnQixFQUNqQjs7QWpGNDhnQlAsc0NBQXNDO0FpRnJpaEJ0QztFQTZGSSxvQmhGdFFxQixFZ0ZtUnRCO0VqRjg3Z0JELHNDQUFzQztFaUZ4aWhCeEM7SUErRk0saUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsaUJBQWdCLEVBT2pCO0lqRnE4Z0JELHNDQUFzQztJaUY5aWhCMUM7TUFvR1EsaUJBQWdCO01BQ2hCLG9CQUFtQjtNQUNuQixrQkFBaUI7TUFDakIsZUFBYyxFQUNmOztBakY2OGdCUCxzQ0FBc0M7QWlGcGxoQnRDO0VBNElJLFlBQVcsRUFDWjs7QWpGMjhnQkgsc0NBQXNDO0FpRnpqaEJ0QztFQWlISSxZQUFXLEVBQ1o7O0E5RXhVSztFSG94aEJOLHNDQUFzQztFaUY5amhCeEM7SUF5SE0sbUJBQWtCLEVBMkRuQjtJakY2NGdCRCxzQ0FBc0M7SWlGMThnQnhDO01BS00sWUFBVztNQUNYLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2Isd0JBQWU7VUFBZixvQkFBZTtjQUFmLGdCQUFlO01BQ2YsNEJBQW1CO1VBQW5CLHdCQUFtQjtjQUFuQixvQkFBbUIsRUFvRHBCO01qRm81Z0JELHNDQUFzQztNaUZoOWdCMUM7UUFXUSxzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLHNCQUFhO1lBQWIsa0JBQWE7Z0JBQWIsY0FBYTtRQUNiLDRCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG9CQUFtQjtRQUNuQixXQUFVO1FBQ1YsYUFBWTtRQUNaLFlBQVc7UUFDWCxhQUFZLEVBS2I7UWpGbThnQkQsc0NBQXNDO1FpRno5Z0I1QztVQW9CVSxhQUFZLEVBQ2I7TWpGdThnQkwsc0NBQXNDO01pRjU5Z0IxQztRQTBCVSxzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLHNCQUFhO1lBQWIsa0JBQWE7Z0JBQWIsY0FBYTtRQUNiLGlCQUFnQjtRQUNoQixZQUFXO1FBQ1gsYUFBWTtRQUNaLGVBQWM7UUFDZCw4QkFBcUI7WUFBckIsMkJBQXFCO2dCQUFyQixzQkFBcUI7UUFDckIsNEJBQW1CO1lBQW5CLHVCQUFtQjtnQkFBbkIsb0JBQW1CO1FBQ25CLGdDQUF1QjtZQUF2QixzQkFBdUI7Z0JBQXZCLHdCQUF1QjtRQUN2Qiw4QkFBcUI7WUFBckIsc0JBQXFCLEVBdUJ0QjtRakY4NmdCSCxzQ0FBc0M7UWlGeCtnQjVDO1VBc0NZLHNCQUFhO1VBQWIscUJBQWE7VUFBYixjQUFhO1VBQ2IsK0JBQXNCO2NBQXRCLDJCQUFzQjtrQkFBdEIsdUJBQXNCO1VBQ3RCLGlCQUFnQjtVQUNoQixhQUFZO1VBQ1osMkJBQWtCO2NBQWxCLDRCQUFrQjtrQkFBbEIsbUJBQWtCO1VBQ2xCLHFCQUFvQjtVQUNwQixpQkFBZ0IsRUFhakI7VWpGdzdnQkgsc0NBQXNDO1VpRmovZ0I5QztZQStDYyxtQkFBa0I7WUFDbEIsV0FBVTtZQUNWLGtCQUFpQixFQUNsQjtVakZvOGdCTCxzQ0FBc0M7VWlGdC9nQjlDO1lBcURjLG1CQUFrQjtZQUNsQixtQkFBa0I7WUFDbEIsV0FBVSxFQUNYO0VqRm04Z0JiLHNDQUFzQztFaUZsbmhCeEM7SUF1TE0scUJBQW9CLEVBS3JCO0lqRnk3Z0JELHNDQUFzQztJaUZybmhCMUM7TUEwTFEsaUJBQWdCLEVBQ2pCO0VqRjY3Z0JMLHNDQUFzQztFaUZ4bmhCeEM7SUErTE0scUJBQW9CLEVBQ3JCO0VqRjI3Z0JILHNDQUFzQztFaUZwZ2hCdEM7SUE2RU0saUJBQWdCLEVBQ2pCLEVBQUE7O0E5RTNaQztFSHMxaEJOLHNDQUFzQztFaUYvcGhCeEM7SUE0T00sb0JBQW1CLEVBQ3BCO0VqRnE3Z0JILHNDQUFzQztFaUZscWhCeEM7SUErT00sZUFBYyxFQUNmO0VqRnE3Z0JILHNDQUFzQztFaUZ0b2hCeEM7SUFtTk0sY0FBYSxFQUNkO0VqRnE3Z0JILHNDQUFzQztFaUZ6b2hCeEM7SUF1Tk0sb0JBQW1CLEVBc0NwQjtJakYrNGdCRCxzQ0FBc0M7SWlGajhnQnhDO01BZU0sWUFBVyxFQU1aO01qRis2Z0JELHNDQUFzQztNaUYvb2hCNUM7UUE0TlUsYUFBWTtRQUNaLFdBQVU7UUFDVixhQUFZLEVBQ2I7SWpGcTdnQkwsc0NBQXNDO0lpRnBwaEIxQztNQWtPUSxZQUFXO01BQ1gsbUJBQWtCLEVBYW5CO01qRnc2Z0JELHNDQUFzQztNaUZ4cGhCNUM7UUFxT1UsYUFBWSxFQVViO1FqRjQ2Z0JELHNDQUFzQztRaUYzcGhCOUM7VUF3T1ksZ0JBQWU7VUFDZixpQkFBZ0I7VUFDaEIsb0JBQW1CLEVBQ3BCO1FqRnE3Z0JILHNDQUFzQztRaUZocWhCOUM7VUE2T1ksZ0JBQWUsRUFDaEI7SWpGcTdnQlAsc0NBQXNDO0lpRm5xaEIxQztNQW1QVSxZQUFXLEVBQ1o7SWpGazdnQkwsc0NBQXNDO0lpRnRxaEIxQztNQXNQVSxZQUFXO01BQ1gsV0FBVSxFQUlYO01qRis2Z0JILHNDQUFzQztNaUYxcWhCNUM7UUF5UFksY0FBYSxFQUNkO0VqRm03Z0JULHNDQUFzQztFaUY3cWhCeEM7SUErUE0sbUJBQWtCO0lBQ2xCLFlBQVcsRUFDWixFQUFBOztBOUV2ZEc7RUh5NGhCTixzQ0FBc0M7RWlGNzZnQnRDO0lBRUksaUJBQWdCLEVBQ2pCLEVBQUE7O0FqRjg2Z0JMLHNDQUFzQztBaUZ2NmdCdEM7RUFFSSxtQkFBa0IsRUFDbkI7O0FqRnc2Z0JILHNDQUFzQztBaUYzNmdCdEM7RUFLSSxnQkFBZSxFQUNoQjs7QWpGeTZnQkgsc0NBQXNDO0FpRi82Z0J0QztFQVFJLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2Qsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix3QkFBZTtNQUFmLG9CQUFlO1VBQWYsZ0JBQWU7RUFDZix1Q0FBOEI7TUFBOUIsdUJBQThCO1VBQTlCLCtCQUE4QixFQTBCL0I7RWpGZzVnQkQsc0NBQXNDO0VpRnY3Z0J4QztJQWVNLHdCQUFlO1FBQWYsNkJBQWU7WUFBZixnQkFBZTtJQUNmLGlCQUFnQixFQXNCakI7SWpGcTVnQkQsc0NBQXNDO0lpRjM3Z0IxQztNQWtCUSxvQ2hGN1J3QjtNZ0Y4UnhCLGdCaEZsUlE7TWdGbVJSLGlCQUFnQjtNQUNoQiwwQkFBeUIsRUFDMUI7SWpGMjZnQkgsc0NBQXNDO0lpRmo4Z0IxQztNQXdCUSxtQ2hGcFMyQjtNZ0ZxUzNCLGdCaEYzUks7TWdGNFJMLGVBQWM7TUFDZCwwQkFBeUIsRUFDMUI7SWpGMjZnQkgsc0NBQXNDO0lpRnY4Z0IxQztNQThCUSxjQUFhO01BQ2Isb0NoRjFTd0I7TWdGMlN4QixnQmhGL1JRLEVnRmdTVDtJakYyNmdCSCxzQ0FBc0M7SWlGNThnQjFDO01BbUNRLHNCQUFxQjtNQUNyQixnQkFBZSxFQUNoQjs7QWpGNDZnQlAsc0NBQXNDO0FpRmo5Z0J0QztFQXlDSSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLG1CaEZ0ZmU7RWdGdWZmLGlCQUFnQixFQXNDakI7RWpGcTRnQkQsc0NBQXNDO0VpRnY5Z0J4QztJQThDTSxtQkFBa0I7SUFDbEIsMEI3RTlnQlM7STZFK2dCVCxlN0UzZ0JTO0k2RTRnQlQsaUM3RTVnQlMsRTZFNGlCVjtJakY0NGdCRCxzQ0FBc0M7SWlGNzlnQjFDO01BbURRLFlBQVc7TUFDWCxlQUFjO01BQ2Qsa0JBQWlCLEVBQ2xCO0lqRjQ2Z0JILHNDQUFzQztJaUZsK2dCMUM7TUF3RFEsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixRQUFPO01BQ1AsdUNBQThCO1VBQTlCLG1DQUE4QjtjQUE5QiwrQkFBOEI7TUFFOUIsWUFBVztNQUNYLG1CQUFrQixFQWtCbkI7TWpGMDVnQkQsc0NBQXNDO01pRjErZ0I1QztRQWdFVSxpQmhGdFVPO1FnRnVVUCxvQkFBbUIsRUFDcEI7TWpGNDZnQkgsc0NBQXNDO01pRjkrZ0I1QztRaEQ1ZkUsb0NoQ2lQOEI7UWdDaFA5QixnQmhDNlBlO1FnQzVQZixlN0IyQmE7UTZCMUJiLHVCQUFzQjtRQUN0QixrQkFBaUI7UUFDakIsaUJBQWdCO1FnRDRqQlIsZTdFaGlCSztRNkVpaUJMLG9CQUFtQixFQUNwQjtNakZpN2dCSCxzQ0FBc0M7TWlGeC9nQjVDO1FBeUVVLG9CQUFtQjtRQUNuQixpQkFBZ0IsRUFDakI7TWpGaTdnQkgsc0NBQXNDO01pRjUvZ0I1QztRQTZFVSxlN0V4aUJLO1E2RXlpQkwsc0I3RXppQkssRTZFMGlCTjs7QWpGazdnQlQsc0NBQXNDO0FpRjc2Z0J0QztFQUNFLGlCQUFnQjtFQUNoQixlQUFjLEVBaUJmO0VqRjg1Z0JDLHNDQUFzQztFaUZqN2dCeEM7SUFJSSxvQ2hGblc0QjtJZ0ZvVzVCLGdCaEZ4Vlk7SWdGeVZaLGlCQUFnQjtJQUNoQiwwQkFBeUIsRUFDMUI7RWpGKzZnQkQsc0NBQXNDO0VpRnY3Z0J4QztJQVVJLG1DaEYxVytCO0lnRjJXL0IsZ0JoRmpXUztJZ0ZrV1QsZUFBYztJQUNkLDBCQUF5QixFQUMxQjtFakYrNmdCRCxzQ0FBc0M7RWlGNzdnQnhDO0lBZ0JJLG9DaEYvVzRCO0lnRmdYNUIsZ0JoRnZXUyxFZ0Z3V1Y7O0FqRmc3Z0JILHNDQUFzQztBaUY3NmdCdEM7RUFDRSxjQUFhLEVBTWQ7RWpGeTZnQkMsc0NBQXNDO0VpRmg3Z0J4QztJaERybUJFLG9DaENpUDhCO0lnQ2hQOUIsZ0JoQzZQZTtJZ0M1UGYsZTdCMkJhO0k2QjFCYix1QkFBc0I7SUFDdEIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJZ0RvbUJkLDJCQUEwQjtJQUMxQixpQkFBZ0IsRUFDakI7O0FqRnE3Z0JILHNDQUFzQztBaUZsN2dCdEM7RUFHSSxnQkFBZSxFQUNoQjs7QWpGazdnQkgsc0NBQXNDO0FpRnQ3Z0J0QztFQU1JLGFBQVk7RUFDWixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBaUJwQjtFakZrNmdCRCxzQ0FBc0M7RWlGMzdnQnhDO0lBV1EsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixZQUFXLEVBQ1o7RWpGazdnQkwsc0NBQXNDO0VpRmg4Z0J4QztJQWlCTSw0QkFBbUI7SUFBbkIseUJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQixtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFdBQVUsRUFJWDtJakY4NmdCRCxzQ0FBc0M7SWlGdDhnQjFDO01Bc0JRLFVBQVMsRUFDVjs7QWpGbTdnQlAsc0NBQXNDO0FpRjE4Z0J0QztFQTRCTSxpQkFBZ0IsRUFRakI7RWpGeTZnQkgsc0NBQXNDO0VpRjc4Z0J4QztJQThCUSxvQkFBbUIsRUFDcEI7RWpGaTdnQkwsc0NBQXNDO0VpRmg5Z0J4QztJQWlDUSxpQkFBZ0I7SWhEL29CdEIsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCLEVnRDRvQlg7O0E5RTNuQkM7RUhtamlCTixzQ0FBc0M7RWlGbDdnQnRDO0loRHZxQkEsYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsV0FBVTtJQUNWLG1CQUFrQjtJQUNsQixvQkFBbUI7SWdEcXFCZixnQ0FBK0I7SUFDL0IsbUJBQWtCLEVBQ25CO0VqRnU3Z0JILHNDQUFzQztFaUY5K2dCeEM7SUEwREksbUJoRi9tQmEsRWdGZ25CZCxFQUFBOztBOUUxb0JLO0VIa2tpQk4sc0NBQXNDO0VpRjVsaEJ4QztJQXlLTSx5QkFBZ0I7UUFBaEIsOEJBQWdCO1lBQWhCLGlCQUFnQixFQUNqQixFQUFBOztBOUVocEJHO0VIdWtpQk4sc0NBQXNDO0VpRm43Z0J0QztJQUdNLGdCaEY3bkJTLEVnRjhuQlY7RWpGazdnQkwsc0NBQXNDO0VpRi82Z0J0QztJQUVJLFlBQVc7SUFDWCxhQUFZO0lBQ1osd0JBQXVCO0lBQ3ZCLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsV0FBVSxFQWtCWDtJakY4NWdCRCxzQ0FBc0M7SWlGdjdnQnhDO01BU00sU0FBUSxFQUtUO01qRjQ2Z0JELHNDQUFzQztNaUYxN2dCMUM7UUFXUSxrQ0FBeUI7WUFBekIsOEJBQXlCO2dCQUF6QiwwQkFBeUI7UUFDekIsa0JBQWlCLEVBQ2xCO0lqRmk3Z0JMLHNDQUFzQztJaUY5N2dCeEM7TUFnQk0sV0FBVTtNQUNWLFlBQVc7TUFDWCx3QkFBdUI7TUFDdkIsYUFBWTtNQUNaLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFDbEIsa0NBQXlCO1VBQXpCLDhCQUF5QjtjQUF6QiwwQkFBeUI7TUFDekIsZ0JBQWUsRUFDaEIsRUFBQTs7QWpGaTdnQlAsc0NBQXNDO0FpRjE2Z0J0QztFQUVJLGNBQWEsRUFDZDs7QWpGMjZnQkgsc0NBQXNDO0FpRjk2Z0J0QztFaERodUJFLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsVUFBUztFQUNULFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsb0JBQW1CO0VnRGl1QmpCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUIsRUFrRHBCO0VqRiszZ0JELHNDQUFzQztFaUZ4N2dCeEM7SUFTTSx3QkFBZTtRQUFmLDZCQUFlO1lBQWYsZ0JBQWUsRUFNaEI7SWpGNDZnQkQsc0NBQXNDO0lpRjM3Z0IxQztNQVdRLFlBQVc7TUFDWCxpQkFBZ0I7TUFDaEIsWUFBVyxFQUNaO0VqRms3Z0JMLHNDQUFzQztFaUZoOGdCeEM7SUFpQk0sd0JBQWU7UUFBZiw2QkFBZTtZQUFmLGdCQUFlLEVBdUNoQjtJakYyNGdCRCxzQ0FBc0M7SWlGbjhnQjFDO01BbUJRLFdBQVU7TUFDVixlQUFjO01BQ2QsbUJBQWtCLEVBa0NuQjtNakZpNWdCRCxzQ0FBc0M7TWlGeDhnQjVDO1FBdUJVLG1DaEZ2ZnlCO1FnRndmekIsZ0JoRjllRztRZ0YrZUgsZUFBYztRQUNkLDBCQUF5QixFQUMxQjtNakZtN2dCSCxzQ0FBc0M7TWlGOThnQjVDO1FBNkJVLG9DaEY1ZnNCO1FnRjZmdEIsZ0JoRmpmTTtRZ0ZrZk4sa0JBQWlCO1FBQ2pCLG9CQUFtQjtRaER2dUIzQixrQkFBaUI7UUFDakIsb0JBQW1CO1FBQ25CLGlCQUFnQixFZ0R1dUJUO01qRnE3Z0JILHNDQUFzQztNaUZ2OWdCNUM7UUFvQ1UsaUJBQWdCO1FBQ2hCLGlCQUFnQjtRQUNoQixlQUFjLEVBZ0JmO1FqRnM2Z0JELHNDQUFzQztRaUY1OWdCOUM7VUF3Q1ksZUFBYztVQUNkLG1CQUFrQixFQUNuQjtRakZzN2dCSCxzQ0FBc0M7UWlGaCtnQjlDO1VBNENZLG1CQUFrQixFQUNuQjtRakZzN2dCSCxzQ0FBc0M7UWlGbitnQjlDO1VBK0NZLGlCQUFnQixFQUNqQjtRakZzN2dCSCxzQ0FBc0M7UWlGdCtnQjlDO1VBa0RZLGlCQUFnQjtVQUNoQixlQUFjO1VBQ2QsaUJBQWdCLEVBQ2pCOztBOUUvdUJIO0VIdXFpQk4sc0NBQXNDO0VpRjcrZ0J4QztJQStEUSx5QkFBZ0I7UUFBaEIsOEJBQWdCO1lBQWhCLGlCQUFnQixFQUlqQjtJakY2NmdCSCxzQ0FBc0M7SWlGaC9nQjFDO01BaUVVLGlCQUFnQixFQUNqQjtFakZpN2dCUCxzQ0FBc0M7RWlGbi9nQnhDO0lBcUVRLHlCQUFnQjtRQUFoQiw4QkFBZ0I7WUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7O0E5RWh3QkM7RUhrcmlCTixzQ0FBc0M7RWlGeC9nQnhDO0lBNkVNLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQWlCaEI7SWpGNjVnQkQsc0NBQXNDO0lpRjMvZ0IxQztNQStFUSxnQkFBZTtNQUNmLFlBQVcsRUFhWjtNakZrNmdCRCxzQ0FBc0M7TWlGLy9nQjVDO1FBa0ZVLFlBQVcsRUFVWjtRakZzNmdCRCxzQ0FBc0M7UWlGbGdoQjlDO1VBb0ZZLGlCQUFnQjtVQUNoQixnQmhGL2lCSyxFZ0ZnakJOO1FqRmc3Z0JILHNDQUFzQztRaUYzN2dCNUM7VUFjWSxZQUFXLEVBQ1osRUFBQTs7QWpGZzdnQmIsc0NBQXNDO0FpRnI2Z0J0QztFaERyekJFLG9DaENpUDhCO0VnQ2hQOUIsZ0JoQzZQZTtFZ0M1UGYsZTdCMkJhO0U2QjFCYix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFZ0RxekJWLDBCQUF5QixFQVcxQjtFakY4NWdCTCxzQ0FBc0M7RWlGOTZnQnhDO0lBT1Usb0JBQW1CO0lBQ25CLG1DQUFrQztJQUNsQyxnQkFBZTtJQUNmLHNCQUFxQjtJQUNyQiwwQkFBeUI7SUFDekIsa0JBQWlCO0lBQ2pCLGlCQUFnQjtJQUNoQixXQUFVLEVBQ1g7O0FqRjA2Z0JULHNDQUFzQztBaUZ6N2dCdEM7RUFvQkksK0I3RTV5Qlc7RTZFNnlCWCxtQkFBa0IsRUFpRW5CO0VqRnUyZ0JELHNDQUFzQztFaUY3N2dCeEM7SUF1Qk0sY0FBYTtJaEQ1MEJqQixvQ2hDaVA4QjtJZ0NoUDlCLGdCaEM2UGU7SWdDNVBmLGU3QjJCYTtJNkIxQmIsdUJBQXNCO0lBQ3RCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SWdEeTBCWixnQmhGcGxCTztJZ0NqUFgsa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixpQkFBZ0IsRWdEKzNCYjtJakZxM2dCRCxzQ0FBc0M7SWlGMThnQjFDO01BNkJRLGVBQWMsRUFDZjtJakYrNmdCSCxzQ0FBc0M7SWlGNzhnQjFDO01BaUNRLG1DaEZ0bUIyQjtNZ0Z1bUIzQixnQmhGN2xCSztNZ0Y4bEJMLDBCQUF5QjtNQUN6QixlN0U1ekJPO002RTh6QlAscUJBQW9CO01BQ3BCLGtCQUFpQjtNQUNqQixpQkFBZ0IsRUFDakI7SWpGNjZnQkgsc0NBQXNDO0lpRnQ5Z0IxQztNQTRDUSxvQkFBbUIsRUFDcEI7SWpGNDZnQkgsc0NBQXNDO0lpRno5Z0IxQztNQWdEUSxvQ0FBbUM7TUFDbkMsZUFBYztNQUNkLGlCQUFnQjtNQUNoQixnQkFBZTtNQUNmLGtCQUFpQjtNQUNqQixvQkFBbUI7TUFDbkIsaUJBQWdCLEVBS2pCO01qRnU2Z0JELHNDQUFzQztNaUZsK2dCNUM7UUF3RFUsbUJBQWtCO1FBQ2xCLHdCQUF1QixFQUN4QjtJakY0NmdCTCxzQ0FBc0M7SWlGdCtnQjFDO01BOERRLGlCQUFnQjtNQUNoQixvQkFBbUIsRUFFcEI7SWpGeTZnQkgsc0NBQXNDO0lpRjErZ0IxQztNQW9FUSwwQkFBeUIsRUFDMUI7SWpGdzZnQkgsc0NBQXNDO0lpRjcrZ0IxQztNQXdFUSxvQkFBbUI7TUFDbkIsbUNBQWtDO01BQ2xDLGdCQUFlO01BQ2Ysc0JBQXFCO01BQ3JCLDBCQUF5QjtNQUN6QixrQkFBaUI7TUFDakIsaUJBQWdCO01BQ2hCLFdBQVUsRUFDWDtJakZ1NmdCSCxzQ0FBc0M7SWlGdi9nQjFDO01BbUZRLGNBQWEsRUFDZDs7QTlFbjNCQztFSDJ4aUJOLHNDQUFzQztFaUZsNmdCdEM7SUFFSSxjQUFhLEVBQ2Q7RWpGazZnQkgsc0NBQXNDO0VpRnI2Z0J0QztJQUtJLGFBQVk7SUFDWixZQUFXLEVBQ1o7RWpGazZnQkgsc0NBQXNDO0VpRm5naEJ4QztJQW1HTSxnQkFBZTtJQUNmLGFBQVksRUFtQ2I7SWpGZzRnQkQsc0NBQXNDO0lpRnZnaEIxQztNQXNHUSxlQUFjO01BQ2Qsb0JBQW1CO01BQ25CLGlCQUFnQixFQUNqQjtJakZtNmdCSCxzQ0FBc0M7SWlGNWdoQjFDO01BNEdVLGVBQWM7TUFDZCxpQzdFcjRCSztNNkVzNEJMLHFCQUFvQjtNQUNwQixvQkFBbUI7TUFDbkIsbUNBQWtDO01BQ2xDLGdCQUFlO01BQ2Ysc0JBQXFCO01BQ3JCLDBCQUF5QjtNQUN6QixrQkFBaUI7TUFDakIsbUJBQWtCLEVBQ25CO0lqRms2Z0JMLHNDQUFzQztJaUZ4aGhCMUM7TUF5SFUsbUJBQWtCLEVBQ25CO0lqRmk2Z0JMLHNDQUFzQztJaUYzaGhCMUM7TUE2SFUsbUJBQWtCO01BQ2xCLGdCaEZyckJPLEVnRnNyQlI7SWpGZzZnQkwsc0NBQXNDO0lpRi9oaEIxQztNQWlJVSxnQmhGeHJCTyxFZ0Y0ckJSO01qRjY1Z0JILHNDQUFzQztNaUZsaWhCNUM7UUFtSVksZ0JBQWUsRUFDaEI7RWpGaTZnQlQsc0NBQXNDO0VpRnJpaEJ4QztJQTJJSSxtQkFBa0IsRUFDbkIsRUFBQTs7QWpGNjVnQkgsc0NBQXNDO0FpRjE1Z0J0QztFaERwOEJFLG9DaENpUDhCO0VnQ2hQOUIsZ0JoQzZQZTtFZ0M1UGYsZTdCMkJhO0U2QjFCYix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFZ0R5OUJoQixnQmhGcHVCVztFZ0NqUFgsa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixpQkFBZ0IsRWdEcTlCakI7RWpGMDRnQkMsc0NBQXNDO0VpRnQ2Z0J4QztJQUVJLGVBQWM7SUFDZCxtQkFBa0I7SWhEdjhCcEIsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCO0lnRG84QmQsZ0JoRi9zQlM7SWdGZ3RCVCxlQUFjO0lBQ2QsaUM3RTk2Qlc7STZFKzZCWCwwQkFBeUI7SUFDekIscUJBQW9CO0lBQ3BCLG9CQUFtQixFQUNwQjtFakYyNmdCRCxzQ0FBc0M7RWlGdDdnQnhDO0lBYUksbUNoRmp1QitCO0lnRmt1Qi9CLGdCaEZ4dEJTO0lnRnl0QlQsMEJBQXlCO0lBQ3pCLGU3RXY3Qlc7STZFdzdCWCxnQkFBZTtJQUNmLGlCQUFnQixFQUNqQjtFakYyNmdCRCx1Q0FBdUM7RWlGOTdnQnpDO0lBcUJJLG9CQUFtQjtJQUNuQixXQUFVO0lBQ1YsbUJBQWtCLEVBQ25COztBakY0NmdCSCx1Q0FBdUM7QWlGcDZnQnZDO0VBRUksZUFBYztFQUNkLG1CQUFrQjtFQUNsQiwwQkFBeUI7RUFDekIsb0JBQW1CLEVBSXBCO0VqRmk2Z0JELHVDQUF1QztFaUYxNmdCekM7SUFPTSwwQkFBeUIsRUFDMUI7O0FqRnM2Z0JMLHVDQUF1QztBaUY5NmdCdkM7RUFXSSxvQ2hGOXZCNEI7RWdGK3ZCNUIsbUJBQWtCO0VoRHYrQnBCLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsaUJBQWdCLEVnRCtqQ2Y7RWpGKzBnQkQsdUNBQXVDO0VpRnI3Z0J6QztJQWVNLGlCQUFnQjtJQUNoQixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix3QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZTtJQUNmLFdBQVU7SUFDVixhQUFZO0lBQ1osaUJBQWdCLEVBZ0ZqQjtJakZ5MWdCRCx1Q0FBdUM7SWlGOTdnQjNDO01BdUJRLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsK0JBQXNCO1VBQXRCLDJCQUFzQjtjQUF0Qix1QkFBc0I7TUFDdEIsa0JBQWlCO01BQ2pCLHdCQUFlO1VBQWYsb0JBQWU7Y0FBZixnQkFBZTtNQUNmLFlBQVc7TUFDWCxxQkFBb0I7TUFDcEIsaUM3RXArQk8sRTZFbS9CUjtNakYyNWdCRCx1Q0FBdUM7TWlGdjhnQjdDO1FBK0JVLG9CQUFtQjtRQUNuQiwwQkFBeUI7UUFDekIsV0FBVSxFQUNYO01qRjA2Z0JILHVDQUF1QztNaUY1OGdCN0M7UUFvQ1UsbUJBQWtCO1FBQ2xCLGlCQUFnQixFQU1qQjtRakZxNmdCRCx1Q0FBdUM7UWlGaDlnQi9DO1VBdUNZLG1CQUFrQjtVQUNsQixXQUFVO1VBQ1YsU0FBUSxFQUNUO0lqRjI2Z0JQLHVDQUF1QztJaUZyOWdCM0M7TUFpRFEsd0JBQWU7VUFBZiw2QkFBZTtjQUFmLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsbUJBQWtCLEVBV25CO01qRjQ1Z0JELHVDQUF1QztNaUYzOWdCN0M7UUFzRFUsZ0JBQWU7UUFDZixtQkFBa0IsRUFDbkI7TWpGdTZnQkgsdUNBQXVDO01pRi85Z0I3QztRQTBEVSxhQUFZLEVBQ2I7TWpGdTZnQkgsdUNBQXVDO01pRmwrZ0I3QztRQTZEVSxjQUFhLEVBQ2Q7SWpGdTZnQkwsdUNBQXVDO0lpRnIrZ0IzQztNQWlFUSxpQkFBZ0I7TUFDaEIsd0JBQWU7VUFBZiw2QkFBZTtjQUFmLGdCQUFlO01BQ2Ysb0NoRnR6QndCO01nRnV6QnhCLGdCaEYxeUJTLEVnRjJ5QlY7SWpGczZnQkgsdUNBQXVDO0lpRjMrZ0IzQztNQXVFUSx5QkFBZ0I7VUFBaEIsOEJBQWdCO2NBQWhCLGlCQUFnQjtNQUNoQixtQkFBa0I7TUFDbEIsaUJBQWdCLEVBWWpCO01qRjI1Z0JELHVDQUF1QztNaUZoL2dCN0M7UUEyRVUsaUJBQWdCO1FBQ2hCLGFBQVk7UUFDWixhQUFZO1FBQ1osMEI3RXJoQ0s7UTZFc2hDTCxlN0VsaENLLEU2RXVoQ047UWpGbTZnQkQsdUNBQXVDO1FpRnYvZ0IvQztVQWlGWSwwQjdFcGhDRztVNkVxaENILGU3RXpoQ0csRTZFMGhDSjtJakZ3NmdCUCx1Q0FBdUM7SWlGMy9nQjNDO01BdUZRLGlCQUFnQixFQUNqQjtJakZzNmdCSCx1Q0FBdUM7SWlGOS9nQjNDO01BMEZRLG9CQUFtQjtNQUNuQixXQUFVLEVBRVg7SWpGcTZnQkgsdUNBQXVDO0lpRmxnaEIzQztNQStGUSxZQUFXLEVBQ1o7SWpGcTZnQkgsdUNBQXVDO0lpRnJnaEIzQztNQWtHUSxtQkFBa0I7TUFDbEIsb0NoRnQxQndCLEVnRnUxQnpCOztBOUVsakNDO0VIeTlpQk4sdUNBQXVDO0VpRjNnaEJ6QztJQTJHTSxnQmhGcjFCTyxFZ0ZzMUJSO0VqRms2Z0JILHVDQUF1QztFaUY5Z2hCekM7SUE4R00sZ0JoRnAxQlcsRWdGcTFCWjtFakZrNmdCSCx1Q0FBdUM7RWlGamhoQnpDO0lBaUhNLFlBQVcsRUE0Q1o7SWpGdTNnQkQsdUNBQXVDO0lpRnBoaEIzQztNQW1IUSxrQkFBaUI7TUFDakIsb0JBQW1CO01BQ25CLGtCQUFpQixFQWVsQjtNakZxNWdCRCx1Q0FBdUM7TWlGaDdnQjNDO1FBY1EsWUFBVyxFQUlaO1FqRmk2Z0JELHVDQUF1QztRaUZuN2dCN0M7VUFnQlUsWUFBVyxFQUNaO01qRnE2Z0JMLHVDQUF1QztNaUYvaGhCN0M7UUE2SFUsd0JBQXVCO1FBQ3ZCLG1CQUFrQixFQUNuQjtNakZvNmdCSCx1Q0FBdUM7TWlGMTdnQjNDO1FBd0JRLFlBQVc7UUFDWCxpQkFBZ0IsRUFDakI7SWpGbzZnQkwsdUNBQXVDO0lpRnZpaEIzQztNQXNJUSx5QkFBZ0I7VUFBaEIsOEJBQWdCO2NBQWhCLGlCQUFnQjtNQUNoQixpQkFBUTtVQUFSLGtCQUFRO2NBQVIsU0FBUSxFQUNUO0lqRm02Z0JILHVDQUF1QztJaUYzaWhCM0M7TUEwSVEseUJBQWdCO1VBQWhCLDhCQUFnQjtjQUFoQixpQkFBZ0I7TUFDaEIsaUJBQVE7VUFBUixrQkFBUTtjQUFSLFNBQVEsRUFVVDtNakYwNWdCRCx1Q0FBdUM7TWlGdDhnQjNDO1FBb0NRLG9CN0VwbENLO1E2RXFsQ0wsZTdFamxDSztRNkVrbENMLG9CQUFtQixFQUtwQjtRakZnNmdCRCx1Q0FBdUM7UWlGMzhnQjdDO1VBd0NVLG9CN0VwbENHO1U2RXFsQ0gsZTdFemxDRyxFNkUwbENKO0lqRnE2Z0JQLHVDQUF1QztJaUZ4amhCM0M7TUF1SlEseUJBQWdCO1VBQWhCLDhCQUFnQjtjQUFoQixpQkFBZ0I7TUFDaEIsY0FBYSxFQUNkO0lqRm02Z0JILHVDQUF1QztJaUY1amhCM0M7TUEySlEsZ0JoRmo0QlMsRWdGazRCVixFQUFBOztBOUUxbUNDO0VIK2dqQk4sdUNBQXVDO0VpRmpqakJ6QztJQXFwQ1Usa0JBQWlCO0lBQ2pCLG9CQUFtQixFQUNwQixFQUFBOztBakYrNWdCVCx3Q0FBd0M7QWtGM2pqQnhDO0VBRUksc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQXdDcEI7RWxGb2hqQkQsd0NBQXdDO0VrRmhrakIxQztJQU1NLFdBQVU7SUFDVixXQUFVLEVBV1g7SWxGa2pqQkQsd0NBQXdDO0lrRnBrakI1QztNQVNRLGFBQVk7TUFDWixpQkFBZ0IsRUFDakI7SWxGNmpqQkgseUNBQXlDO0lrRnhrakI3QztNQWFRLGlCQUFnQjtNQUNoQixrQkFBaUI7TUFDakIsaUJBQWdCO01BQ2hCLG1CQUFrQixFQUNuQjtFbEY2ampCTCx5Q0FBeUM7RWtGOWtqQjNDO0lBb0JNLFdBQVU7SUFDVixnQkFBZTtJQUNmLGlCQUFnQixFQU9qQjtJbEZzampCRCx5Q0FBeUM7SWtGbmxqQjdDO01Bd0JVLGlCQUFnQixFQUNqQjtJbEY2ampCTCx5Q0FBeUM7SWtGdGxqQjdDO01BMkJRLGdCQUFlLEVBQ2hCO0VsRjZqakJMLHlDQUF5QztFa0Z6bGpCM0M7SUFnQ1EsZ0JBQWUsRUFDaEI7RWxGMmpqQkwseUNBQXlDO0VrRjVsakIzQztJQW1DUSxvQkFBbUIsRUFDcEI7RWxGMmpqQkwseUNBQXlDO0VrRi9sakIzQztJQXNDUSxvQkFBbUIsRUFDcEI7RWxGMmpqQkwseUNBQXlDO0VrRmxtakIzQztJakRpQkUsb0NoQ2lQOEI7SWdDaFA5QixnQmhDNlBlO0lnQzVQZixlN0IyQmE7STZCMUJiLHVCQUFzQjtJQUN0QixrQkFBaUI7SUFDakIsaUJBQWdCLEVpRG9CWDs7QWxGaWtqQlAseUNBQXlDO0FrRjdqakJ6QztFQUVJLGlCQUFnQjtFQUNoQixlQUFjLEVBVWY7RWxGb2pqQkQseUNBQXlDO0VrRmprakIzQztJQUtNLG9CQUFtQixFQUNwQjtFbEY4ampCSCx5Q0FBeUM7RWtGcGtqQjNDO0lBV00sb0JBQW1CLEVBQ3BCO0lsRjJqakJELHlDQUF5QztJa0Z2a2pCN0M7TWpEN0JFLG9DaENpUDhCO01nQ2hQOUIsZ0JoQzZQZTtNZ0M1UGYsZTdCMkJhO002QjFCYix1QkFBc0I7TUFDdEIsa0JBQWlCO01BQ2pCLGlCQUFnQixFaURrQ1g7O0FsRnNrakJQLHlDQUF5QztBa0ZobGpCekM7RUFlSSxlQUFjO0VBQ2QsYUFBWTtFQUNaLGtCQUFpQixFQUNsQjs7QS9FekJLO0VIOGxqQk4seUNBQXlDO0VrRnZsakIzQztJQXdCTSxlQUFjLEVBQ2Y7RWxGaWtqQkgseUNBQXlDO0VrRjFsakIzQztJQTJCTSxhQUFZO0lBQ1osZ0JBQWU7SUFDZixnQkFBZSxFQUNoQixFQUFBOztBbEZra2pCTCwyQ0FBMkM7QW1GM29qQjNDO0VBTUksbUJBQWtCO0VBQ2xCLGlCQUFnQixFQU9qQjtFbkZpb2pCRCw0Q0FBNEM7RW1GL29qQjlDO0lBU00sYUFBWTtJQUVaLGlCQUFnQjtJQUNoQixrQkFBaUIsRUFDbEI7O0FuRndvakJMLDRDQUE0QztBbUZycGpCNUM7RUFnQkksc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFBbUI7TUFBbkIsd0JBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQixzQ0FBNkI7TUFBN0IsMEJBQTZCO1VBQTdCLDhCQUE2QixFQW1COUI7RW5GcW5qQkQsNENBQTRDO0VtRjFwakI5QztJQW9CTSxpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ2xCO0VuRndvakJILDRDQUE0QztFbUY5cGpCOUM7SUF3Qk0sbUJBQWtCLEVBWW5CO0luRjZuakJELDRDQUE0QztJbUZqcWpCaEQ7TUEwQlEsbUJBQWtCO01BQ2xCLE9BQU0sRUFJUDtNbkZzb2pCRCw0Q0FBNEM7TW1GcnFqQmxEO1FBNkJVLGdCQUFlLEVBQ2hCO0luRjBvakJMLDRDQUE0QztJbUZ4cWpCaEQ7TUFpQ1EsYUFBWTtNQUNaLGNBQWEsRUFDZDs7QW5GMG9qQlAsNENBQTRDO0FtRjdxakI1QztFQTJDSSxpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFrU2hCO0VuRm0yaUJELDRDQUE0QztFbUZqcmpCOUM7SUE4Q00sa0JBakRvQjtJQWtEcEIscUJBakR1QjtJQWtEdkIsaUMvRUxTLEUrRVNWO0luRmtvakJELDRDQUE0QztJbUZ0cmpCaEQ7TUFrRFEsY0FBYSxFQUNkO0VuRnNvakJMLDRDQUE0QztFbUZ6cmpCOUM7SUFzRE0scUJBQW9CO0lBQ3BCLGlDL0VaUyxFK0U0Q1Y7SW5Gc21qQkQsNENBQTRDO0ltRjdyakJoRDtNQXlEUSxnQmxGMk1TO01rRjFNVCxvQkFBbUIsRUFDcEI7SW5Gc29qQkgsNENBQTRDO0ltRmpzakJoRDtNQTZEUSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CO01BQ25CLFlBQVc7TUFDWCx3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWU7TUFDZixXQUFVO01BQ1YsbUJBQWtCLEVBYW5CO01uRjBuakJELDRDQUE0QztNbUZ6c2pCbEQ7UUFvRVUsa0JBQWlCLEVBQ2xCO01uRnVvakJILDRDQUE0QztNbUY1c2pCbEQ7UUF1RVUsbUJBQWtCLEVBQ25CO01uRnVvakJILDRDQUE0QztNbUYvc2pCbEQ7UUEwRVUsWUFBVztRQUNYLGdCbEZpTU87UWtGaE1QLG1CQUFrQjtRQUNsQixjQUFhLEVBQ2Q7SW5GdW9qQkwsNENBQTRDO0ltRnJ0akJoRDtNQWlGUSxhQUFZO01BQ1osb0NsRjZLd0I7TWtGNUt4QiwwQkFBeUI7TUFDekIsZ0JsRnVMUTtNa0Z0TFIsb0JBQW1CLEVBQ3BCO0VuRnNvakJMLDRDQUE0QztFbUY1dGpCOUM7SUF5Rk0sZ0JsRmtMVTtJa0ZqTFYsb0NsRnFLMEI7SWtGcEsxQiwwQkFBeUI7SUFDekIsb0JBQW1CO0lBQ25CLG9CQUFtQixFQUNwQjtFbkZxb2pCSCw0Q0FBNEM7RW1GbnVqQjlDO0lBZ0dNLGdCbEYyS1U7SWtGMUtWLG9DbEY4SjBCO0lrRjdKMUIsb0JBQW1CO0lBQ25CLG9CQUFtQixFQUNwQjtFbkZxb2pCSCw2Q0FBNkM7RW1GenVqQi9DO0lBc0dNLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNEJBQW1CO1FBQW5CLHdCQUFtQjtZQUFuQixvQkFBbUI7SUFDbkIsb0JBQW1CLEVBdUJwQjtJbkYrbWpCRCw2Q0FBNkM7SW1GOXVqQmpEO01sRGNFLG9DaENpUDhCO01nQ2hQOUIsZ0JoQzZQZTtNZ0M1UGYsZTdCMkJhO002QjFCYix1QkFBc0I7TUFDdEIsa0JBQWlCO01BQ2pCLGlCQUFnQjtNa0R3RlYsZ0JBQWU7TUFDZiwwQkFBeUIsRUFDMUI7SW5GMm9qQkgsNkNBQTZDO0ltRnh2akJqRDtNQStHUSxXQUFVO01BQ1Ysc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiw0QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQjtNQUNuQix3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUFZaEI7TW5GZ29qQkQsNkNBQTZDO01tRjl2akJuRDtRQW9IVSxtQkFBa0IsRUFTbkI7UW5Gb29qQkQsNkNBQTZDO1FtRmp3akJyRDtVQXVIYyxnQkFBZSxFQUNoQjtRbkY0b2pCTCw2Q0FBNkM7UW1GcHdqQnJEO1VBMkhZLGdCQUFlLEVBQ2hCO0VuRjJvakJULDZDQUE2QztFbUZ2d2pCL0M7SUFpSU0sY0FBYSxFQUNkO0VuRndvakJILDZDQUE2QztFbUYxd2pCL0M7SUFvSU0sMEIvRXpGUztJK0UwRlQscUJBQW9CLEVBQ3JCO0VuRndvakJILDZDQUE2QztFbUY5d2pCL0M7SUF3SU0sYUFBWTtJQUNaLDhCQUE2QjtJQUM3QixnQkFBZTtJQUNmLHFCQUFvQixFQUNyQjtFbkZ3b2pCSCw2Q0FBNkM7RW1GcHhqQi9DO0lBOElNLDhCQUE2QjtJQUM3QixnQkFBZTtJQUNmLHFCQUFvQixFQUNyQjtFbkZ3b2pCSCw2Q0FBNkM7RW1GenhqQi9DO0lBbUpNLG9CQUFtQjtJQUNuQixtQkFBa0IsRUE0Q25CO0luRjZsakJELDZDQUE2QztJbUY3eGpCakQ7TUFzSlEsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiw0QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQjtNQUNuQix3QkFBZTtVQUFmLG9CQUFlO2NBQWYsZ0JBQWUsRUEyQmhCO01uRittakJELDZDQUE2QztNbUZseWpCbkQ7UUEwSlUsbUJBQWtCO1FBQ2xCLHFCQTdKbUIsRUFvTHBCO1FuRm9uakJELDZDQUE2QztRbUZ0eWpCckQ7VWxEY0Usb0NoQ2lQOEI7VWdDaFA5QixnQmhDNlBlO1VnQzVQZixlN0IyQmE7VTZCMUJiLHVCQUFzQjtVQUN0QixrQkFBaUI7VUFDakIsaUJBQWdCO1VrRDhJTixZQUFXLEVBQ1o7UW5GNm9qQkgsNkNBQTZDO1FtRi95akJyRDtVQW9LWSxnQkFBZTtVQUNmLDBCL0UxSEc7VStFMkhILGdCbEY2Rk07VWtGNUZOLG1CQUFrQjtVQUNsQixtQ2xGc0Z1QjtVa0ZyRnZCLG1CQUFrQixFQUNuQjtRbkY2b2pCSCw2Q0FBNkM7UW1GdnpqQnJEO1VBNEtZLG1CQUFrQjtVQUNsQixvQkFBbUIsRUFDcEI7UW5GNm9qQkgsNkNBQTZDO1FtRjN6akJyRDtVQWdMWSxlbEY5Q00sRWtGK0NQO0luRjZvakJQLDZDQUE2QztJbUY5empCakQ7TUFxTFEsY0FBYSxFQUNkO0luRjJvakJILDZDQUE2QztJbUZqMGpCakQ7TUF3TFEsY0FBYTtNQUViLFVBQVM7TUFDVCxvQ2xGb0V3QixFa0ZuRXpCO0luRjBvakJILDZDQUE2QztJbUZ0MGpCakQ7TUE4TFEsY0FBYSxFQUNkO0VuRjBvakJMLDZDQUE2QztFbUZ6MGpCL0M7SUFrTU0sa0JBck1vQjtJQXNNcEIsYUFBWTtJQUNaLGtCQUFpQixFQTZIbEI7SW5GNmdqQkQsNkNBQTZDO0ltRjkwakJqRDtNQXVNVSxhQUFZLEVBQ2I7SW5GeW9qQkwsNkNBQTZDO0ltRmoxakJqRDtNbERjRSxvQ2hDaVA4QjtNZ0NoUDlCLGdCaEM2UGU7TWdDNVBmLGU3QjJCYTtNNkIxQmIsdUJBQXNCO01BQ3RCLGtCQUFpQjtNQUNqQixpQkFBZ0I7TWtEMExSLGFBQVksRUFDYjtJbkY0b2pCTCw2Q0FBNkM7SW1GMTFqQmpEO01BZ05VLHNCQUFxQixFQVF0QjtNbkZxb2pCSCw2Q0FBNkM7TW1GNzFqQm5EO1FBa05ZLGFBQVk7UUFDWixjQUFhLEVBQ2Q7TW5GNm9qQkwsNkNBQTZDO01tRmoyakJuRDtRQXNOWSxjQUFhLEVBQ2Q7SW5GNm9qQlAsNkNBQTZDO0ltRnAyakJqRDtNQTJOUSxjQUFhO01BQ2IsT0FBTTtNQUNOLFFBQU87TUFDUCxZQUFXO01BQ1gsYUFBWTtNQUNaLGNBQWE7TUFDYixpQkFBZ0I7TUFDaEIsZ0JBQWU7TUFDZixvQi9FcExPO00rRXFMUCxZQUFXLEVBQ1o7SW5GMm9qQkgsNkNBQTZDO0ltRmgzakJqRDtNQXVPUSxjQUFhO01BQ2IsT0FBTTtNQUNOLFFBQU87TUFDUCxZQUFXO01BQ1gsYUFBWTtNQUNaLGNBQWE7TUFDYixnQkFBZTtNQUNmLHlCQUF3QjtNQUN4QixtQkFBa0IsRUFvQ25CO01uRndtakJELDZDQUE2QztNbUYzM2pCbkQ7UUFpUFUsWUFBVztRQUNYLHNCQUFxQjtRQUVyQix1QkFBc0IsRUFDdkI7TW5GMm9qQkgsNkNBQTZDO01tRmg0akJuRDtRQXVQVSxrREFBaUQ7UUFDakQsNEJBQTJCO1FBQzNCLDZCQUE0QjtRQUM1QixzQkFBcUI7UUFDckIsa0JBQWlCO1FBQ2pCLG9CQUFtQjtRQUNuQixZQUFXO1FBQ1gsbUJBQWtCO1FBQ2xCLE9BQU07UUFDTixTQUFRLEVBQ1Q7TW5GMm9qQkgsNkNBQTZDO01tRjU0akJuRDtRQW1RVSxtQkFBa0I7UUFDbEIsc0JBQXFCO1FBQ3JCLHVCQUFzQjtRQUN0QixlQUFjO1FBQ2QsaUJBQWdCO1FBQ2hCLGNBQWE7UUFDYiwwQi9FMU5LO1ErRTJOTCxjQUFhO1FBQ2IsMEIvRWhPSztRK0VpT0wsU0FBUTtRQUNSLHNDQUE2QjtZQUE3QixrQ0FBNkI7Z0JBQTdCLDhCQUE2QixFQUs5QjtRbkZ1b2pCRCw2Q0FBNkM7UW1GejVqQnJEO1VsRGNFLG9DaENpUDhCO1VnQ2hQOUIsZ0JoQzZQZTtVZ0M1UGYsZTdCMkJhO1U2QjFCYix1QkFBc0I7VUFDdEIsa0JBQWlCO1VBQ2pCLGlCQUFnQjtVQUloQixrQkFBaUI7VUFDakIsb0JBQW1CO1VBQ25CLGlCQUFnQixFa0R3UFA7SW5GbXBqQlAsNkNBQTZDO0ltRnA2akJqRDtNQXFSUSxnQkFBZTtNQUNmLGdCQUFlO01sRHhRckIsb0NoQ2lQOEI7TWdDaFA5QixnQmhDNlBlO01nQzVQZixlN0IyQmE7TTZCMUJiLHVCQUFzQjtNQUN0QixrQkFBaUI7TUFDakIsaUJBQWdCO01BSWhCLGtCQUFpQjtNQUNqQixvQkFBbUI7TUFDbkIsaUJBQWdCO01rRGdRViwwQkFBeUI7TUFDekIsbUJBQWtCLEVBQ25CO0luRndwakJILDZDQUE2QztJbUZuN2pCakQ7TUE2UlEsb0JBQW1CLEVBbUNwQjtNbkZzbmpCRCw2Q0FBNkM7TW1GdDdqQm5EO1FBK1JVLG9DbEZoQ3NCO1FrRmlDdEIsZ0JsRnBCTyxFa0ZxQlI7TW5GeXBqQkgsNkNBQTZDO01tRjE3akJuRDtRQW1TVSxzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYTtRQUNiLDRCQUFtQjtZQUFuQix3QkFBbUI7Z0JBQW5CLG9CQUFtQixFQTJCcEI7UW5GK25qQkQsNkNBQTZDO1FtRjk3akJyRDtVQXNTWSxtQkFBa0I7VUFDbEIsYUFBWTtVQUNaLFlBQVc7VUFFWCxnQkFBZTtVQUNmLG9CQUFtQjtVQUNuQiw4QkFBcUI7Y0FBckIsb0JBQXFCO2tCQUFyQixzQkFBcUI7VUFDckIsd0JBQWU7Y0FBZixvQkFBZTtrQkFBZixnQkFBZTtVQUNmLDBCL0UvUEcsRStFZ1FKO1FuRnlwakJILDZDQUE2QztRbUZ4OGpCckQ7VUFpVFksc0JBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWE7VUFDYiw0QkFBbUI7Y0FBbkIsd0JBQW1CO2tCQUFuQixvQkFBbUI7VUFDbkIsZ0NBQXVCO2NBQXZCLHNCQUF1QjtrQkFBdkIsd0JBQXVCO1VBQ3ZCLDRCQUFtQjtjQUFuQix1QkFBbUI7a0JBQW5CLG9CQUFtQjtVQUNuQixxQkFBWTtjQUFaLHFCQUFZO2tCQUFaLGFBQVk7VUFDWixhQUFZO1VBQ1osZ0JBQWUsRUFJaEI7VW5Gc3BqQkQsNkNBQTZDO1VtRmo5akJ2RDtZQXlUYyxpQkFBZ0IsRUFDakI7UW5GMHBqQkwsNkNBQTZDO1FtRnA5akJyRDtVQTZUWSwwQkFBeUIsRUFDMUI7RW5GeXBqQlQsNkNBQTZDO0VtRnY5akIvQztJQW9VUSxpQkFBZ0I7SUFDaEIsaUJBdlVxQixFQTJVdEI7SW5Ga3BqQkgsNkNBQTZDO0ltRjM5akJqRDtNQXVVVSxxQkFBb0IsRUFDckI7RW5Gc3BqQlAsNkNBQTZDO0VtRjk5akIvQztJQTJVUSxjQUFhLEVBQ2Q7O0FBS1Asa0JBQWtCO0FoRjdTVjtFSGc4akJOLDZDQUE2QztFbUZwK2pCL0M7SUFzVk0sWUFBVyxFQW1DWjtJbkY4bWpCRCw2Q0FBNkM7SW1GbnBqQi9DO01BTVEsWUFBVztNQUNYLGFBQVk7TUFDWiwwQi9FalRLO00rRWtUTCxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLFdBQVUsRUFXWDtNbkZxb2pCSCw2Q0FBNkM7TW1GM3BqQmpEO1FBYVUsV0FBVTtRQUNWLFlBQVc7UUFDWCx3QkFBdUI7UUFDdkIsYUFBWTtRQUNaLG9CQUFtQjtRQUNuQixtQkFBa0I7UUFDbEIsa0NBQXlCO1lBQXpCLDhCQUF5QjtnQkFBekIsMEJBQXlCO1FBQ3pCLGdCQUFlLEVBQ2hCO0luRmdwakJQLDZDQUE2QztJbUZycWpCL0M7TUF3QlEsUUFBTyxFQUNSO0luRitvakJMLDZDQUE2QztJbUZ4cWpCL0M7TUEyQlEsU0FBUSxFQUtUO01uRjJvakJILDZDQUE2QztNbUYzcWpCakQ7UUE2QlUsa0NBQXlCO1lBQXpCLDhCQUF5QjtnQkFBekIsMEJBQXlCO1FBQ3pCLGtCQUFpQixFQUNsQjtJbkZncGpCUCw2Q0FBNkM7SW1GL3FqQi9DO01BbUNNLGNBQWEsRUFDZDtFbkY4b2pCTCw2Q0FBNkM7RW1GdGdrQi9DO0lBMlhNLFlBQVcsRUE0SVo7SW5Ga2dqQkQsNkNBQTZDO0ltRnpna0JqRDtNQThYUSxrQkFBaUIsRUFDbEI7SW5GNm9qQkgsNkNBQTZDO0ltRjVna0JqRDtNQWlZUSxjQUFhO01BQ2Isa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixrQkFBaUI7TUFDakIsbUJBQWtCLEVBOEduQjtNbkZnaWpCRCw2Q0FBNkM7TW1GbmhrQm5EO1FBMllVLFVBQVM7UUFDVCxZQUFXO1FBQ1gsc0JBQWE7UUFBYixxQkFBYTtRQUFiLGNBQWE7UUFDYiwrQkFBc0I7WUFBdEIsMkJBQXNCO2dCQUF0Qix1QkFBc0I7UUFDdEIsZ0NBQXVCO1lBQXZCLHNCQUF1QjtnQkFBdkIsd0JBQXVCLEVBMkJ4QjtRbkZnbmpCRCw2Q0FBNkM7UW1GdHNqQm5EO1VsRHRVQSxvQ2hDaVA4QjtVZ0NoUDlCLGdCaEM2UGU7VWdDNVBmLGU3QjJCYTtVNkIxQmIsdUJBQXNCO1VBQ3RCLGtCQUFpQjtVQUNqQixpQkFBZ0I7VWtEZ1lOLG1CQUFrQjtVQUNsQixvQi9FeldHO1UrRTBXSCxlL0V0V0c7VStFdVdILGlCQUFnQjtVQUNoQixXQUFVO1VBQ1YseUJBQWdCO2NBQWhCLDhCQUFnQjtrQkFBaEIsaUJBQWdCO1VBQ2hCLGFBQVk7VUFDWixpQkFBZ0I7VUFDaEIsa0JBQWlCLEVBY2xCO1VuRmtvakJELDZDQUE2QztVbUZ2dGpCckQ7WUF5RVksb0IvRTlXQztZK0UrV0QsZS9FblhDLEUrRW9YRjtVbkZncGpCSCw2Q0FBNkM7VW1GM3RqQnJEO1lBNkVZLG9CL0VsWEM7WStFbVhELGUvRXZYQztZK0V3WEQsaUJBQVE7Z0JBQVIsa0JBQVE7b0JBQVIsU0FBUSxFQUtUO1luRjRvakJELDZDQUE2QztZbUZodWpCdkQ7Y0FpRmMsb0IvRTFYRDtjK0UyWEMsZS9FdlhELEUrRXdYQTtNbkZpcGpCVCw2Q0FBNkM7TW1GcHVqQmpEO1FBMkZRLFdBQVUsRUFzQ1g7UW5Gc21qQkQsNkNBQTZDO1FtRnZ1akJuRDtVQTZGVSxlQUFjLEVBZ0JmO1VuRjZuakJELDZDQUE2QztVbUYxdWpCckQ7WUErRlksZUFBYyxFQUNmO1VuRjZvakJILDZDQUE2QztVbUY3dWpCckQ7WUEwR1ksa0JBQWlCLEVBRWxCO1FuRm9vakJMLDZDQUE2QztRbUZodmpCbkQ7VUErR1UsWUFBVztVQUNYLGFBQVk7VUFDWixtQkFBa0I7VUFDbEIsWUFBVztVQUNYLFdBQVUsRUFDWDtRbkZtb2pCSCw2Q0FBNkM7UW1GdnZqQm5EO1VBc0hVLFNBQVEsRUFJVDtVbkZnb2pCRCw2Q0FBNkM7VW1GMXZqQnJEO1lBd0hZLGFBQVksRUFDYjtRbkZvb2pCTCw2Q0FBNkM7UW1GN3ZqQm5EO1VBNEhVLFFBQU8sRUFJUjtVbkZnb2pCRCw2Q0FBNkM7VW1GaHdqQnJEO1lBOEhZLGFBQVksRUFDYjtNbkZvb2pCUCw2Q0FBNkM7TW1GbndqQmpEO1FBb0lZLFlBQVc7UUFDWCxjQUFhO1FBRWIsb0NsRjVOa0IsRWtGNk5uQjtNbkZnb2pCUCw2Q0FBNkM7TW1GeHdqQmpEO1FBMElVLDBCQUFpQjtZQUFqQixzQkFBaUI7Z0JBQWpCLGtCQUFpQixFQU9sQjtRbkYwbmpCSCw2Q0FBNkM7UW1GM3dqQm5EO1VBNkljLG1CQUFrQjtVQUNsQixVQUFTLEVBQ1Y7TW5GZ29qQlQsNkNBQTZDO01tRi93akJqRDtRQW1KVSxjQUFhLEVBQ2Q7TW5GOG5qQkwsNkNBQTZDO01tRmx4akJqRDtRQXNKVSxzQkFBYTtRQUFiLHFCQUFhO1FBQWIsY0FBYSxFQUlkO1FuRjJuakJILDZDQUE2QztRbUZyeGpCbkQ7VUF3SlksY0FBYSxFQUNkO01uRituakJQLDZDQUE2QztNbUZ4eGpCakQ7UUE2SlEsZUFBYyxFQUNmO0luRjZuakJMLDZDQUE2QztJbUYzeGpCL0M7TUFpS00sY0FBYSxFQWlCZDtNbkY0bWpCRCw2Q0FBNkM7TW1GbG5rQm5EO1FBdWZVLGNBQWE7UUFDYixrQkFBaUI7UUFDakIsYUFBWSxFQVNiO1FuRnFuakJELDZDQUE2QztRbUZueWpCbkQ7VUF1S1UsYUFBWTtVQUNaLGdCQUFlLEVBQ2hCO1FuRjhuakJILDZDQUE2QztRbUZ2eWpCbkQ7VUEyS1UsYUFBWTtVbERqZnRCLG9DaENpUDhCO1VnQ2hQOUIsZ0JoQzZQZTtVZ0M1UGYsZTdCMkJhO1U2QjFCYix1QkFBc0I7VUFDdEIsa0JBQWlCO1VBQ2pCLGlCQUFnQixFa0Q4ZVA7TW5GbW9qQkwsNkNBQTZDO01tRmh6akJqRDtRQWdMUSxlQUFjLEVBQ2YsRUFBQTs7QWhGamVEO0VIcW1rQk4sNkNBQTZDO0VtRnJ6akI3QztJQTRMUSx3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUFJaEI7SW5Gd25qQkwsNkNBQTZDO0ltRmhvakIvQztNQU1VLGFBQVksRUFDYixFQUFBOztBaEYvZUg7RUg2bWtCTiw2Q0FBNkM7RW1GanBrQi9DO0lBZ2lCYyxpQkFBZ0IsRUFDakIsRUFBQSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBSaW5nc2lkZTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvUmluZ3NpZGUtQm9vay5vdGYpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0hvZWZsZXIgVGV4dCc7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL2hvZWZsZXJ0ZXh0LXJvbWFuLXdlYmZvbnQudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdIb2VmbGVyIFRleHQnO1xuICBzcmM6IHVybCguLi9mb250cy9ob2VmbGVydGV4dC1pdGFsaWMtd2ViZm9udC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLypcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFVzYWdlIGV4YW1wbGU6XG4vLyBGb3IgSUUgc2V0ICRtcS1zdXBwb3J0IHRvIGZhbHNlLlxuLy8gU2V0IHRoZSBmaXhlZCB2YWx1ZS5cbi8vIFRoZW4gdXNlIG1peGlucyB0byB0ZXN0IHdoZXRoZXIgc3R5bGVzIHNob3VsZCBiZSBhcHBsaWVkLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbXEtc3VwcG9ydDogZmFsc2U7XG4kbXEtZml4ZWQtdmFsdWU6IDEwMjQ7XG5cbi8vIFJlbmRlcnMgYXQgZml4ZWQgdmFsdWVcbkBpbmNsdWRlIGJwIChtaW4td2lkdGgsIDMwMHB4KSB7IFxuICAgIGRpdiB7IGNvbG9yOiMwMDA7IH1cbn1cblxuLy8gRG9lc24ndCByZW5kZXIgd2l0aG91dCBNUSBzdXBwb3J0XG5AaW5jbHVkZSBicCAobWluLXdpZHRoLCAxMjAwcHgpIHsgXG4gICAgZGl2IHsgY29sb3I6I0ZGRjsgfVxufVxuXG4vLyBEb2Vzbid0IHJlbmRlciB3aXRob3V0IE1RIHN1cHBvcnRcbkBpbmNsdWRlIGJwIChtYXgtd2lkdGgsIDMwMHB4KSB7IFxuICAgIGRpdiB7IGNvbG9yOiM0NDQ7IH1cbn1cblxuLy8gUmVuZGVycyBhdCBmaXhlZCB2YWx1ZVxuQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgMTIwMHB4KSB7IFxuICAgIGRpdiB7IGNvbG9yOiM4ODg7IH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuLyogbGluZSAyMjEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuLyogbGluZSAyMzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuLyogbGluZSAyNDUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG4vKiBsaW5lIDI2NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuLyogbGluZSAyNzksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG4vKiBsaW5lIDI4OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbi8qIGxpbmUgMzAxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuLyogbGluZSAzMTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG4vKiBsaW5lIDMyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG4vKiBsaW5lIDMzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG4vKiBsaW5lIDMzOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbi8qIGxpbmUgMzQ4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuLyogbGluZSAzNTcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG4vKiBsaW5lIDM2NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuLyogbGluZSAzNzQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBsaW5lIDM4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBsaW5lIDM4NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbi8qIGxpbmUgMzk3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuLyogbGluZSA0MDUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG4vKiBsaW5lIDQxNiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuLyogbGluZSA0MjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG4vKiBsaW5lIDQzMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbi8qIGxpbmUgNDQxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuLyogbGluZSA0NjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuLyogbGluZSA0NzgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbi8qIGxpbmUgNDg5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuLyogbGluZSA1MDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbi8qIGxpbmUgNTE0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG4vKiBsaW5lIDUyMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG4vKiBsaW5lIDUzNCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG4vKiBsaW5lIDU0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbi8qIGxpbmUgNTU4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG4vKiBsaW5lIDU2OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbi8qIGxpbmUgNTc5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbi8qIGxpbmUgNjAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuLyogbGluZSA2MDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG4vKiBsaW5lIDYxOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG4vKiBsaW5lIDYyOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbi8qIGxpbmUgNjM0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIGxpbmUgMTIwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuLyogbGluZSAxMjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiBsaW5lIDEzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8qIGxpbmUgMTM3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi8qIGxpbmUgMTUyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogbGluZSAxNjQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyogbGluZSAxNzEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyogbGluZSAxODEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxODksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyAqL1xuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC8qIGxpbmUgMTczLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi8qIGxpbmUgMjAxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MgKi9cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDIwNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzICovXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnJvdyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAzMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC8qIGxpbmUgMzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAvKiBsaW5lIDM3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC8qIGxpbmUgNDAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAvKiBsaW5lIDQ3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qIGxpbmUgNTgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDU4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC8qIGxpbmUgODIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzICovXG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC8qIGxpbmUgNDksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MgKi9cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBsaW5lIDcwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi8qIGxpbmUgNzUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4vKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSA0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC8qIGxpbmUgNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDIwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSA0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC8qIGxpbmUgNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICB3aWR0aDogMTQuMjg1NzElO1xuICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEyLjUlO1xuICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4vKiBsaW5lIDExNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKiBsaW5lIDExOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogbGluZSAxMjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBsaW5lIDEzMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4vKiBsaW5lIDEzNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMjAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MgKi9cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLyogbGluZSAxNDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDExNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC8qIGxpbmUgMTE5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogbGluZSAxMjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogbGluZSAxMzMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gIC8qIGxpbmUgMTM3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAyMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyAqL1xuICAgIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgMTQyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDkxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDkxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAvKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDkxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAvKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgOTUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA5MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qIGxpbmUgODUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAvKiBsaW5lIDkxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAvKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLyogbGluZSAxMDMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDkxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLyogbGluZSA5NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgOTEsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKiBsaW5lIDk1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC8qIGxpbmUgMTAzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKiBsaW5lIDg1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDEwMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLyogbGluZSA0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDQ2LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLyogbGluZSA1MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAvKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyMiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLyogbGluZSA0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA1NCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MgKi9cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDIyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC8qIGxpbmUgNDYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyAqL1xuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgNTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzICovXG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDExNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAvKiBsaW5lIDExOSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogbGluZSAxMjUsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyAqL1xuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAvKiBsaW5lIDEzMywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzICovXG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gIC8qIGxpbmUgMTM3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAvKiBsaW5lIDIwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzICovXG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgMTQyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MgKi9cbiAgLmxhcmdlLXVuY2VudGVyZWQsXG4gIC5sYXJnZS1wdXNoLTAsXG4gIC5sYXJnZS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLyogbGluZSAyNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLyogbGluZSAzMSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDM3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAvKiBsaW5lIDQ3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLyogbGluZSA1MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4vKiBsaW5lIDU5LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyAqL1xuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSA2MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjE5OWU4O1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLyogbGluZSA3MSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MgKi9cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzIxOTllOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4vKiBsaW5lIDYyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgNjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLyogbGluZSA4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogbGluZSA4NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgNzMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLyogbGluZSA3NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLyogbGluZSA4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIGxpbmUgODYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogbGluZSA3MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC8qIGxpbmUgNzcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLyogbGluZSA4MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLyogbGluZSA4NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBsaW5lIDkzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi8qIGxpbmUgMTAwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi8qIGxpbmUgMTA3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLyogbGluZSAxMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLyogbGluZSAxMDcsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyAqL1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIGxpbmUgMTIwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAvKiBsaW5lIDEyMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzICovXG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC8qIGxpbmUgMTIwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MgKi9cbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLyogbGluZSAxMTQsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzICovXG4uYWNjb3JkaW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBsaW5lIDU0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyAqL1xuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4vKiBsaW5lIDU4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyAqL1xuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLyogbGluZSAxMjIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzICovXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICMyMTk5ZTg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDc0LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyAqL1xuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC8qIGxpbmUgNzksIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzICovXG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLyogbGluZSA4NSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MgKi9cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLyogbGluZSA5MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MgKi9cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLyogbGluZSAxMjYsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzICovXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDEwOCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MgKi9cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLyogbGluZSA0NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKiBsaW5lIDUxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87IH1cblxuLyogbGluZSA1OSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4ub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuXG4vKiBsaW5lIDY4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4vKiBsaW5lIDgzLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbi5qcy1vZmYtY2FudmFzLWV4aXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTsgfVxuXG4vKiBsaW5lIDE1NywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAvKiBsaW5lIDE3MywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MgKi9cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC8qIGxpbmUgMTYwLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAvKiBsaW5lIDEyNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLmlzLW9wZW4tbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC8qIGxpbmUgMTYxLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC8qIGxpbmUgMTI1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgICAuaXMtb3Blbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIGxpbmUgMTY4LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAvKiBsaW5lIDE0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAvKiBsaW5lIDE3MiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAvKiBsaW5lIDE0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiBsaW5lIDE2OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAvKiBsaW5lIDE0OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzICovXG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC8qIGxpbmUgMTcyLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MgKi9cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLyogbGluZSAxNDgsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyAqL1xuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuLyogbGluZSAxMTMsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBsaW5lIDExNywgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKiBsaW5lIDEyNSwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLyogbGluZSAxMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC8qIGxpbmUgMTczLCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyAqL1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLyogbGluZSA3MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLyogbGluZSA3NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDEzMCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLyogbGluZSAxNDIsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLyogbGluZSAxNTAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTU1LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAvKiBsaW5lIDE1NiwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC8qIGxpbmUgMTU3LCBib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyAqL1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAvKiBsaW5lIDE2MCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLyogbGluZSAxMzAsIGJvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzICovXG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAvKiBsaW5lIDE2OCwgYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MgKi9cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2Mi4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvcnJlY3RzIGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbi8qIGxpbmUgMTEsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBDb3JyZWN0cyBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuLyogbGluZSAyOSwgc2Nzcy92ZW5kb3IvX25vcm1hbGl6ZS5zY3NzICovXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbi8qIGxpbmUgNDAsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBmb3IgYGhpZGRlbmAgYXR0cmlidXRlIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuLyogbGluZSA0OSwgc2Nzcy92ZW5kb3IvX25vcm1hbGl6ZS5zY3NzICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0cyBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbi8qIGxpbmUgNjMsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qXG4gKiBSZW1vdmVzIGRlZmF1bHQgbWFyZ2luLlxuICovXG4vKiBsaW5lIDczLCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3NlcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgODUsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgOTMsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRyZXNzZXMgYGgxYCBmb250IHNpemVzIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBpbiBGaXJlZm94IDQrLFxuICogU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbi8qIGxpbmUgMTA3LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07IH1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbi8qIGxpbmUgMTE1LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuLyogbGluZSAxMjMsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG4vKiBsaW5lIDEzMiwgc2Nzcy92ZW5kb3IvX25vcm1hbGl6ZS5zY3NzICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuLyogbGluZSAxNDAsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qXG4gKiBDb3JyZWN0cyBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuLyogbGluZSAxNTAsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLypcbiAqIEltcHJvdmVzIHJlYWRhYmlsaXR5IG9mIHByZS1mb3JtYXR0ZWQgdGV4dCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgMTYyLCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbnByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi8qXG4gKiBTZXRzIGNvbnNpc3RlbnQgcXVvdGUgdHlwZXMuXG4gKi9cbi8qIGxpbmUgMTcyLCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbnEge1xuICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7IH1cblxuLypcbiAqIEFkZHJlc3NlcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgMTgwLCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qIGxpbmUgMTg4LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyogbGluZSAxOTYsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogbGluZSAyMDAsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZXMgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS5cbiAqL1xuLyogbGluZSAyMTIsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuLyogbGluZSAyMjAsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3NlcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuLyogbGluZSAyMzIsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbi8qIGxpbmUgMjQ0LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qXG4gKiAxLiBDb3JyZWN0cyBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuLyogbGluZSAyNTUsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKlxuICogMS4gQ29ycmVjdHMgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0cyBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWVcbiAqL1xuLyogbGluZSAyNjYsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKlxuICogQWRkcmVzc2VzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuLyogbGluZSAyODAsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0cyBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbi8qIGxpbmUgMjkzLCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuLyogbGluZSAzMDUsIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKlxuICogMS4gQWRkcmVzc2VzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlcyBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKi9cbi8qIGxpbmUgMzE1LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qXG4gKiAxLiBBZGRyZXNzZXMgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzZXMgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbi8qIGxpbmUgMzI3LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qXG4gKiBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cbi8qIGxpbmUgMzM5LCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG4vKiBsaW5lIDM0OCwgc2Nzcy92ZW5kb3IvX25vcm1hbGl6ZS5zY3NzICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKlxuICogMS4gUmVtb3ZlcyBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlcyByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuLyogbGluZSAzNTksIHNjc3MvdmVuZG9yL19ub3JtYWxpemUuc2NzcyAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbi8qIGxpbmUgMzcyLCBzY3NzL3ZlbmRvci9fbm9ybWFsaXplLnNjc3MgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmVzZXRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMwLCBzY3NzL2NvcmUvX3Jlc2V0LnNjc3MgKi9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIGxpbmUgMzgsIHNjc3MvY29yZS9fcmVzZXQuc2NzcyAqL1xuaHRtbCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLyogUHJldmVudCB0YXAgaGlnaGxpZ2h0IG9uIGlPUy9BbmRyb2lkICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogUHJldmVudCBhdXRvbWF0aWMgc2NhbGluZyBvbiBpT1MgKi8gfVxuXG4vKiBsaW5lIDQzLCBzY3NzL2NvcmUvX3Jlc2V0LnNjc3MgKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLyogbGluZSA0OSwgc2Nzcy9jb3JlL19yZXNldC5zY3NzICovXG5odG1sLFxuYm9keSxcbmltZyxcbmZpZWxkc2V0LFxuYWJicixcbmFjcm9ueW0ge1xuICBib3JkZXI6IDA7IH1cblxuLyogbGluZSA1OCwgc2Nzcy9jb3JlL19yZXNldC5zY3NzICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyogbGluZSA2OCwgc2Nzcy9jb3JlL19yZXNldC5zY3NzICovXG50aCxcbmNvZGUsXG5jaXRlLFxuY2FwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiBsaW5lIDc3LCBzY3NzL2NvcmUvX3Jlc2V0LnNjc3MgKi9cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogbGluZSA4MSwgc2Nzcy9jb3JlL19yZXNldC5zY3NzICovXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIGxpbmUgODcsIHNjc3MvY29yZS9fcmVzZXQuc2NzcyAqL1xuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogbGluZSA5MSwgc2Nzcy9jb3JlL19yZXNldC5zY3NzICovXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBsaW5lIDk2LCBzY3NzL2NvcmUvX3Jlc2V0LnNjc3MgKi9cbnE6YmVmb3JlLFxucTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbi8qIGxpbmUgMTAyLCBzY3NzL2NvcmUvX3Jlc2V0LnNjc3MgKi9cbmlucHV0OmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbi8qIGxpbmUgMTA4LCBzY3NzL2NvcmUvX3Jlc2V0LnNjc3MgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKiBsaW5lIDI5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uekVXaWRnZXQtbGF1bmNoZXIuekVXaWRnZXQtbGF1bmNoZXItLWFjdGl2ZSB7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAzNiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuI2NyZWRpdHMtcG9wdXAge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIC8qIGxpbmUgNDIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgI2NyZWRpdHMtcG9wdXAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBCYXNlIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgNTQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYWdlIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnBhZ2UgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnBhZ2UgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiB1bnNldDsgfVxuXG4vKiBsaW5lIDU3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGFnZSAubWFzay1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIG9wYWNpdHk6IDAuODtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTg7IH1cblxuLyogbGluZSA2OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2UgLmJsb2NrLXZpZXdlZCwgLnBhZ2UgLmJsb2NrLXJlb3JkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG5cbkAtby12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQHZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG4vKiBsaW5lIDg3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG5hLCBidXR0b24ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbi8qIGxpbmUgOTIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRhYmxlLFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLyogbGluZSAxMDQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbmEge1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIGxpbmUgMTA5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG5hOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogbGluZSAxMTMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbmE6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLyogbGluZSAxMTgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogbGluZSAxMjUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi53cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qIGxpbmUgMTI4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGFnZSB7XG4gIHBhZGRpbmc6IDAgNTBweDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAvKiBsaW5lIDEzMywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAucGFnZSAubWFpbi1jb250YWluZXIge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC8qIGxpbmUgMTMzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgICAucGFnZSAubWFpbi1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMjZweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAgICAgLyogbGluZSAxMzMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAgIC5wYWdlIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDg1cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgMTQ4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wYWdlIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUeXBvZ3JhcGh5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAxNTcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbmgxLCAuaDEge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuN2VtO1xuICBjb2xvcjogIzMzOTlDQztcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDE1OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuaDIsIC5oMiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbi8qIGxpbmUgMTYxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG5oMywgLmgzIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzYzNjM2MztcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSAxNjMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbmg0LCAuaDQge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjNjM2MzYzO1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSAxNjUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbmg1LCAuaDUge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjNjM2MzYzO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDE2Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuaDYsIC5oNiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBjb2xvcjogIzYzNjM2MztcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2hhcmVkIENsYXNzZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDE3Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmFkZHJlc3MtbGlzdCBhZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi8qIGxpbmUgMTc3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYXZhaWxhYmlsaXR5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIGxpbmUgMTgzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYXZhaWxhYmlsaXR5IC5sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAxODcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5hdmFpbGFiaWxpdHkuaW4tc3RvY2sge1xuICBjb2xvcjogIzExQjQwMDsgfVxuXG4vKiBsaW5lIDE5MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmF2YWlsYWJpbGl0eS5hdmFpbGFibGUtc29vbixcbi5hdmFpbGFiaWxpdHkub3V0LW9mLXN0b2NrIHtcbiAgY29sb3I6ICNERjI4MEE7IH1cblxuLyogbGluZSAxOTYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5hdmFpbGFiaWxpdHktb25seSB7XG4gIGNvbG9yOiAjREYyODBBO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgVGl0bGVzXG4gKi9cbi8qIGxpbmUgMjA1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGFnZS10aXRsZSBoMSxcbi5wYWdlLXRpdGxlIGgyLFxuLnByb2R1Y3QtbmFtZSBoMSxcbi5wcm9kdWN0LW5hbWUgLmgxIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCbG9jayBNb2R1bGVcbiAqL1xuLyogbGluZSAyMTYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5ibG9jayxcbi5jb2wtbGVmdC1maXJzdCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLyogbGluZSAyMjEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jb2wtbGVmdC1maXJzdCAuYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBsaW5lIDIyNSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJsb2NrLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC8qIGxpbmUgMjMwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5ibG9jay10aXRsZSBoMixcbiAgLmJsb2NrLXRpdGxlIGgzLFxuICAuYmxvY2stdGl0bGUgc3Ryb25nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMzMzk5Q0M7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLyogbGluZSAyMzksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmJsb2NrLXRpdGxlIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogI0EwQTBBMDsgfVxuXG4vKiBsaW5lIDI0Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuYm9keTpub3QoLmN1c3RvbWVyLWFjY291bnQpIC5ibG9jazpmaXJzdC1jaGlsZCAuYmxvY2stdGl0bGUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4vKiBsaW5lIDI1Miwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJsb2NrLXN1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDdweDsgfVxuXG4vKiBsaW5lIDI1Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJsb2NrLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuLyogbGluZSAyNjEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5ibG9jay1jb250ZW50LnVucGFkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBsaW5lIDI2NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJsb2NrLWNvbnRlbnQgbGkuaXRlbSB7XG4gIG1hcmdpbjogMCAwIDEwcHggOXB4OyB9XG5cbi8qIGxpbmUgMjY5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYmxvY2stY29udGVudCBsaS5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgMjczLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYmxvY2sgLmFjdGlvbnMge1xuICBtYXJnaW46IDEwcHggMCAwOyB9XG4gIC8qIGxpbmUgMjc2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5ibG9jayAuYWN0aW9uczphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAyODAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmJsb2NrIC5hY3Rpb25zIGEge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgMjgzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5ibG9jayAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogbGluZSAyOTEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jb2wtbGVmdCAuYmxvY2sgLmFjdGlvbnMgLmJ1dHRvbiB+IGEsXG4uY29sLXJpZ2h0IC5ibG9jayAuYWN0aW9ucyAuYnV0dG9uIH4gYSB7XG4gIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgMzAxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC8qIGxpbmUgMzA0LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLyogbGluZSAzMTEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAgIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUgPiBzdHJvbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNjM2MzYzO1xuICAgICAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQ0NDQ0NDO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgICAgIC8qIGxpbmUgMTEwLCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgICAgIC5zaWRlYmFyIC5ibG9jazpub3QoLmJsb2NrLWxheWVyZWQtbmF2KSAuYmxvY2stdGl0bGUgPiBzdHJvbmc6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMzMzk5Q0M7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAgICAgICAvKiBsaW5lIDExNywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAgICAgICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLXRpdGxlID4gc3Ryb25nOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG4gICAgICAvKiBsaW5lIDMyMCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgICAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZS5hY3RpdmUgPiBzdHJvbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNjM2MzYzO1xuICAgICAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxMHB4IDdweCAyNHB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjQ0NDQ0NDO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cbiAgICAgICAgLyogbGluZSAxMTAsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAgICAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay10aXRsZS5hY3RpdmUgPiBzdHJvbmc6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzMzOTlDQztcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAgICAgICAvKiBsaW5lIDExNywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAgICAgICAuc2lkZWJhciAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikgLmJsb2NrLXRpdGxlLmFjdGl2ZSA+IHN0cm9uZzpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuICAgIC8qIGxpbmUgMzI2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLnNpZGViYXIgLmJsb2NrOm5vdCguYmxvY2stbGF5ZXJlZC1uYXYpIC5ibG9jay1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNDQ0NDQ0M7IH1cbiAgLyogbGluZSAzMzYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnNpZGViYXIgLmJsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0NDQ0M7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWNvbmRhcnkgTmF2aWdhdGlvblxuICovXG4vKiBsaW5lIDM0OCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJsb2NrLWFjY291bnQgLmJsb2NrLXRpdGxlLFxuLmJsb2NrLWNtcy1tZW51IC5ibG9jay10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi8qIGxpbmUgMzUzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYmxvY2stYWNjb3VudCBsaSxcbi5ibG9jay1jbXMtbWVudSBsaSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiA3cHggMDsgfVxuICAvKiBsaW5lIDM1OCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYmxvY2stYWNjb3VudCBsaSBzdHJvbmcsXG4gIC5ibG9jay1jbXMtbWVudSBsaSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMzMzk5Q0M7IH1cbiAgLyogbGluZSAzNjMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmJsb2NrLWFjY291bnQgbGkgYSxcbiAgLmJsb2NrLWNtcy1tZW51IGxpIGEge1xuICAgIGNvbG9yOiAjNjM2MzYzOyB9XG4gICAgLyogbGluZSAzNjYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAuYmxvY2stYWNjb3VudCBsaSBhOmhvdmVyLFxuICAgIC5ibG9jay1jbXMtbWVudSBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzM5OUNDOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJ1dHRvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTZWNvbmRhcnkgQnV0dG9ucyAqL1xuLyogbGluZSAzNzgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jYXJ0IC5idXR0b25zLXNldCAuYnV0dG9uLFxuLmNhcnQtdGFibGUgLmJ1dHRvbixcbi5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b24sXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjREREREREO1xuICBjb2xvcjogIzYzNjM2MztcbiAgcGFkZGluZzogN3B4IDE1cHg7IH1cbiAgLyogbGluZSAzODYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNhcnQgLmJ1dHRvbnMtc2V0IC5idXR0b246aG92ZXIsXG4gIC5jYXJ0LXRhYmxlIC5idXR0b246aG92ZXIsXG4gIC5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b246aG92ZXIsXG4gIC5idXR0b24uYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2QwZDBkMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLyogbGluZSAzOTEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNhcnQgLmJ1dHRvbnMtc2V0IC5idXR0b246YWN0aXZlLFxuICAuY2FydC10YWJsZSAuYnV0dG9uOmFjdGl2ZSxcbiAgLnNpZGViYXIgLmFjdGlvbnMgLmJ1dHRvbjphY3RpdmUsXG4gIC5idXR0b24uYnV0dG9uLXNlY29uZGFyeTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNjNGM0YzQ7XG4gICAgY29sb3I6ICM2MzYzNjM7IH1cbiAgLyogbGluZSAzOTYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNhcnQgLmJ1dHRvbnMtc2V0IC5idXR0b246Zm9jdXMsXG4gIC5jYXJ0LXRhYmxlIC5idXR0b246Zm9jdXMsXG4gIC5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b246Zm9jdXMsXG4gIC5idXR0b24uYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICM2MzYzNjM7XG4gICAgYmFja2dyb3VuZDogI2M0YzRjNDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIGxpbmUgNDAzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uc2lkZWJhciAuYWN0aW9ucyBidXR0b24uYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4vKiBQcmltYXJ5IEJ1dHRvbnMgKi9cbi8qIGxpbmUgNDA5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnV0dG9uLFxuLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5idXR0b24sXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5idXR0b24sXG4uZm9vdGVyIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMzM5OUNDO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDdweCAxNXB4O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAvKiBsaW5lIDQyNywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9uOmhvdmVyLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbjpob3ZlcixcbiAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuYnV0dG9uOmhvdmVyLFxuICAuZm9vdGVyIC5idXR0b246aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAvKiBsaW5lIDQzMCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9uOmFjdGl2ZSxcbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5idXR0b246YWN0aXZlLFxuICAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5idXR0b246YWN0aXZlLFxuICAuZm9vdGVyIC5idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAvKiBsaW5lIDQzMywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9uOmZvY3VzLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbjpmb2N1cyxcbiAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuYnV0dG9uOmZvY3VzLFxuICAuZm9vdGVyIC5idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLyogRGlzYWJsZWQgLSBjbGFzcyBmb3IgYW5jaG9yLCBzdGF0ZSBmb3IgZm9ybSBlbGVtZW50cyAqL1xuLyogbGluZSA0MzksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5idXR0b24uZGlzYWJsZWQsXG4uYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI0M4QzhDODtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qIEFkamFjZW50IGJ1dHRvbnMgKi9cbi8qIGxpbmUgNDQ3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnV0dG9uICsgLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLyogbGluZSA0NjAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5idXR0b24yIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qIGxpbmUgNDY5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnV0dG9uMjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogbGluZSA0NzMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5idXR0b24yIHNwYW4sXG4uYnV0dG9uMiBzcGFuIHNwYW4ge1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzMzOTlDQztcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIC8qIGxpbmUgNDgzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5idXR0b24yIHNwYW46aG92ZXIsXG4gIC5idXR0b24yIHNwYW4gc3Bhbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMjQ2YjhmOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA0OTEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbDItc2V0IC5idXR0b25zLXNldCAuYnV0dG9uLFxuICAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5idXR0b24yIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogbGluZSA0OTgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbDItc2V0IC5idXR0b25zLXNldCAuYmFjay1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNTAxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQgLnJlcXVpcmVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDUwOSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9ucy1zZXQgLmJ1dHRvbiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuICAvKiBsaW5lIDUxNiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDUxOSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9ucy1zZXQgLnJlcXVpcmVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUGF5cGFsIEJ1dHRvblxuICovXG4vKiBsaW5lIDUyOSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBheXBhbC1sb2dvLnBheXBhbC1hZnRlciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgNTMzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGF5cGFsLWFmdGVyIC5wYXlwYWwtb3Ige1xuICBmbG9hdDogbGVmdDsgfVxuXG4vKiBsaW5lIDUzNywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBheXBhbC1vciB7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDBweCAxMHB4IDVweDsgfVxuXG4vKiBsaW5lIDU0Miwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBheXBhbC1hZnRlciAucGF5cGFsLWJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgNTQ2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGF5cGFsLWJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7IH1cblxuLyogbGluZSA1NTAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYXlwYWwtYnV0dG9uIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0MHB4KSB7XG4gIC8qIGxpbmUgNTU1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIC8qIGxpbmUgNTU5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wYXlwYWwtbG9nbyxcbiAgLnBheXBhbC1vcixcbiAgLnBheXBhbC1idXR0b24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCdXR0b24gU2V0c1xuICovXG4vKiBsaW5lIDU3NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJ1dHRvbnMtc2V0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAvKiBsaW5lIDU4MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9ucy1zZXQgcC5yZXF1aXJlZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAvKiBsaW5lIDU4Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLyogbGluZSA1OTQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmJ1dHRvbnMtc2V0IGE6bm90KC5idXR0b24pIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gIC8qIGxpbmUgNTk5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXgtd2lkdGg6IDE0MHB4OyB9XG4gIC8qIGxpbmUgNjA1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5idXR0b25zLXNldDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDYxMiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnV0dG9ucy1zZXQgYnV0dG9uLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSWNvbnNcbiAqL1xuLyogbGluZSA2MjIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5pY29uLXNwcml0ZSwgLmJ0bi1yZW1vdmUyLCAucmF0aW5ncyAucmF0aW5nLWJveCwgLnJhdGluZ3MgLnJhdGluZy1ib3ggLnJhdGluZywgLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLCAuc29ydGVyID4gLnZpZXctbW9kZSAuZ3JpZCxcbi5zb3J0ZXIgPiAudmlldy1tb2RlIC5saXN0LCAuc2tpcC1uYXYgLmljb24sIC5za2lwLXNlYXJjaCAuaWNvbiwgI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YmVmb3JlLCAuYWNjb3VudC1saW5rIC5pY29uLCAuc2tpcC1jYXJ0IC5pY29uLCAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEsIC5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlcjphZnRlciwgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3gsIC5yYXRpbmdzLXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25fc3ByaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiA0IC8gMiksIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gIC8qIGxpbmUgNjI5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5pY29uLXNwcml0ZSwgLmJ0bi1yZW1vdmUyLCAucmF0aW5ncyAucmF0aW5nLWJveCwgLnJhdGluZ3MgLnJhdGluZy1ib3ggLnJhdGluZywgLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLCAuc29ydGVyID4gLnZpZXctbW9kZSAuZ3JpZCxcbiAgLnNvcnRlciA+IC52aWV3LW1vZGUgLmxpc3QsIC5za2lwLW5hdiAuaWNvbiwgLnNraXAtc2VhcmNoIC5pY29uLCAjc2VhcmNoX21pbmlfZm9ybSAuc2VhcmNoLWJ1dHRvbjpiZWZvcmUsIC5hY2NvdW50LWxpbmsgLmljb24sIC5za2lwLWNhcnQgLmljb24sIC5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYSwgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmctbnVtYmVyOmFmdGVyLCAucmF0aW5ncy10YWJsZSAucmF0aW5nLWJveCwgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uX3Nwcml0ZUAyeC5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTAwMHB4OyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnJlYWRjcnVtYnNcbiAqL1xuLyogbGluZSA2MzksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLyogbGluZSA2NDUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5icmVhZGNydW1icyBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIGxpbmUgNjUxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnJlYWRjcnVtYnMgYSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgNjU1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnJlYWRjcnVtYnMgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKiBsaW5lIDY1OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJyZWFkY3J1bWJzIHNwYW4ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCA3cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDY2Niwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCdXR0b24gLSBSZW1vdmUgLyBQcmV2aW91c1xuICovXG4vKiBsaW5lIDY3Niwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJ0bi1yZW1vdmUsXG4uYnRuLXByZXZpb3VzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIEhpZGUgdGV4dCAqL1xuICBmb250OiAwLzAgYTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgNjg5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5idG4tcmVtb3ZlOmhvdmVyLFxuICAuYnRuLXByZXZpb3VzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM5OUNDO1xuICAgIGJvcmRlci1jb2xvcjogIzMzOTlDQzsgfVxuXG4vKiBsaW5lIDY5Niwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJ0bi1yZW1vdmU6YWZ0ZXIge1xuICBjb250ZW50OiAnWCc7XG4gIGNvbG9yOiAjMzM5OUNDO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIGxpbmUgNzA2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnRuLXJlbW92ZTpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogbGluZSA3MTIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5idG4tcmVtb3ZlMiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtNjQ4cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAvKiBsaW5lIDcxOSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnRuLXJlbW92ZTI6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA3MjIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmJ0bi1yZW1vdmUyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgICBvcGFjaXR5OiAwLjg7IH1cblxuLyogbGluZSA3MjksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5idG4tcHJldmlvdXM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMzMzk5Q0M7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICBtYXJnaW4tdG9wOiAtNHB4OyB9XG5cbi8qIGxpbmUgNzM3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnRuLXByZXZpb3VzOmhvdmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuXG4vKiBsaW5lIDc0Niwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgLmJ0bi1yZW1vdmUsXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSAuYnRuLXByZXZpb3VzLFxuLm1pbmktcHJvZHVjdHMtbGlzdCAuYnRuLXJlbW92ZSxcbi5taW5pLXByb2R1Y3RzLWxpc3QgLmJ0bi1wcmV2aW91cyxcbiNjb21wYXJlLWl0ZW1zIC5idG4tcmVtb3ZlLFxuI2NvbXBhcmUtaXRlbXMgLmJ0bi1wcmV2aW91cyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDaGVja291dCBBZ3JlZW1lbnRzXG4gKi9cbi8qIGxpbmUgNzU3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uY2hlY2tvdXQtYWdyZWVtZW50cyBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLyogbGluZSA3NjEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jaGVja291dC1hZ3JlZW1lbnRzIC5hZ3JlZW1lbnQtY29udGVudCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC13aWR0aDogNjcwcHg7XG4gIG1heC1oZWlnaHQ6IDEyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENWViBTZWN1cml0eSBDb2RlXG4gKi9cbi8qIGxpbmUgNzc1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uY3Z2LXdoYXQtaXMtdGhpcyB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENvbnRhaW5lclxuICovXG4vKiBsaW5lIDc4NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1haW4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDE5MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLyogbGluZSA3OTAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLm1haW4tY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDb2x1bW4gTGF5b3V0c1xuICovXG4vKiBsaW5lIDgwMCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1haW46YWZ0ZXIsXG4uY29sLXdyYXBwZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgODA1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uY29sLWxlZnQsXG4uY29sLXJpZ2h0LFxuLmNvbC1tYWluIHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qIGxpbmUgODExLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uY29sLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBSZW1vdmUgdGhlIDE1cHggcGFkZGluZyAqL1xuICBjbGVhcjogbGVmdDsgfVxuICAvKiBsaW5lIDgxNywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sLWxlZnQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA4MjIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jb2wtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovIH1cbiAgLyogbGluZSA4MjcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbC1yaWdodCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDgzMiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmNvbC1tYWluIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3NSU7IH1cblxuLyogbGluZSA4MzgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jb2wxLWxheW91dCAuY29sLW1haW4ge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovIH1cblxuLyogbGluZSA4NDYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi8gfVxuXG4vKiBsaW5lIDg1Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogUmVtb3ZlIHRoZSAxNXB4IHBhZGRpbmcgKi8gfVxuXG4vKiBsaW5lIDg1OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmNvbDMtbGF5b3V0IC5jb2wtcmlnaHQge1xuICB3aWR0aDogMjAuODMzMzMlOyB9XG5cbi8qIGxpbmUgODYzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3OS4xNjY2NyU7IH1cbiAgLyogbGluZSA4NjcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLW1haW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNzMuNjg0MjElOyB9XG4gIC8qIGxpbmUgODcyLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIgLmNvbC1sZWZ0IHtcbiAgICB3aWR0aDogMjYuMzE1NzklOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gIC8qIGxpbmUgODgwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wzLWxheW91dCAuY29sLXJpZ2h0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC8qIGxpbmUgODg4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgODkyLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLW1haW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC8qIGxpbmUgODk3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLWxlZnQge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA5MDUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbC1sZWZ0LFxuICAuY29sLXJpZ2h0LFxuICAuY29sLW1haW4sXG4gIC5jb2wxLWxheW91dCAuY29sLWxlZnQsXG4gIC5jb2wxLWxheW91dCAuY29sLXJpZ2h0LFxuICAuY29sMS1sYXlvdXQgLmNvbC1tYWluLFxuICAuY29sMi1sZWZ0LWxheW91dCAuY29sLWxlZnQsXG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtcmlnaHQsXG4gIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbixcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbGVmdCxcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtcmlnaHQsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4sXG4gIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIgLmNvbC1sZWZ0LFxuICAuY29sMy1sYXlvdXQgLmNvbC1yaWdodCxcbiAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLW1haW4ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBsaW5lIDkyNiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sMy1sYXlvdXQgLmNvbC13cmFwcGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAvKiBsaW5lIDkzMSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sLW1haW4ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC8qIGxpbmUgOTM2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wtbWFpbiAuY29sLWxlZnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogT24gcHJvZHVjdCBsaXN0aW5nIHBhZ2VzLCB0aGUgbGVmdCBjb2x1bW4gZ2V0cyBtb3ZlZCBpbnNpZGUgY29sLW1haW4gb24gc21hbGwgdmlld3BvcnRzICovIH0gfVxuXG4vKiBDb250ZW50IENvbHVtbnMgKi9cbi8qIGxpbmUgOTQzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uY29sMi1zZXQge1xuICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDk0Niwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sMi1zZXQgLmNvbC0xLFxuICAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICAgICAvKiBsaW5lIDk0Niwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgICAgLmNvbDItc2V0IC5jb2wtMSxcbiAgICAgIC5jb2wyLXNldCAuY29sLTIge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLyogbGluZSA5NTYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgOTYxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wyLXNldCAuY29sLTIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAvKiBsaW5lIDk2Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgIC5jb2wyLXNldCAuY29sLTEsXG4gICAgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC8qIGxpbmUgOTc3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wyLXNldCAubmFycm93IHtcbiAgICB3aWR0aDogMzMlOyB9XG4gIC8qIGxpbmUgOTgxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5jb2wyLXNldCAud2lkZSB7XG4gICAgd2lkdGg6IDY1JTsgfVxuICAvKiBsaW5lIDk4NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sMi1zZXQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRvcCBDb250YWluZXJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAvKiBsaW5lIDk5NCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAudG9wLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxOTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAzMHB4OyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR2xvYmFsIFNpdGUgTm90aWNlXG4gKi9cbi8qIGxpbmUgMTAwNSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmdsb2JhbC1zaXRlLW5vdGljZSB7XG4gIGJhY2tncm91bmQ6ICM2NzYxNTc7XG4gIGNvbG9yOiAjRTZFNkU2O1xuICBmb250LXNpemU6IDExcHg7IH1cbiAgLyogbGluZSAxMDEwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5nbG9iYWwtc2l0ZS1ub3RpY2UgLm5vdGljZS1pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDE4NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDExcHg7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogMTQuNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNC41cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RlbW8tbG9nby5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC8qIGxpbmUgMTAyNSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuZ2xvYmFsLXNpdGUtbm90aWNlIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvbW90aW9uYWwgTWVzc2FnZSBCYW5uZXJcbiAqL1xuLyogbGluZSAxMDM0LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucHJvbW8tbXNnIHtcbiAgY29sb3I6ICMzMzk5Q0M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR3JpZFxuICovXG4vKiBsaW5lIDEwNDYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5ncmlkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNZXNzYWdlc1xuICovXG4vKiBsaW5lIDEwNTMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5zdWNjZXNzIHtcbiAgY29sb3I6ICMxMUI0MDA7IH1cblxuLyogbGluZSAxMDU3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uZXJyb3Ige1xuICBjb2xvcjogI0RGMjgwQTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogbGluZSAxMDYyLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ubm90aWNlIHtcbiAgY29sb3I6ICNFMjY3MDM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIE1lc3NhZ2VzXG4gKi9cbi8qIGxpbmUgMTA3MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1lc3NhZ2VzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiBsaW5lIDEwNzUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5tZXNzYWdlcyBsaSBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjBweDtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgZm9udC1zaXplOiAxNXB4OyB9XG5cbi8qIGxpbmUgMTA4Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1lc3NhZ2VzIGxpIGxpOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtNnB4OyB9XG5cbi8qIGxpbmUgMTA4OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1lc3NhZ2VzIC5lcnJvci1tc2cgbGkge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjREYyODBBO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFFQkU3OyB9XG5cbi8qIGxpbmUgMTA5NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1lc3NhZ2VzIC5lcnJvci1tc2cgbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNERjI4MEE7XG4gIGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG4vKiBsaW5lIDEwOTksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5tZXNzYWdlcyAubm90aWNlLW1zZyBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNFMjY3MDM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOUVCRTY7IH1cblxuLyogbGluZSAxMTA1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ubWVzc2FnZXMgLm5vdGljZS1tc2cgbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNFMjY3MDM7XG4gIGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG4vKiBsaW5lIDExMDksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5tZXNzYWdlcyAuc3VjY2Vzcy1tc2cgbGkge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMTFCNDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNUVBOyB9XG5cbi8qIGxpbmUgMTExNSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm1lc3NhZ2VzIC5zdWNjZXNzLW1zZyBsaTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgIzExQjQwMDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTE1cHgpIHtcbiAgLyogbGluZSAxMTIzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5vcmRlci1saXN0LWdyaWQgLmNvbC0xIHtcbiAgICB3aWR0aDogMzAlOyB9XG4gIC8qIGxpbmUgMTEyNywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC8qIGxpbmUgMTEzMiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMyB7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgUG9wdXBcbiAqL1xuLyogbGluZSAxMTQ0LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGFnZS1wb3B1cCB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKiBsaW5lIDExNTAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYWdlLXBvcHVwIGgxIHtcbiAgbWFyZ2luOiAwIDAgMC41ZW07XG4gIGZvbnQtc2l6ZTogMzZweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYXltZW50IE1ldGhvZHNcbiAqL1xuLyogbGluZSAxMTU5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGF5bWVudC1tZXRob2RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKiBsaW5lIDExNjMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYXltZW50LW1ldGhvZHMgZHQge1xuICBwYWRkaW5nOiA1cHggMDsgfVxuXG4vKiBsaW5lIDExNjcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYXltZW50LW1ldGhvZHMgZGQge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4vKiBsaW5lIDExNzEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNXB4IDE1cHggMTVweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuXG4vKiBsaW5lIDExODEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjQ0NDQ0NDO1xuICBib3JkZXItdG9wOiBub25lO1xuICB0b3A6IC0xMXB4O1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qIGxpbmUgMTE4Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgI0Y0RjRGNDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogMzBweDsgfVxuXG4vKiBsaW5lIDExOTMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQbGVhc2UgV2FpdCAoTG9hZGluZyBJbmRpY2F0b3IpXG4gKi9cbi8qIGxpbmUgMTIwMSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBsZWFzZS13YWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiBQcmV2ZW50IHRoZSBsaW5lYnJlYWsgaW4gdGhlIEhUTUwgZnJvbSBjYXVzaW5nIGxheW91dCBpc3N1ZXMgKi8gfVxuICAvKiBsaW5lIDEyMDksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnBsZWFzZS13YWl0IGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDI0cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3RhbmRhcmRcbiAqL1xuLyogbGluZSAxMjIwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucHJpY2UtYm94IHtcbiAgbWFyZ2luOiA3cHggMDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLyogbGluZSAxMjI1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucHJpY2UtYm94IHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgMTIyOSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnByaWNlLW5vdGljZSB7XG4gIGNvbG9yOiAjQTBBMEEwOyB9XG5cbi8qIGxpbmUgMTIzMywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnByaWNlLWJveCAucHJpY2Uge1xuICBjb2xvcjogIzMzOTlDQztcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi8qIGxpbmUgMTIzOCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnByaWNlLWJveCAucHJpY2UsXG4ucHJpY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDEyNDMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgY29sb3I6ICNBMEEwQTA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDEyNDksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2UtbGluayB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBjb2xvcjogIzMzOTlDQztcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIFdlIHdhbnQgdGhpcyB0byBzaG93IG9uIGl0cyBvd24gbGluZSwgb3RoZXJ3aXNlIHRoZSBsYXlvdXQgbG9va3MgZnVua3kgKi8gfVxuICAvKiBsaW5lIDEyNTQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIC5sYWJlbCB7XG4gICAgY29sb3I6ICNBMEEwQTA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3BlY2lhbFxuICovXG4vKiBsaW5lIDEyNjMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wcmljZS1ib3ggLm9sZC1wcmljZSxcbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLyogbGluZSAxMjY3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2UtbGFiZWwsXG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTI3MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLFxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qIGxpbmUgMTI3Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gIGNvbG9yOiAjQTBBMEEwO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuXG4vKiBsaW5lIDEyODMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICBjb2xvcjogIzMzOTlDQztcbiAgcGFkZGluZy1sZWZ0OiAxZW07IH1cbiAgLyogbGluZSAxMjg3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICBjb2xvcjogI0Q4NEQzQzsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmljZSBCb3ggLSBUYXhlc1xuICovXG4vKiBsaW5lIDEyOTYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4ucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogbGluZSAxMzAxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG5zcGFuLndlZWUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaWVyIFByaWNlc1xuICovXG4vKiBsaW5lIDEzMDksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wcm9kdWN0LXByaWNpbmcsXG4udGllci1wcmljZXMsXG4udGllci1wcmljZXMtZ3JvdXBlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZDogI0ZCRjRERTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UyRDRDNztcbiAgbWFyZ2luLXRvcDogN3B4OyB9XG4gIC8qIGxpbmUgMTMxOCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAucHJvZHVjdC1wcmljaW5nIGxpLFxuICAudGllci1wcmljZXMgbGksXG4gIC50aWVyLXByaWNlcy1ncm91cGVkIGxpIHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLyogbGluZSAxMzIxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wcm9kdWN0LXByaWNpbmcgLmJlbmVmaXQsXG4gIC50aWVyLXByaWNlcyAuYmVuZWZpdCxcbiAgLnRpZXItcHJpY2VzLWdyb3VwZWQgLmJlbmVmaXQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAvKiBsaW5lIDEzMjQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnByb2R1Y3QtcHJpY2luZyAucHJpY2UsXG4gIC50aWVyLXByaWNlcyAucHJpY2UsXG4gIC50aWVyLXByaWNlcy1ncm91cGVkIC5wcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSXRlbSBPcHRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAxMzMzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uaXRlbS1vcHRpb25zIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLyogbGluZSAxMzM3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5pdGVtLW9wdGlvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgMTM0MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuaXRlbS1vcHRpb25zIGR0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAvKiBsaW5lIDEzNDgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAuaXRlbS1vcHRpb25zIGR0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6ICc7IH1cbiAgLyogbGluZSAxMzUzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5pdGVtLW9wdGlvbnMgZGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBtYXJnaW46IDAgMCA2cHg7IH1cblxuLyogbGluZSAxMzYwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udHJ1bmNhdGVkLFxuLnRydW5jYXRlZCBhLmRvdHMge1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLyogbGluZSAxMzY1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udHJ1bmNhdGVkIGEuZGV0YWlscyB7XG4gIGN1cnNvcjogaGVscDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAvKiBsaW5lIDEzNzAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnRydW5jYXRlZCBhLmRldGFpbHM6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBsaW5lIDEzNzUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDA7IH1cblxuLyogbGluZSAxMzgwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAzMDA7XG4gIHdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM5OUNDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuICB0b3A6IDIxcHg7XG4gIGxlZnQ6IC0xMDBweDsgfVxuICAvKiBsaW5lIDEzOTEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9uczphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjMzM5OUNDO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgbGVmdDogOTdweDtcbiAgICB0b3A6IC03cHg7IH1cblxuLyogbGluZSAxMzk4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zID4gcCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLyogbGluZSAxNDA0LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udHJ1bmNhdGVkIC5zaG93IC5pdGVtLW9wdGlvbnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMTQxMCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAudHJ1bmNhdGVkIHtcbiAgICBjdXJzb3I6IGluaGVyaXQ7IH1cbiAgICAvKiBsaW5lIDE0MTMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAudHJ1bmNhdGVkIGEuZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAxNDE4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLnRydW5jYXRlZCAudHJ1bmNhdGVkX2Z1bGxfdmFsdWUgLml0ZW0tb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLyogbGluZSAxNDI2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgICAudHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHAge1xuICAgICAgICBmbG9hdDogbm9uZTsgfVxuICAgICAgLyogbGluZSAxNDMwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgICAudHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaW50ZXIgRnJpZW5kbHkgUGFnZVxuICovXG4vKiBsaW5lIDE0NDMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYWdlLXByaW50IHtcbiAgd2lkdGg6IDYuNWluO1xuICBtYXJnaW46IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQWRkIHRvIGxpbmtzXG4gKi9cbi8qIGxpbmUgMTQ1Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmFkZC10by1saW5rcyB7XG4gIG1hcmdpbjogN3B4IDA7IH1cbiAgLyogbGluZSAxNDU2LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5hZGQtdG8tbGlua3MgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDBweCAzcHggM3B4OyB9XG5cbi8qIGxpbmUgMTQ2Miwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmFkZC10by1saW5rcyAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kdWN0IEltYWdlXG4gKi9cbi8qIGxpbmUgMTQ3MCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnByb2R1Y3QtaW1hZ2UsXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpub3QoLnpvb20tYXZhaWxhYmxlKTpob3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFREVERUQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDE0NzgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgYm9keSAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNFREVERUQ7IH0gfVxuXG4vKiBsaW5lIDE0ODMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5uby10b3VjaCAucHJvZHVjdC1pbWFnZTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzMzOTlDQzsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBSYXRpbmdzXG4gKi9cbi8qIGxpbmUgMTQ5MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnJhdGluZ3Mge1xuICBtYXJnaW46IDdweCAwOyB9XG4gIC8qIGxpbmUgMTQ5NCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAucmF0aW5ncyAucmF0aW5nLWJveCxcbiAgLnJhdGluZ3MgLnJhdGluZy1saW5rcyB7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAvKiBsaW5lIDE0OTksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnJhdGluZ3MgLnJhdGluZy1ib3gge1xuICAgIHdpZHRoOiA2NXB4O1xuICAgIGhlaWdodDogMTNweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAvKiBsaW5lIDE1MDcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnJhdGluZ3MgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MDBweDsgfVxuICAvKiBsaW5lIDE1MTQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnJhdGluZ3MgLmFtb3VudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggYXV0bzsgfVxuICAvKiBsaW5lIDE1MjAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnJhdGluZ3MgLnJhdGluZy1saW5rcyAuc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46IDAgM3B4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFN0YW5kYXJkIEZvcm1hdHRlZCBUZXh0IEJsb2NrXG4gKi9cbi8qIGxpbmUgMTUzMCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnN0ZCBwIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07IH1cblxuLyogbGluZSAxNTM0LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uc3RkIG9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbCBvdXRzaWRlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG4vKiBsaW5lIDE1MzksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5zdGQgb2wgbGkge1xuICBtYXJnaW4tbGVmdDogMmVtOyB9XG5cbi8qIGxpbmUgMTU0Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnN0ZCB1bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2Mgb3V0c2lkZTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLyogbGluZSAxNTQ4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uc3RkIHVsIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDJlbTsgfVxuXG4vKiBsaW5lIDE1NTIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5zdGQgLm5vdGUge1xuICBjb2xvcjogI0EwQTBBMDtcbiAgZm9udC1zaXplOiAxM3B4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRhYnNcbiAqL1xuLyogbGluZSAxNTYxLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udGFicyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVG9vbGJhclxuICovXG4vKiBsaW5lIDE1NzAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi50b29sYmFyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBwYWRkaW5nOiA1cHggMTBweCAwcHggMTBweDsgfVxuICAvKiBsaW5lIDE1NzgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnRvb2xiYXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgMTU4Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VyLW5vLXRvb2xiYXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIGxpbmUgMTU4OCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VyLW5vLXRvb2xiYXIgfiAucGFnZXItbm8tdG9vbGJhciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLyogbGluZSAxNTkyLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udG9vbGJhcixcbi5wYWdlciB7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM2MzYzNjM7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLyogbGluZSAxNjAwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4udG9vbGJhciBsYWJlbCxcbi5wYWdlci1uby10b29sYmFyIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDE2MDgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5zb3J0ZXIge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC8qIGxpbmUgMTYxMiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuc29ydGVyIGxhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC8qIGxpbmUgMTYxNiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgIC5zb3J0ZXIgbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG5cbi8qIGxpbmUgMTYyMiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnNvcnRlciA+IC5zb3J0LWJ5IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBoZWlnaHQ6IDMwcHg7IH1cbiAgLyogbGluZSAxNjI3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlciB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAvKiBsaW5lIDE2MzMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnNvcnRlciA+IC5zb3J0LWJ5IC5zb3J0LWJ5LXN3aXRjaGVyLS1hc2Mge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtNTQycHg7IH1cbiAgICAvKiBsaW5lIDE2MzUsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAuc29ydGVyID4gLnNvcnQtYnkgLnNvcnQtYnktc3dpdGNoZXItLWFzYzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDZweCAtNTQycHg7IH1cbiAgLyogbGluZSAxNjM5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC01NjdweDsgfVxuICAgIC8qIGxpbmUgMTY0MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgIC5zb3J0ZXIgPiAuc29ydC1ieSAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDZweCAtNTY3cHg7IH1cblxuLyogbGluZSAxNjQ3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uc29ydGVyID4gLnZpZXctbW9kZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuICAvKiBsaW5lIDE2NTAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnNvcnRlciA+IC52aWV3LW1vZGUgLmdyaWQsXG4gIC5zb3J0ZXIgPiAudmlldy1tb2RlIC5saXN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgLyogbGluZSAxNjU3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5zb3J0ZXIgPiAudmlldy1tb2RlIC5ncmlkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4cHggLTQ5MnB4OyB9XG4gIC8qIGxpbmUgMTY2MSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuc29ydGVyID4gLnZpZXctbW9kZSBzdHJvbmcuZ3JpZCxcbiAgLnNvcnRlciA+IC52aWV3LW1vZGUgYS5ncmlkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtNDkycHg7IH1cbiAgLyogbGluZSAxNjY1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5zb3J0ZXIgPiAudmlldy1tb2RlIC5saXN0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMXB4IC01MTdweDsgfVxuICAvKiBsaW5lIDE2NjksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnNvcnRlciA+IC52aWV3LW1vZGUgc3Ryb25nLmxpc3QsXG4gIC5zb3J0ZXIgPiAudmlldy1tb2RlIGEubGlzdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM5cHggLTUxN3B4OyB9XG5cbi8qIGxpbmUgMTY3NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC8qIGxpbmUgMTY3OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAucGFnZXIgPiAuY291bnQtY29udGFpbmVyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAvKiBsaW5lIDE2ODMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnBhZ2VyIC5hbW91bnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwOyB9XG4gIC8qIGxpbmUgMTY5MCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAucGFnZXIgLmxpbWl0ZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAgIC8qIGxpbmUgMTY5NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgIC5wYWdlciAubGltaXRlciA+IGxhYmVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAgICAgLyogbGluZSAxNjk4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgICAucGFnZXIgLmxpbWl0ZXIgPiBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JzsgfVxuICAvKiBsaW5lIDE3MDQsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnBhZ2VyIC5hbW91bnQsXG4gIC5wYWdlciAubGltaXRlcixcbiAgLnBhZ2VyIC5wYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi8qIGxpbmUgMTcxMiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAvKiBsaW5lIDE3MTcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnBhZ2VzIHN0cm9uZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDE3MjIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYWdlcyBsaSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgMTcyNiwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VzIGEsXG4ucGFnZXMgLmN1cnJlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzMzOTlDQztcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLyogbGluZSAxNzQzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGFnZXMgLmN1cnJlbnQsXG4ucGFnZXMgLmN1cnJlbnQ6aG92ZXIge1xuICBjb2xvcjogIzYzNjM2MztcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgd2lkdGg6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKiBsaW5lIDE3NTIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5wYWdlcyAubmV4dCxcbi5wYWdlcyAucHJldmlvdXMge1xuICBmb250OiAwLzAgYTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDE3NjEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnBhZ2VzIC5uZXh0OmhvdmVyLFxuICAucGFnZXMgLnByZXZpb3VzOmhvdmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzM5OUNDOyB9XG5cbi8qIGxpbmUgMTc2Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VzIC5uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMzM5OUNDO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4OyB9XG5cbi8qIGxpbmUgMTc3NCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VzIC5uZXh0OmhvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMjQ2YjhmO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxuLyogbGluZSAxNzgwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4ucGFnZXMgLnByZXZpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzMzOTlDQztcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4OyB9XG5cbi8qIGxpbmUgMTc4Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2VzIC5wcmV2aW91czpob3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMyNDZiOGY7XG4gIGJvcmRlci1sZWZ0OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSAxNzk1LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wYWdlciAuYW1vdW50LS1oYXMtcGFnZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAxNzk5LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5wYWdlcyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAxODA0LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5saW1pdGVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDE4MTIsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbDEtbGF5b3V0IC5zb3J0ZXIsXG4gIC5jb2wxLWxheW91dCAucGFnZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMTgxNywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sMS1sYXlvdXQgLnBhZ2VyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgMTgyMSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAucGFnZXIgLnBhZ2VzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAvKiBsaW5lIDE4MjYsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgICAuY29sMS1sYXlvdXQgLnBhZ2VyIC5jb3VudC1jb250YWluZXIge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDE4MzgsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLmNvbDItbGVmdC1sYXlvdXQgLnNvcnRlcixcbiAgLmNvbDItbGVmdC1sYXlvdXQgLnBhZ2VyLFxuICAuY29sMi1yaWdodC1sYXlvdXQgLnNvcnRlcixcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5wYWdlcixcbiAgLmNvbDMtbGF5b3V0IC5zb3J0ZXIsXG4gIC5jb2wzLWxheW91dCAucGFnZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMTg0Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuY29sMi1sZWZ0LWxheW91dCAucGFnZXIsXG4gIC5jb2wyLXJpZ2h0LWxheW91dCAucGFnZXIsXG4gIC5jb2wzLWxheW91dCAucGFnZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSAxODQ3LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLnBhZ2VyIC5wYWdlcyxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQgLnBhZ2VyIC5wYWdlcyxcbiAgICAuY29sMy1sYXlvdXQgLnBhZ2VyIC5wYWdlcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSAxODUyLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLnBhZ2VyIC5jb3VudC1jb250YWluZXIsXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5wYWdlciAuY291bnQtY29udGFpbmVyLFxuICAgIC5jb2wzLWxheW91dCAucGFnZXIgLmNvdW50LWNvbnRhaW5lciB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAvKiBsaW5lIDE4NjEsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiAgLnRvb2xiYXIgLnZpZXctbW9kZSA+IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogVGF4IC0gRnVsbCBUYXggU3VtbWFyeVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTg3Mywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuI2NoZWNrb3V0LXJldmlldy10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZSxcbiNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc3VtbWFyeS1jb2xsYXBzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC8qIGxpbmUgMTg3Nywgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSxcbiAgI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIC5zdW1tYXJ5LWNvbGxhcHNlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjMzM5OUNDO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLyogbGluZSAxODgzLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICNjaGVja291dC1yZXZpZXctdGFibGUgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlLFxuICAjc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICMyNDZiOGY7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4vKiBsaW5lIDE4OTMsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbiNjaGVja291dC1yZXZpZXctdGFibGUgLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZTpiZWZvcmUsXG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZTpiZWZvcmUsXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgLnNob3ctZGV0YWlscyAuc3VtbWFyeS1jb2xsYXBzZTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjMzM5OUNDO1xuICBib3JkZXItdG9wOiBub25lO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi8qIGxpbmUgMTg5OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuI2NoZWNrb3V0LXJldmlldy10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSxcbiNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSxcbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSAuc2hvdy1kZXRhaWxzIC5zdW1tYXJ5LWNvbGxhcHNlOmhvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMyNDZiOGY7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLyogbGluZSAxOTExLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2U6YmVmb3JlLCAjc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2U6aG92ZXI6YmVmb3JlIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE1hZ2VudG8gSGVscGVyc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTkyMSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmEtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIGxpbmUgMTkyNSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmEtcmlnaHQsXG4uYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4vKiBsaW5lIDE5MzAsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5uby1kaXNwbGF5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIGxpbmUgMTkzNCwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLm5vYnIsXG4ubm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBsaW5lIDE5MzksIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi53aWR0aC1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDE5NDcsIHNjc3MvY29yZS9fY29tbW9uLnNjc3MgKi9cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaW50IFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTk1NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2UtcHJpbnQgLnByaW50LWhlYWQge1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi8qIGxpbmUgMTk1OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLnBhZ2UtcHJpbnQgLnByaW50LWhlYWQgLmxvZ28ge1xuICBmbG9hdDogbm9uZTtcbiAgbWF4LWhlaWdodDogNTBweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTk2OSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuLmJ0bi1wcmltYXJ5IHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDBweCAzMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gIHBhZGRpbmc6IDVweCAxNXB4OyB9XG4gIC8qIGxpbmUgMTk4NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7IH1cblxuLyogbGluZSAxOTkwLCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4uYnRuLXNlY29uZGFyeSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gIHBhZGRpbmc6IDVweCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgd2lkdGg6IDE0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgMTk5NSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAuYnRuLXNlY29uZGFyeSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxOTk4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gICNjcmVkaXRzLXBvcHVwIHVsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMjAwMSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgICNjcmVkaXRzLXBvcHVwIHVsIGxpID4gaW1nIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAyMDA4LCBzY3NzL2NvcmUvX2NvbW1vbi5zY3NzICovXG4gIC5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC8qIGxpbmUgMjAxMSwgc2Nzcy9jb3JlL19jb21tb24uc2NzcyAqL1xuICAgIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBGT1JNUyAtIENPTU1PTlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEZpZWxkc2V0c1xuICovXG4vKiBsaW5lIDM2LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmZpZWxkc2V0IHAge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cblxuLyogbGluZSA0MCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5maWVsZHNldCBwLnJlcXVpcmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICBtYXJnaW4tdG9wOiAwcHg7IH1cblxuLyogbGluZSA0OSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5maWVsZHNldCArIC5maWVsZHNldCB7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuXG4vKiBsaW5lIDUzLCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuZm9ybSAubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7IH1cblxuLyogbGluZSA2MCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbmZvcm0gLmJ1dHRvbnMtc2V0IHtcbiAgbWF4LXdpZHRoOiA0MDBweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJbnB1dCBCb3hcbiAqL1xuLyogbGluZSA2OCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5pbnB1dC1ib3gge1xuICBwYWRkaW5nLXRvcDogMnB4OyB9XG4gIC8qIGxpbmUgNzEsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gIC5pbnB1dC1ib3g6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgNzcsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG5saS5jZW50aW5lbC1sb2dvcyBkaXYuaW5wdXQtYm94IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKiBGb3IgYWRqYWNlbnQgc2VsZWN0IGlucHV0cy4gKi9cbi8qIEV4YW1wbGU6IGNyZWRpdCBjYXJkIGV4cGlyYXRpb24gbW9udGggYW5kIHllYXIuICovXG4vKiBsaW5lIDg2LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmlucHV0LWJveCAudi1maXgge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBMYWJlbHNcbiAqL1xuLyogbGluZSA5Niwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbmZvcm0gbGFiZWwge1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4vKiBsaW5lIDEwMCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKiBsaW5lIDEwOSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbmxhYmVsLnJlcXVpcmVkOmFmdGVyLFxuc3Bhbi5yZXF1aXJlZDphZnRlciB7XG4gIGNvbnRlbnQ6ICcgKic7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7IH1cblxuLyogbGluZSAxMTksIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG5sYWJlbC5yZXF1aXJlZCBlbSxcbnNwYW4ucmVxdWlyZWQgZW0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEhpbnRzXG4gKi9cbi8qIGxpbmUgMTI4LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmlucHV0LWhpbnQge1xuICBjb2xvcjogI0EwQTBBMDtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlbGVjdFxuICovXG4vKiBsaW5lIDEzNywgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbnNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKiBsaW5lIDE0MSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbnNlbGVjdCArIHNlbGVjdCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLyogbGluZSAxNDUsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgd2lkdGg6IDI3MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzBDMEMwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUZXh0YXJlYVxuICovXG4vKiBsaW5lIDE1Niwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbnRleHRhcmVhIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQ1MHB4O1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXRzXG4gKi9cbi8qIGxpbmUgMTY3LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmlucHV0LXRleHQge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbXMtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtby1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0MwQzBDMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC8qIGxpbmUgMTc0LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuICAuaW5wdXQtdGV4dDpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzOTlDQzsgfVxuXG4vKiBsaW5lIDE3OSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5pbnB1dC10ZXh0LnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjREYyODBBOyB9XG5cbi8qIGxpbmUgMTg0LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmlucHV0LXRleHQudmFsaWRhdGlvbi1mYWlsZWQ6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjZWY5NDg1OyB9XG5cbi8qIGxpbmUgMTg4LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXNlYXJjaF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0ge1xuICBoZWlnaHQ6IDM4cHg7XG4gIHBhZGRpbmc6IDAgOHB4OyB9XG5cbi8qIGxpbmUgMTk4LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXNlYXJjaF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dGV4dF0ge1xuICB3aWR0aDogNDAwcHg7XG4gIGJvcmRlci1jb2xvcjogIzBhMGEwYTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIE9ubHkgc2hvdyBvbiBpUGhvbmVzIChub3QgaVBhZHMgb3IgYW55IG90aGVyIGRldmljZSkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDU2OHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICAvKiBsaW5lIDIxNiwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgaW5wdXRbdHlwZT1lbWFpbF0sXG4gIGlucHV0W3R5cGU9c2VhcmNoXSxcbiAgaW5wdXRbdHlwZT1udW1iZXJdLFxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgaW5wdXRbdHlwZT10ZWxdLFxuICBpbnB1dFt0eXBlPXRleHRdLFxuICBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvKiBQcmV2ZW50IGZyb20gem9vbWluZyBvbiBmb2N1cyAqLyB9IH1cblxuLyogbGluZSAyMjcsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4uaWU4IC5pbnB1dC10ZXh0IHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIElucHV0cyAtIFF1YW50aXR5XG4gKi9cbi8qIGxpbmUgMjM1LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuaW5wdXRbdHlwZT1udW1iZXJdLnF0eSxcbmlucHV0W3R5cGU9dGV4dF0ucXR5IHtcbiAgd2lkdGg6IDNlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsYWNlaG9sZGVyXG4gKi9cbi8qIGxpbmUgMjQ2LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNBMEEwQTA7IH1cblxuLyogbGluZSAyNTAsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG5pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNBMEEwQTA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ2hlY2tib3ggQW5kIFJhZGlvXG4gKi9cbi8qIGxpbmUgMjU4LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmNoZWNrYm94LFxuLnJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBsaW5lIDI2NSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5jaGVja2JveCArIGxhYmVsLFxuLnJhZGlvICsgbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA4NSU7XG4gIHBhZGRpbmc6IDAgMCAwIDhweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFZhbGlkYXRpb25cbiAqL1xuLyogbGluZSAyNzksIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG5wLnJlcXVpcmVkLFxuLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICBjb2xvcjogI0RGMjgwQTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogRm9ybSBMaXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAyOTEsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4uZm9ybS1saXN0IHtcbiAgbWF4LXdpZHRoOiA0MDBweDsgfVxuICAvKiBsaW5lIDI5Mywgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgLmZvcm0tbGlzdCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC8qIGxpbmUgMjk2LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuICAuZm9ybS1saXN0IHNlbGVjdCB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIHdpZHRoOiAzNjVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzMDIsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gIC5mb3JtLWxpc3QgLmlucHV0LXJhbmdlIC5pbnB1dC10ZXh0IHtcbiAgICB3aWR0aDogNzRweDsgfVxuICAvKiBsaW5lIDMwNiwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgLmZvcm0tbGlzdCAuZmllbGQsXG4gIC5mb3JtLWxpc3QgLndpZGUsXG4gIC5mb3JtLWxpc3QgLmNvbnRyb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLyogVHVybiB0aGUgbGFiZWwgb2YgY29udHJvbHMgKHJhZGlvL2NoZWNrYm94KSBpbnRvIGEgYnV0dG9uIHN0eWxlIHRoYXQgd3JhcHMgdGhlIGlucHV0ICovXG4vKiBsaW5lIDMxNCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5mb3JtLWxpc3QgLmNvbnRyb2wsXG4uc3AtbWV0aG9kcyBkdCxcbiNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCxcbiNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCxcbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IHtcbiAgLyogV2hlbiBhIGxhYmVsIGlzIG5leHQgdG8gYW4gaW5wdXQgdGhhdCBpcyBzZXQgdG8gbm90IGRpc3BsYXksIHdlIHNob3VsZCBzdHlsZSB0aGUgbGFiZWwgaW4gYSBub24tY2xpY2thYmxlIHN0YXRlICovIH1cbiAgLyogbGluZSAzMjAsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gIC5mb3JtLWxpc3QgLmNvbnRyb2wgZGl2LmlucHV0LWJveCxcbiAgLnNwLW1ldGhvZHMgZHQgZGl2LmlucHV0LWJveCxcbiAgI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIGRpdi5pbnB1dC1ib3gsXG4gICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBkaXYuaW5wdXQtYm94LFxuICAucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBkaXYuaW5wdXQtYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDMyNCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgICAuZm9ybS1saXN0IC5jb250cm9sIGRpdi5pbnB1dC1ib3g6YWZ0ZXIsXG4gICAgLnNwLW1ldGhvZHMgZHQgZGl2LmlucHV0LWJveDphZnRlcixcbiAgICAjY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgZGl2LmlucHV0LWJveDphZnRlcixcbiAgICAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgZGl2LmlucHV0LWJveDphZnRlcixcbiAgICAucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBkaXYuaW5wdXQtYm94OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAzMjksIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gIC5mb3JtLWxpc3QgLmNvbnRyb2wgaW5wdXQucmFkaW8sXG4gIC5mb3JtLWxpc3QgLmNvbnRyb2wgaW5wdXQuY2hlY2tib3gsXG4gIC5zcC1tZXRob2RzIGR0IGlucHV0LnJhZGlvLFxuICAuc3AtbWV0aG9kcyBkdCBpbnB1dC5jaGVja2JveCxcbiAgI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIGlucHV0LnJhZGlvLFxuICAjY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgaW5wdXQuY2hlY2tib3gsXG4gICNjby1zaGlwcGluZy1tZXRob2QtZm9ybSAuc3AtbWV0aG9kcyBkZCBpbnB1dC5yYWRpbyxcbiAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGlucHV0LmNoZWNrYm94LFxuICAucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBpbnB1dC5yYWRpbyxcbiAgLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgaW5wdXQuY2hlY2tib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gICAgbWFyZ2luLXRvcDogMTRweDsgfVxuICAvKiBsaW5lIDMzNywgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbCxcbiAgLnNwLW1ldGhvZHMgZHQgbGFiZWwsXG4gICNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCBsYWJlbCxcbiAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGxhYmVsLFxuICAucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsYWJlbCB7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4IDZweCAyMHB4OyB9XG4gICAgLyogbGluZSAzNDYsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gICAgLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbDpob3ZlcixcbiAgICAuc3AtbWV0aG9kcyBkdCBsYWJlbDpob3ZlcixcbiAgICAjY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQgbGFiZWw6aG92ZXIsXG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIGxhYmVsOmhvdmVyLFxuICAgIC5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC8qIGxpbmUgMzUyLCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuICAuZm9ybS1saXN0IC5jb250cm9sIC5uby1kaXNwbGF5ICsgbGFiZWwsXG4gIC5zcC1tZXRob2RzIGR0IC5uby1kaXNwbGF5ICsgbGFiZWwsXG4gICNjaGVja291dC1zaGlwcGluZy1tZXRob2QtbG9hZCAuc3AtbWV0aG9kcyBkZCAubm8tZGlzcGxheSArIGxhYmVsLFxuICAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgLm5vLWRpc3BsYXkgKyBsYWJlbCxcbiAgLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgLm5vLWRpc3BsYXkgKyBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAzNTYsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gICAgLmZvcm0tbGlzdCAuY29udHJvbCAubm8tZGlzcGxheSArIGxhYmVsOmhvdmVyLFxuICAgIC5zcC1tZXRob2RzIGR0IC5uby1kaXNwbGF5ICsgbGFiZWw6aG92ZXIsXG4gICAgI2NoZWNrb3V0LXNoaXBwaW5nLW1ldGhvZC1sb2FkIC5zcC1tZXRob2RzIGRkIC5uby1kaXNwbGF5ICsgbGFiZWw6aG92ZXIsXG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5zcC1tZXRob2RzIGRkIC5uby1kaXNwbGF5ICsgbGFiZWw6aG92ZXIsXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgLm5vLWRpc3BsYXkgKyBsYWJlbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBsaW5lIDM2Mywgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxhYmVsLFxuLmNvbDItc2V0IC5mb3JtLWxpc3QgLmNvbnRyb2wgbGFiZWwge1xuICBtaW4td2lkdGg6IGluaGVyaXQ7XG4gIHdpZHRoOiAyNTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgMzcxLCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLmZvcm0tbGlzdCAuY29udHJvbC5yZW1lbWJlci1tZS1ib3ggbGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IGluaGVyaXQ7IH1cblxuLyogbGluZSAzNzgsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4uZm9ybS1saXN0IC5jb250cm9sIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAvKiBsaW5lIDM4MSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgLmZvcm0tbGlzdCAuY29udHJvbCBsYWJlbCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAvKiBsaW5lIDM4Niwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgLmZvcm0tbGlzdCAuY29udHJvbCAucmFkaW8sXG4gIC5mb3JtLWxpc3QgLmNvbnRyb2wgLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfVxuICAvKiBsaW5lIDM5MCwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbiAgLmZvcm0tbGlzdCAuY29udHJvbCAuaW5wdXQtYm94IHtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDsgfVxuXG4vKiBsaW5lIDM5OSwgc2Nzcy9jb3JlL19mb3JtLnNjc3MgKi9cbmZvcm0gLmZvcm0taW5zdHJ1Y3Rpb25zIHtcbiAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlbGVjdCAyXG4gKi9cbi8qIGxpbmUgNDExLCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAzOHB4OyB9XG4gIC8qIGxpbmUgNDE0LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC8qIGxpbmUgNDE5LCBzY3NzL2NvcmUvX2Zvcm0uc2NzcyAqL1xuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgaGVpZ2h0OiAzOHB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA0MzAsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9cGFzc3dvcmRdLCBpbnB1dFt0eXBlPXRlbF0sIGlucHV0W3R5cGU9ZmF4XSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSA0MzMsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4gIC5mb3JtLWxpc3Qge1xuICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIElubGluZSBSYWRpbyBCb3hcbiAqL1xuLyogbGluZSA0NDQsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4ucmFkaW8tYm94LmlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLyogbGluZSA0NDksIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4ucmFkaW8tYm94IC5yYWRpby1idXR0b24ge1xuICBmbGV4LWJhc2lzOiA1MCU7IH1cblxuLyogbGluZSA0NTIsIHNjc3MvY29yZS9fZm9ybS5zY3NzICovXG4ucmFkaW8tYm94IC5yYWRpby1idXR0b24gbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWJsZSBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4uaGlkZS10aCB7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIERhdGEgVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDM4LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbi50YWJsZS1jYXB0aW9uIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIGxpbmUgNDQsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuLmRhdGEtdGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDQ4LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbi5kYXRhLXRhYmxlIHRkLFxuLmRhdGEtdGFibGUgdGgge1xuICBwYWRkaW5nOiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi8qIGxpbmUgNTQsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuLmRhdGEtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDExcHg7IH1cblxuLyogbGluZSA2Mywgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4uZGF0YS10YWJsZSB0aGVhZCB0aCxcbi5kYXRhLXRhYmxlIHRib2R5IHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3MDcwNzA7IH1cblxuLyogbGluZSA2OCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCxcbi5kYXRhLXRhYmxlIHRmb290IHRkIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTFweDsgfVxuXG4vKiBsaW5lIDgwLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbi5kYXRhLXRhYmxlIHRib2R5IHRkIC5pdGVtLW9wdGlvbnMge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAvKiBsaW5lIDg0LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgLmRhdGEtdGFibGUgdGJvZHkgdGQgLml0ZW0tb3B0aW9ucyBkdDphZnRlciB7XG4gICAgY29udGVudDogJzonOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdlbmVyaWMgSW5mbyBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgOTMsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuLmluZm8tYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC8qIGxpbmUgOTgsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAuaW5mby1ib3ggaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4vKiBsaW5lIDEwNCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4uaW5mby10YWJsZSB0aCxcbi5pbmZvLXRhYmxlIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBsaW5lIDEwOSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4uaW5mby10YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA0cHggMjBweCA0cHggMDsgfVxuXG4vKiBsaW5lIDExNCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4uaW5mby10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDRweCAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFplYnJhLVN0cmlwZSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTIzLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbi56ZWJyYS10YWJsZSB0cjpmaXJzdC1jaGlsZCxcbi56ZWJyYS10YWJsZSB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNzA3MDcwOyB9XG5cbi8qIGxpbmUgMTI4LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbi56ZWJyYS10YWJsZSB0ZCxcbi56ZWJyYS10YWJsZSB0aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzA3MDcwO1xuICBwYWRkaW5nOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIGxpbmUgMTM1LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbi56ZWJyYS10YWJsZSB0ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUVERUQ7IH1cblxuLyogbGluZSAxMzksIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuLnplYnJhLXRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjdGNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMaW5lYXJpemUgVGFibGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMjUwLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgLmxpbmVhcml6ZS10YWJsZSB7XG4gICAgLyogSGVscGVycyAqLyB9XG4gICAgLyogbGluZSAxNTAsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdHIsXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0aCxcbiAgICAubGluZWFyaXplLXRhYmxlIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLyogbGluZSAxNTYsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGhlYWQgdGgge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAvKiBsaW5lIDE2MSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0aGVhZCB0aC5saW4taGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAxNjUsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGhlYWQgdGg6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDE2OSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQzsgfVxuICAgIC8qIGxpbmUgMTc0LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCA0cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLyogbGluZSAxODAsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGQubGluLWhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgMTg0LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLyogbGluZSAxODgsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCBoMyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC8qIGxpbmUgMTkzLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgLyogbGluZSAxOTgsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLWxhYmVsKSBcIjpcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDIwNiwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0Zm9vdCB0ciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLyogbGluZSAyMTEsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdHI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSAyMTUsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUgdGZvb3QgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC8qIGxpbmUgMjIwLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlIHRmb290IHRkLmxpbi1oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDIyNCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0Zm9vdCB0ZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAvKiBsaW5lIDIyOSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZSB0Zm9vdCB0ZDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAvKiBsaW5lIDIzNiwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZSAubGluZWFyaXplLWhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgMjQwLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtdW5wYWQge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC8qIGxpbmUgMjQ0LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlIC5saW5lYXJpemUtc2hvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLyogbGluZSAyNTYsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHtcbiAgICAvKiBIZWxwZXJzICovIH1cbiAgICAvKiBsaW5lIDE1MCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0cixcbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRoLFxuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvKiBsaW5lIDE1Niwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0aGVhZCB0aCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMTYxLCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRoZWFkIHRoLmxpbi1oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDE2NSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0aGVhZCB0aDpudGgtY2hpbGQoMW4rMikge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgMTY5LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDOyB9XG4gICAgLyogbGluZSAxNzQsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdGQge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDRweDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAvKiBsaW5lIDE4MCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZC5saW4taGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAxODQsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAvKiBsaW5lIDE4OCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCxcbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRib2R5IHRkOmZpcnN0LWNoaWxkIGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLyogbGluZSAxOTMsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGJvZHkgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICAvKiBsaW5lIDE5OCwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtbGFiZWwpIFwiOlwiO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC8qIGxpbmUgMjA2LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAvKiBsaW5lIDIxMSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Zm9vdCB0cjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAvKiBsaW5lIDIxNSwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gICAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZSB0Zm9vdCB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLyogbGluZSAyMjAsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgdGZvb3QgdGQubGluLWhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgMjI0LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRkOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgd2lkdGg6IDYwJTsgfVxuICAgIC8qIGxpbmUgMjI5LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHRmb290IHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgIC8qIGxpbmUgMjM2LCBzY3NzL2NvcmUvX3RhYmxlLnNjc3MgKi9cbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIC5saW5lYXJpemUtaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAyNDAsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgLmxpbmVhcml6ZS11bnBhZCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLyogbGluZSAyNDQsIHNjc3MvY29yZS9fdGFibGUuc2NzcyAqL1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UgLmxpbmVhcml6ZS1zaG93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAvKiBsaW5lIDI2Miwgc2Nzcy9jb3JlL190YWJsZS5zY3NzICovXG4gIC5saW5lYXJpemUtdGFibGUgLmxpbmVhcml6ZS1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdsb2JhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvbGF5b3V0L19nbG9iYWwuc2NzcyAqL1xuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLyogbGluZSAzNCwgc2Nzcy9sYXlvdXQvX2dsb2JhbC5zY3NzICovXG4gIGh0bWwucG9wdXBvcGVuLFxuICBib2R5LnBvcHVwb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBsaW5lIDM5LCBzY3NzL2xheW91dC9fZ2xvYmFsLnNjc3MgKi9cbi53cmFwcGVyIHtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cblxuLyogbGluZSA0Niwgc2Nzcy9sYXlvdXQvX2dsb2JhbC5zY3NzICovXG4ud3JhcHBlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyIC0gQ3VzdG9tIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDM0LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7IH1cblxuLyogbGluZSA0MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4ucGFnZS1oZWFkZXItY29udGFpbmVyICNoZWFkZXItbmF2IC5hc3Npc3RhbmNlLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA0NSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4ucGFnZS1oZWFkZXItY29udGFpbmVyICNoZWFkZXItYXNzaXN0YW5jZSB7XG4gIG1hcmdpbi10b3A6IDI2cHg7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLyogbGluZSA0OSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1hc3Npc3RhbmNlIGEge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLyogbGluZSA1Niwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1hc3Npc3RhbmNlIC5hc3Npc3RhbmNlLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogMTNweDsgfVxuICAgIC8qIGxpbmUgNjUsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1hc3Npc3RhbmNlIC5hc3Npc3RhbmNlLWNvbnRlbnQgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgcGFkZGluZzogMHB4IDEwcHggMTBweDsgfVxuICAgICAgLyogbGluZSA3MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyICNoZWFkZXItYXNzaXN0YW5jZSAuYXNzaXN0YW5jZS1jb250ZW50IHVsOmxhc3QtY2hpbGQge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAgICAgICAvKiBsaW5lIDc0LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLWFzc2lzdGFuY2UgLmFzc2lzdGFuY2UtY29udGVudCB1bDpsYXN0LWNoaWxkIGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgIC8qIGxpbmUgNzksIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLWFzc2lzdGFuY2UgLmFzc2lzdGFuY2UtY29udGVudCB1bCBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjsgfVxuICAgICAgLyogbGluZSA4NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyICNoZWFkZXItYXNzaXN0YW5jZSAuYXNzaXN0YW5jZS1jb250ZW50IHVsIGxpIC5jaGF0LWxpbmssIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1hc3Npc3RhbmNlIC5hc3Npc3RhbmNlLWNvbnRlbnQgdWwgbGkgc3BhbiB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBsaW5lIDk2LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLWFzc2lzdGFuY2Uge1xuICAgIGFsaWduLXNlbGY6IHVuc2V0O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDEwOSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMTNweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgei1pbmRleDogOTk5O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogbGluZSAxMjcsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC8qIGxpbmUgMTMyLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxOTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4vKiBsaW5lIDE0Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4uaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lcixcbi5wYWdlLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYW5ndWFnZSBzd2l0Y2hlciArIHdlbGNvbWUgbWVzc2FnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTUxLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzk5Q0M7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSAxNTYsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAuaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgLmhlYWRlci1sYW5ndWFnZS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTg0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDE2Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAxNjYsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAuaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgLmZvcm0tbGFuZ3VhZ2UsXG4gIC5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCAuY3VycmVuY3ktc3dpdGNoZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAvKiBsaW5lIDE3Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCAud2VsY29tZS1tc2cge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4vKiBsaW5lIDE3Nywgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4ucGFnZS1oZWFkZXItY29udGFpbmVyIC5zdG9yZS1sYW5ndWFnZS1jb250YWluZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1heC13aWR0aDogMzUlO1xuICBwYWRkaW5nOiAxM3B4IDE1cHggMTBweCAxMHB4OyB9XG4gIC8qIGxpbmUgMTgyLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTg1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSAxOTEsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5zdG9yZS1sYW5ndWFnZS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cbiAgICAvKiBsaW5lIDE5NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc3RvcmUtbGFuZ3VhZ2UtY29udGFpbmVyIHNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuXG4vKiBsaW5lIDIwMSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQsXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQgYSB7XG4gIGNvbG9yOiAjRTZFNkU2OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAyMDgsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAuaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMb2dvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAyMTgsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLmxvZ28tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDI1MHB4OyB9XG4gIC8qIGxpbmUgMjIzLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLmxvZ28tY29udGFpbmVyIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMnB4IDEwcHggMHB4IDBweDsgfVxuICAgIC8qIGxpbmUgMjMyLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAubG9nby1jb250YWluZXIgLmxvZ28gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjMwcHg7IH1cbiAgICAvKiBsaW5lIDIzNiwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLmxvZ28tY29udGFpbmVyIC5sb2dvIC5zbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1pbi13aWR0aDogMTc1cHg7IH1cbiAgICAvKiBsaW5lIDI0MCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLmxvZ28tY29udGFpbmVyIC5sb2dvIC5sYXJnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMjQ1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLmxvZ28tY29udGFpbmVyIC5sb2dvOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLyogbGluZSAyNDksIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAubG9nby1jb250YWluZXIgLnZlcnNpb24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC8qIGxpbmUgMjcwLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLmxvZ28tY29udGFpbmVyIC5sb2dvIHtcbiAgICBwYWRkaW5nOiAzMnB4IDEwcHggMHB4IDBweDsgfVxuICAgIC8qIGxpbmUgMjczLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAubG9nby1jb250YWluZXIgLmxvZ28gLnNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDI3Nywgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLmxvZ28tY29udGFpbmVyIC5sb2dvIC5sYXJnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIGxpbmUgMjg3LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLmxvZ28tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTa2lwIExpbmtzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAyOTcsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLnNraXAtbGlua3MsIC5hY2NvdW50LWxpbmsge1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC8qIGxpbmUgMzA4LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnNraXAtbGlua3Mge1xuICAgIGJvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIGxpbmUgMzE1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnNraXAtbGlua3Mge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIC0gTGlua1xuICovXG4vKiBsaW5lIDMyNCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4uc2tpcC1saW5rLCAuYWNjb3VudC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiA0NHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzYzNjM2MztcbiAgbGluZS1oZWlnaHQ6IDQycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDMzNSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG5hLnNraXAtbGluaywgYS5hY2NvdW50LWxpbmsge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtc2l6ZTogMTFweDsgfVxuXG4vKiBsaW5lIDM0NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4uc2tpcC1saW5rOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAzNTYsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAuc2tpcC1saW5rOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgLyogbGluZSAzNjYsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAuc2tpcC1saW5rLCAuYWNjb3VudC1saW5rIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWN0aXZlXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAzNzcsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAvKiBsaW5lIDM4Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5za2lwLWxpbmsuc2tpcC1hY3RpdmUgc3BhbiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBJY29uXG4gKi9cbi8qIGxpbmUgMzkyLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbi5za2lwLWxpbmsgLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogbGluZSAzOTksIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLnNraXAtbGluay5za2lwLW5hdiAuaWNvbixcbi5za2lwLWxpbmsuc2tpcC1jYXJ0Om5vdCgubm8tY291bnQpIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAvKiBsaW5lIDQwNiwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5za2lwLWxpbmsgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogM3B4OyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gTGFiZWxcbiAqL1xuLyogbGluZSA0MTcsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLnNraXAtbGluayAubGFiZWwsIC5hY2NvdW50LWxpbmsgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAvKiBsaW5lIDQyOSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5za2lwLWxpbmsgLmxhYmVsLCAuYWNjb3VudC1saW5rIC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA0NDAsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLnNraXAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA0NDQsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuLnNraXAtY29udGVudC5za2lwLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdsb2JhbCBIZWFkZXIgTmF2aWdhdGlvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA0NTcsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAjaGVhZGVyLWFjY291bnQgbGkgYSxcbiAgLm5hdi1wcmltYXJ5IGEubGV2ZWwwIHtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAyNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAvKiBsaW5lIDQ2OCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICNoZWFkZXItYWNjb3VudCBsaTpsYXN0LWNoaWxkIGEsXG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDA6bGFzdC1jaGlsZCBhLmxldmVsMCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDQ3Mywgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5uby10b3VjaCAjaGVhZGVyLWFjY291bnQgYTpob3ZlcixcbiAgLm5vLXRvdWNoIC5uYXYtcHJpbWFyeSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAvKiBsaW5lIDQ3OCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLmFjY291bnQtY2FydC13cmFwcGVyIC5oZWFkZXItbWluaWNhcnQgI2hlYWRlci1jYXJ0LmJsb2NrLWNhcnQuc2tpcC1hY3RpdmUge1xuICAgIHRvcDogNjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgNDg2LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5za2lwLWxpbmtzIC5hY2NvdW50LWNhcnQtd3JhcHBlciAuaGVhZGVyLW1pbmljYXJ0ICNoZWFkZXItY2FydC5ibG9jay1jYXJ0LnNraXAtYWN0aXZlIC5taW5pY2FydC1ib3R0b20tYmxvY2sge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiBsaW5lIDQ5NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4uYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC8qIGxpbmUgNTAxLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLmFjY291bnQtY2FydC13cmFwcGVyLmNhcnQtb3BlbmVkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAgIC8qIGxpbmUgNDk0LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAuYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSA1MTEsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAubG9nby1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNTVweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC8qIGxpbmUgNTE5LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgI2hlYWRlci1uYXYgI25hdiAubmF2LXByaW1hcnkge1xuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7IH1cbiAgICAvKiBsaW5lIDUyMSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgI2hlYWRlci1uYXYgI25hdiAubmF2LXByaW1hcnkgYS5sZXZlbDAge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciBtb2JpbGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDUzNCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4uc2tpcC1saW5rLnNraXAtbmF2IC5pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lbnUtaWNvbi5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICB3aWR0aDogMTVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAvKiBsaW5lIDU0Mywgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG4gICAgLyogbGluZSA1NDYsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYge1xuICAgICAgd2lkdGg6IDcxJTsgfVxuICAgICAgLyogbGluZSA1NDgsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiAjbmF2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDU1Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLyogbGluZSA1NTQsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLyogbGluZSA1NTgsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1hc3Npc3RhbmNlIHtcbiAgICAgIGZsZXgtZ3JvdzogdW5zZXQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgNTY1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnNob3ctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDU2OCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5oaWRlLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDU3MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gIC5wYWdlLWhlYWRlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgIC8qIGxpbmUgNTc1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgLyogbGluZSA1NzgsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1hc3Npc3RhbmNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDU4MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTg0LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5zZWFyY2gtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAvKiBsaW5lIDU4Niwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5zZWFyY2gtbW9iaWxlIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC1pY29uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLyogbGluZSA1OTQsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3Mge1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLyogbGluZSA1OTksIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuc2tpcC1saW5rLCAucGFnZS1oZWFkZXItY29udGFpbmVyIC5za2lwLWxpbmtzIC5hY2NvdW50LWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiB1bnNldDsgfVxuICAgICAgICAvKiBsaW5lIDYwNCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtbGluayAubGFiZWwsIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLmFjY291bnQtbGluayAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgICAvKiBsaW5lIDYwNywgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtbGluayAuaWNvbiwgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuYWNjb3VudC1saW5rIC5pY29uIHtcbiAgICAgICAgICBoZWlnaHQ6IDIzcHg7IH1cbiAgICAgIC8qIGxpbmUgNjExLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtY2FydCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxM3B4OyB9XG4gICAgICAgIC8qIGxpbmUgNjE0LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuc2tpcC1jYXJ0IC5jb3VudCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICAvKiBsaW5lIDYyNSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5za2lwLWxpbmtzIC5hY2NvdW50LWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAvKiBsaW5lIDYyOCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5za2lwLWxpbmtzIC5hY2NvdW50LWNhcnQtd3JhcHBlciB7XG4gICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAgIC8qIGxpbmUgNjMxLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuYWNjb3VudC1jYXJ0LXdyYXBwZXIgLmhlYWRlci1taW5pY2FydCAuYmxvY2stY2FydC5za2lwLWFjdGl2ZSB7XG4gICAgICAgICAgdG9wOiA2MHB4OyB9XG4gICAgICAgICAgLyogbGluZSA2NDAsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLmFjY291bnQtY2FydC13cmFwcGVyIC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQuc2tpcC1hY3RpdmUgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgICAgIC8qIGxpbmUgNjQ3LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5za2lwLWxpbmtzIC5hY2NvdW50LWNhcnQtd3JhcHBlciAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1jYXJ0LnNraXAtYWN0aXZlIC5pdGVtLW9wdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAvKiBsaW5lIDY1Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLmFjY291bnQtY2FydC13cmFwcGVyIC5hY2NvdW50LWxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgNjU2LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtbmF2IHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHdpZHRoOiB1bnNldDsgfVxuICAgICAgICAvKiBsaW5lIDY1OSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtbmF2LnNraXAtYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UtaWNvbi5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgIHdpZHRoOiAxNXB4OyB9XG4gICAgICAgICAgLyogbGluZSA2NjcsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtbmF2LnNraXAtYWN0aXZlIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgNjcyLCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnNraXAtbGlua3MgLnNraXAtc2VhcmNoIHtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAvKiBsaW5lIDY3Niwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgdG9wOiA2MHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAgICAgLyogbGluZSA2ODksIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiAjbmF2IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICAgICAgLyogbGluZSA2OTEsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyICNoZWFkZXItbmF2ICNuYXYgLm5hdi1wcmltYXJ5IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgLyogbGluZSA2OTMsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgI25hdiAubmF2LXByaW1hcnkgbGkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIC8qIGxpbmUgNjk1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgI25hdiAubmF2LXByaW1hcnkgbGkgYS5sZXZlbDAge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjsgfVxuICAgICAgLyogbGluZSA3MDMsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiAuYXNzaXN0YW5jZS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgICAgICAgLyogbGluZSA3MDgsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAucGFnZS1oZWFkZXItY29udGFpbmVyICNoZWFkZXItbmF2IC5hc3Npc3RhbmNlLW1vYmlsZSAubGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgICAvKiBsaW5lIDcxMSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIHVsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgICAgICAgLyogbGluZSA3MTMsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIHVsIGxpIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAgICAgICAgICAgLyogbGluZSA3MjIsIHNjc3MvbGF5b3V0L19oZWFkZXIuc2NzcyAqL1xuICAgICAgICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiAuYXNzaXN0YW5jZS1tb2JpbGUgdWwgbGkuYXNzaXN0YW5jZS1saW5rIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwYTBhMGE7IH1cbiAgICAgICAgICAgIC8qIGxpbmUgNzI2LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgICAgICAvKiBsaW5lIDczMSwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAvKiBsaW5lIDczNCwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiAuYXNzaXN0YW5jZS1tb2JpbGUgLmZvb3Rlcl9fcmlnaHQtc3RvcmVzd2l0Y2ggdWwge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICAgIC8qIGxpbmUgNzM5LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHVsIGxpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgICAvKiBsaW5lIDc0Mywgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yOyB9XG4gICAgICAgICAgICAgIC8qIGxpbmUgNzQ3LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgICAgICAgICAgICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAjaGVhZGVyLW5hdiAuYXNzaXN0YW5jZS1tb2JpbGUgLmZvb3Rlcl9fcmlnaHQtc3RvcmVzd2l0Y2ggdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVlbTsgfVxuICAgICAgICAgICAgICAvKiBsaW5lIDc1Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci5zY3NzICovXG4gICAgICAgICAgICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgI2hlYWRlci1uYXYgLmFzc2lzdGFuY2UtbW9iaWxlIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41ZW07IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgNzY1LCBzY3NzL2xheW91dC9faGVhZGVyLnNjc3MgKi9cbiAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuYWNjb3VudC1jYXJ0LXdyYXBwZXIgLmhlYWRlci1taW5pY2FydCAuYmxvY2stY2FydC5za2lwLWFjdGl2ZSAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiAtIEN1c3RvbSBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMxLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4jaGVhZGVyLW5hdiAjbmF2IHtcbiAgd2lkdGg6IDg1JTsgfVxuICAvKiBsaW5lIDMzLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICNoZWFkZXItbmF2ICNuYXYgLm5hdi1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgNDAsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgICAjaGVhZGVyLW5hdiAjbmF2IC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAuZmlyc3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gICAgICAvKiBsaW5lIDQyLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICAgICAjaGVhZGVyLW5hdiAjbmF2IC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAuZmlyc3QgYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiAtIFNraXAgTGlua1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgNTQsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbi5za2lwLW5hdiB7XG4gIHdpZHRoOiA0MCU7IH1cbiAgLyogbGluZSA1Nywgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAuc2tpcC1uYXY6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBsaW5lIDY2LCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4uc2tpcC1uYXYgLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi8qIGxpbmUgNzAsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbi5za2lwLW5hdiAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCA0cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAvKiBsaW5lIDc5LCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gIC5za2lwLW5hdiB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgLyogbGluZSA4OSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAuc2tpcC1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOYXYgLSBTa2lwIENvbnRlbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgMTAxLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICNoZWFkZXItbmF2IHtcbiAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgLyogbGluZSAxMTEsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgI2hlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIEZvcmNlIHZpc2liaWxpdHkgKi8gfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiBQcmltYXJ5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkge1xuICAvKiBsaW5lIDEyMywgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAubmF2LXByaW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHZW5lcmFsIE5hdmlnYXRpb24gU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAxMzcsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbi5uYXYtcHJpbWFyeSBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM2MzYzNjM7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDE0Niwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuLm5hdi1wcmltYXJ5IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIGxpbmUgMTUwLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4ubmF2LXByaW1hcnkgbGkubGV2ZWwxIGEge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQzsgfVxuXG4vKiBsaW5lIDE1Niwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuLm5hdi1wcmltYXJ5IC5tZW51LWFjdGl2ZSA+IHVsLmxldmVsMCxcbi5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgbGkuc3ViLW1lbnUtYWN0aXZlID4gdWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBsaW5lIDE2MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuLm5hdi1wcmltYXJ5IGxpLmxldmVsMCA+IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTbWFsbCBWaWV3cG9ydHMgLSBBY2NvcmRpb24gU3R5bGUgTWVudVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSAxNzcsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgLm5hdi1wcmltYXJ5IGEubGV2ZWwwLFxuICAubmF2LXByaW1hcnkgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7IH1cbiAgLyogbGluZSAxODMsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDE4OCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG4gIC8qIGxpbmUgMTkyLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDEgYSB7XG4gICAgcGFkZGluZzogMCAxNXB4IDAgMjVweDsgfVxuICAvKiBsaW5lIDIwNSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAubmF2LXByaW1hcnkgbGkucGFyZW50LnN1Yi1tZW51LWFjdGl2ZSA+IGE6YWZ0ZXIsXG4gIC5uYXYtcHJpbWFyeSBsaS5wYXJlbnQubWVudS1hY3RpdmUgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cbiAgLyogbGluZSAyMTQsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgLm5hdi1wcmltYXJ5IGxpLm1lbnUtYWN0aXZlID4gYSxcbiAgLm5hdi1wcmltYXJ5IGxpLnN1Yi1tZW51LWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjMzM5OUNDOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGFyZ2UgVmlld3BvcnRzIC0gRHJvcGRvd24gTWVudVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLyogbGluZSAyMjcsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgLm5hdi1wcmltYXJ5IHtcbiAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgMSsgZHJvcC1kb3duIG1lbnVzICovXG4gICAgLyogTGV2ZWwgMisgKi9cbiAgICAvKiBDbGFzcyBmb3IganMgdG8gYWRkIGJyaWVmbHkgdG8gZXZhbHVhdGUgZWxlbWVudCBwb3NpdGlvbmluZy4gKi9cbiAgICAvKiBDb3JyZWN0IG1lbnVzIHRoYXQgd2lsbCBoYW5nIG9mZiB0aGUgcGFnZSAoY2xhc3MgYWRkZWQgYnkganMpICovXG4gICAgLyogTGV2ZWwgMSsgKi8gfVxuICAgIC8qIGxpbmUgMjMzLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCxcbiAgICAubmF2LXByaW1hcnkgYS5sZXZlbDAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogMHB4OyB9XG4gICAgLyogbGluZSAyMzksIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgICAubmF2LXByaW1hcnkgbGk6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgICAvKiBsaW5lIDI0NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAgIC5uYXYtcHJpbWFyeSAubWVudS1hY3RpdmUge1xuICAgICAgei1pbmRleDogMjAwOyB9XG4gICAgLyogbGluZSAyNDksIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgICAubmF2LXByaW1hcnkgbGkubGV2ZWwwIHVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGQkZCRkI7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjQ0NDQ0NDO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIC8qIEhlaWdodCBvZiBcIi5uYXYtcHJpbWFyeSBhLmxldmVsMFwiICovXG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgLyogSGlkZSB1bnRpbCBkaXNwbGF5ZWQuICovIH1cbiAgICAvKiBsaW5lIDI2Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAgIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDEgdWwge1xuICAgICAgbGVmdDogNjBweDtcbiAgICAgIHRvcDogMTVweDsgfVxuICAgIC8qIGxpbmUgMjY4LCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bC5sZXZlbDAucG9zaXRpb24tdGVzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMjczLCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bC5sZXZlbDAuc3BpbGwge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDI3OCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1uYXYuc2NzcyAqL1xuICAgICAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCB1bC5sZXZlbDAuc3BpbGwgbGkubGV2ZWwxIHVsIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgIHRvcDogMjBweDsgfVxuICAgIC8qIGxpbmUgMjg2LCBzY3NzL2xheW91dC9faGVhZGVyLW5hdi5zY3NzICovXG4gICAgLm5hdi1wcmltYXJ5IGxpLmxldmVsMCBsaS5wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLyogbGluZSAyODksIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbiAgICAgIC5uYXYtcHJpbWFyeSBsaS5sZXZlbDAgbGkucGFyZW50ID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjY2NjO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9IH1cblxuLyogbGluZSAzMDAsIHNjc3MvbGF5b3V0L19oZWFkZXItbmF2LnNjc3MgKi9cbi5uYXYtcHJpbWFyeSBsaS5tZW51LWFjdGl2ZSA+IHVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBMaW5rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMywgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuLnNraXAtc2VhcmNoOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2cHggLTE0NnB4OyB9XG5cbi8qIGxpbmUgMzgsIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbi5za2lwLXNlYXJjaCAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtMTQ2cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAvKiBsaW5lIDQ4LCBzY3NzL2xheW91dC9faGVhZGVyLXNlYXJjaC5zY3NzICovXG4gIC5za2lwLXNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFNlYXJjaCAtIFNraXAgQ29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgNTgsIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiNoZWFkZXItc2VhcmNoIHtcbiAgcGFkZGluZzogMjBweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC8qIGxpbmUgNjksIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiAgI2hlYWRlci1zZWFyY2gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMjZweDsgfVxuICAgIC8qIGxpbmUgNzksIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiAgICAjaGVhZGVyLXNlYXJjaCBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLyogbGluZSA4NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuICAgICNoZWFkZXItc2VhcmNoIGZvcm0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIElucHV0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA5Niwgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuI3NlYXJjaF9taW5pX2Zvcm0gLmlucHV0LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1pbi13aWR0aDogMjUwcHg7IH1cblxuLyogbGluZSAxMDIsIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiNzZWFyY2hfbWluaV9mb3JtIGxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDEwNiwgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuI3NlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjsgfVxuXG4vKiBsaW5lIDExMywgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b24ge1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogbGluZSAxMjQsIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG1hcmdpbi10b3A6IC0xNXB4O1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtMTQ2cHg7IH1cblxuLyogbGluZSAxMzcsIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4vKiBsaW5lIDE0MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gIG1hcmdpbi10b3A6IC0xM3B4O1xuICBtYXJnaW4tbGVmdDogLTEzcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGF5ZXIgc2VhcmNoIG9wZW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDE1MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1zZWFyY2guc2NzcyAqL1xuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC1pY29uLXdoaXRlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4OyB9XG5cbi8qIGxpbmUgMTU5LCBzY3NzL2xheW91dC9faGVhZGVyLXNlYXJjaC5zY3NzICovXG4uc2VhcmNoLWxheWVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OyB9XG4gIC8qIGxpbmUgMTY4LCBzY3NzL2xheW91dC9faGVhZGVyLXNlYXJjaC5zY3NzICovXG4gIC5zZWFyY2gtbGF5ZXIub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAxNzEsIHNjc3MvbGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MgKi9cbiAgLnNlYXJjaC1sYXllciAuY2xvc2Utc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIlO1xuICAgIHRvcDogNyU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UtaWNvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiAxNXB4OyB9XG4gIC8qIGxpbmUgMTgwLCBzY3NzL2xheW91dC9faGVhZGVyLXNlYXJjaC5zY3NzICovXG4gIC5zZWFyY2gtbGF5ZXIgZm9ybSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtaW4td2lkdGg6IDIwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC8qIGxpbmUgMTg3LCBzY3NzL2xheW91dC9faGVhZGVyLXNlYXJjaC5zY3NzICovXG4gICAgLnNlYXJjaC1sYXllciBmb3JtIC5pbnB1dC1ib3ggaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgLSBBY2NvdW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWNjb3VudFxuICovXG4vKiBsaW5lIDM3LCBzY3NzL2xheW91dC9faGVhZGVyLWFjY291bnQuc2NzcyAqL1xuLmFjY291bnQtbGluazpub3QoLnNraXAtYWN0aXZlKTpob3ZlciAuaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NnB4IC00NHB4OyB9XG5cbi8qIGxpbmUgNDIsIHNjc3MvbGF5b3V0L19oZWFkZXItYWNjb3VudC5zY3NzICovXG4uYWNjb3VudC1saW5rIC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC00NHB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgLyogbGluZSA1Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci1hY2NvdW50LnNjc3MgKi9cbiAgLmFjY291bnQtbGluayB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSA2NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1hY2NvdW50LnNjc3MgKi9cbiAgI2hlYWRlci1hY2NvdW50LnNraXAtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNDQ0NDQ0M7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDExNXB4O1xuICAgIHdpZHRoOiAyMDBweDsgfVxuICAvKiBsaW5lIDc0LCBzY3NzL2xheW91dC9faGVhZGVyLWFjY291bnQuc2NzcyAqL1xuICAjaGVhZGVyLWFjY291bnQgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgY29sb3I6ICM2MzYzNjM7XG4gICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgLyogbGluZSA4MSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1hY2NvdW50LnNjc3MgKi9cbiAgI2hlYWRlci1hY2NvdW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMzM5OUNDOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQWNjb3VudCBMaW5rc1xuICovXG4vKiBsaW5lIDkxLCBzY3NzL2xheW91dC9faGVhZGVyLWFjY291bnQuc2NzcyAqL1xuI2hlYWRlci1hY2NvdW50IHtcbiAgcGFkZGluZzogNXB4IDA7IH1cblxuLyogbGluZSA5NSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1hY2NvdW50LnNjc3MgKi9cbiNoZWFkZXItYWNjb3VudCBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogbGluZSAxMDMsIHNjc3MvbGF5b3V0L19oZWFkZXItYWNjb3VudC5zY3NzICovXG4jaGVhZGVyLWFjY291bnQgYTpob3ZlciB7XG4gIGNvbG9yOiAjMzM5OUNDOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciAtIENhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBDYXJ0XG4gKi9cbi8qIGxpbmUgNDEsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4uc2tpcC1jYXJ0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC05NXB4OyB9XG5cbi8qIGxpbmUgNDksIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4jaGVhZGVyLWNhcnQuc2tpcC1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDA7XG4gIHdpZHRoOiA0OTBweDtcbiAgdG9wOiAxMDBweDtcbiAgcmlnaHQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogMHB4O1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLyogbGluZSA2Mywgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbiAgI2hlYWRlci1jYXJ0LnNraXAtYWN0aXZlIC5taW5pY2FydC1ib3R0b20tYmxvY2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQ5MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAvKiBsaW5lIDc1LCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuICAuc2tpcC1jYXJ0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBsaW5lIDg3LCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuICAuc2tpcC1jYXJ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBDYXJ0IE5vdGlmaWVyXG4gKi9cbi8qIGxpbmUgOTYsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4uc2tpcC1jYXJ0IC5jb3VudCB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxMnB4O1xuICAtbXMtYm9yZGVyLXJhZGl1czogMTJweDtcbiAgLW8tYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0b3A6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG5cbi8qIGxpbmUgMTIwLCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuLnNraXAtY2FydC5uby1jb3VudCAuY291bnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLyogbGluZSAxMjUsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4gIC5za2lwLWNhcnQgLmNvdW50IHtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC8qIGxpbmUgMTMxLCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuICAuc2tpcC1jYXJ0IHtcbiAgICBjb2xvcjogIzMzOTlDQztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLyogbGluZSAxMzUsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4gICAgLnNraXAtY2FydDpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAvKiBsaW5lIDEzOSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbiAgICAuc2tpcC1jYXJ0IC5jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuXG4vKiBsaW5lIDE2NCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5za2lwLWNhcnQgLmNvdW50LmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNaW5pIENhcnQgLSBFbXB0eVxuICovXG4vKiBsaW5lIDE3Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5jYXJ0LW1lbnUgLmVtcHR5IHtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIE1pbmkgQ2FydCAtIEZ1bGxcbiAqL1xuLyogQWN0aW9ucyAqL1xuLyogbGluZSAxODMsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4uY2FydC1tZW51IC5hY3Rpb25zIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTVweDsgfVxuXG4vKiBsaW5lIDE4OCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5jYXJ0LW1lbnUgLmFjdGlvbnMgLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDglOyB9XG5cbi8qIGxpbmUgMTkzLCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuLmNhcnQtbWVudSAuYWN0aW9ucyAuYnV0dG9uICsgLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA0JTsgfVxuXG4vKiBTdWJ0b3RhbCAqL1xuLyogbGluZSAxOTksIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4uY2FydC1tZW51IC5zdWJ0b3RhbCB7XG4gIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4vKiBMaXN0ICovXG4vKiBsaW5lIDIwOCwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5taW5pLWNhcnQtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4vKiBsaW5lIDIxMiwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5taW5pLWNhcnQtbGlzdCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogOTBweDtcbiAgcGFkZGluZzogMTVweCAxNXB4IDE1cHggOTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7IH1cblxuLyogbGluZSAyMjEsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4ubWluaS1jYXJ0LWxpc3QgLnByb2R1Y3QtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBsaW5lIDIyNSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNXB4OyB9XG5cbi8qIGxpbmUgMjMxLCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LWltYWdlIGltZyB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7IH1cblxuLyogbGluZSAyMzgsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4ubWluaS1jYXJ0LWxpc3QgLmhhcy1vcHRpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNBMEEwQTA7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4vKiBUb28gZnVsbCAtIGFkZGl0aW9uYWwgaXRlbXMgd2lsbCBiZSBzaG93biBpbiBjYXJ0ICovXG4vKiBsaW5lIDI0NSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbi5jYXJ0LW1lbnUgLmxhc3QtYWRkZWQge1xuICBwYWRkaW5nOiAxMHB4IDE1cHggMTVweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgbW9iaWxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAyNTYsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4uc2tpcC1jYXJ0IC5sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAyNTksIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4uc2tpcC1jYXJ0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NhcnJlbGxvX2Nsb3NlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi8qIGxpbmUgMjY3LCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuLnNraXAtY2FydC5za2lwLWFjdGl2ZSAuaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jYXJyZWxsb19vcGVuLnN2Z1wiKTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAvKiBsaW5lIDI3NSwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbiAgI2hlYWRlci1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgICB0b3A6IDEyNnB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDI4Miwgc2Nzcy9sYXlvdXQvX2hlYWRlci1jYXJ0LnNjc3MgKi9cbiAgLnNraXAtY2FydCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAyODUsIHNjc3MvbGF5b3V0L19oZWFkZXItY2FydC5zY3NzICovXG4gIC5za2lwLWNhcnQgLmljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgMjg5LCBzY3NzL2xheW91dC9faGVhZGVyLWNhcnQuc2NzcyAqL1xuICAjaGVhZGVyLWNhcnQuc2tpcC1hY3RpdmUge1xuICAgIHRvcDogNzFweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEZvb3RlciAtIEN1c3RvbSBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDI5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbi5mb290ZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTkwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEZvb3RlclxuICovXG4vKiBsaW5lIDQwLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiNwb3B1cGNvb2tpZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHJpZ2h0OiAtMTAwJTtcbiAgei1pbmRleDogODtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC8qIGxpbmUgNTUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAjcG9wdXBjb29raWUgLnJpZ2h0IGEge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLyogbGluZSA1OCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgI3BvcHVwY29va2llIC5yaWdodCBhLmNsb3NlLWNvb2tpZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDExcHg7IH1cbiAgLyogbGluZSA3MCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICNwb3B1cGNvb2tpZSAucmlnaHQgcCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDUlOyB9XG4gIC8qIGxpbmUgNzgsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAjcG9wdXBjb29raWUgLndycGNsb3NlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDUlOyB9XG5cbi8qIGxpbmUgODQsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuLmZvb3Rlcixcbi5mb290ZXIgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi8qIGxpbmUgODksIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuLmZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gIC8qIGxpbmUgMTAwLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgLmZvb3RlciAuZm9vdGVyX19sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLyogbGluZSAxMDUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgIC5mb290ZXIgLmZvb3Rlcl9fbGVmdCAuZm9vdGVyX19jb3B5cmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICAgIC8qIGxpbmUgMTEwLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgIC5mb290ZXIgLmZvb3Rlcl9fbGVmdCAuZm9vdGVyX19jb3B5cmlnaHQgLmZvb3Rlcl9fY29weXJpZ2h0LXVwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLyogbGluZSAxMTQsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgLmZvb3RlciAuZm9vdGVyX19sZWZ0IC5mb290ZXJfX2NvcHlyaWdodCAuZm9vdGVyX19jb3B5cmlnaHQtbG93ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTIwLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgLmZvb3RlciAuZm9vdGVyX19yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLyogbGluZSAxMjUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAgIC8qIGxpbmUgMTI5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtbmV3c2xldHRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLyogbGluZSAxMzQsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1jb250YWN0cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgICAvKiBsaW5lIDEzOSwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC8qIGxpbmUgMTQzLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zdG9yZXN3aXRjaCB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICAvKiBsaW5lIDE0OCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zdG9yZXN3aXRjaCB1bCBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgIC8qIGxpbmUgMTUyLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtc3RvcmVzd2l0Y2ggdWwgbGkuYWN0aXZlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC4yOyB9XG4gICAgICAgICAgICAvKiBsaW5lIDE1Niwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVlbTsgfVxuICAgICAgICAgICAgICAvKiBsaW5lIDE2MCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtc3RvcmVzd2l0Y2ggdWwgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgICAgICAgIC8qIGxpbmUgMTY1LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtc3RvcmVzd2l0Y2ggdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAuNWVtOyB9XG4gICAgICAvKiBsaW5lIDE3Mywgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXNvY2lhbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAvKiBsaW5lIDE3Niwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtc29jaWFsIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIC8qIGxpbmUgMTgxLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXNvY2lhbCB1bCBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMCAxIDUwJTsgfVxuICAgICAgICAgICAgLyogbGluZSAxODUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zb2NpYWwgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtOyB9XG4gICAgICAgICAgICAgIC8qIGxpbmUgMTg5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zb2NpYWwgdWwgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgICAgICAgIC8qIGxpbmUgMTk0LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtc29jaWFsIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVlbTsgfVxuICAgIC8qIGxpbmUgMjAzLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LWxvd2VyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgLyogbGluZSAyMDYsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC1sb3dlciB1bCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAvKiBsaW5lIDIwOSwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtbG93ZXIgdWwgbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC8qIGxpbmUgMjE5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgI3BvcHVwY29va2llIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC8qIGxpbmUgMjIyLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgLmZvb3RlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW4tdG9wOiAxNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgLyogbGluZSAyMjcsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgIC5mb290ZXIgLmZvb3Rlcl9fbGVmdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICBmbGV4LWJhc2lzOiAyNSU7IH1cbiAgICAgIC8qIGxpbmUgMjMxLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgIC5mb290ZXIgLmZvb3Rlcl9fbGVmdCAuZm9vdGVyX19jb3B5cmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi4yZW07XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLyogbGluZSAyMzcsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAuZm9vdGVyIC5mb290ZXJfX2xlZnQgLmZvb3Rlcl9fY29weXJpZ2h0IC5mb290ZXJfX2NvcHlyaWdodC11cHBlciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDsgfVxuICAgICAgICAvKiBsaW5lIDI0MSwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fbGVmdCAuZm9vdGVyX19jb3B5cmlnaHQgLmZvb3Rlcl9fY29weXJpZ2h0LWxvd2VyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMjQ3LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICBmbGV4LWJhc2lzOiA3NSU7IH1cbiAgICAgIC8qIGxpbmUgMjUxLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDMwcHg7IH1cbiAgICAgICAgLyogbGluZSAyNTYsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LW5ld3NsZXR0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMjYxLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1jb250YWN0cyB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC8qIGxpbmUgMjY2LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zdG9yZXN3aXRjaCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIC8qIGxpbmUgMjY5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHVuc2V0O1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgLyogbGluZSAyNzUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zdG9yZXN3aXRjaCB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtOyB9XG4gICAgICAgICAgICAvKiBsaW5lIDI4MCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXN0b3Jlc3dpdGNoIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxZW07IH1cbiAgICAgICAgLyogbGluZSAyODgsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LXVwcGVyIC5mb290ZXJfX3JpZ2h0LXNvY2lhbCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAgICAgLyogbGluZSAyOTUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtdXBwZXIgLmZvb3Rlcl9fcmlnaHQtc29jaWFsIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHVuc2V0O1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgLyogbGluZSAzMDEsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zb2NpYWwgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDFlbTsgfVxuICAgICAgICAgICAgLyogbGluZSAzMDYsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC11cHBlciAuZm9vdGVyX19yaWdodC1zb2NpYWwgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFlbTsgfVxuICAgICAgLyogbGluZSAzMTUsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgLmZvb3RlciAuZm9vdGVyX19yaWdodCAuZm9vdGVyX19yaWdodC1sb3dlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogMTVweCA1cHggMDsgfVxuICAgICAgICAvKiBsaW5lIDMyMCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtbG93ZXIgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAgIC8qIGxpbmUgMzI2LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXJfX3JpZ2h0IC5mb290ZXJfX3JpZ2h0LWxvd2VyIHVsIC5mb290ZXJfX3JpZ2h0LWhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAvKiBsaW5lIDMzNywgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gIC5mb290ZXIgLmZvb3Rlcl9fbGVmdCB7XG4gICAgZmxleC1iYXNpczogMzUlOyB9XG4gIC8qIGxpbmUgMzQxLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgLmZvb3RlciAuZm9vdGVyX19yaWdodCB7XG4gICAgZmxleC1iYXNpczogNjUlOyB9XG4gICAgLyogbGluZSAzNDYsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgIC5mb290ZXIgLmZvb3Rlcl9fcmlnaHQgLmZvb3Rlcl9fcmlnaHQtbG93ZXIgdWwgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZsZXg6IDAgMCAzMyU7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gICAqIFNraW4gUG9wdXBcbiAgICovXG4vKiBsaW5lIDM2Miwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4ucG9wdXAtc2tpbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5OTk7IH1cbiAgLyogbGluZSAzNzEsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fY29udGVudCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTUwcHgpO1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAwOyB9XG4gIC8qIGxpbmUgMzc3LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgLnBvcHVwLXNraW4gLnBvcHVwLXNraW5fX2lkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLyogbGluZSAzODIsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogODB2dzsgfVxuICAgIC8qIGxpbmUgMzkwLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fbG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMDBweDtcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDM5Nywgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gIC5wb3B1cC1za2luIC5wb3B1cC1za2luX19kZXNjciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgbGluZS1oZWlnaHQ6IGF1dG87XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC8qIGxpbmUgNDA5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fZGVzY3IgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDQxNCwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gIC5wb3B1cC1za2luIC5wb3B1cC1za2luX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDQyMywgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gIC5wb3B1cC1za2luIC5wb3B1cC1za2luX19zY3JvbGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBoZWlnaHQ6IDExNnB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAvKiBsaW5lIDQzMiwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gICAgLnBvcHVwLXNraW4gLnBvcHVwLXNraW5fX3Njcm9sbCAucG9wdXAtc2tpbl9fc2Nyb2xsLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgICAgIC8qIGxpbmUgNDM5LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAgIC5wb3B1cC1za2luIC5wb3B1cC1za2luX19zY3JvbGwgLnBvcHVwLXNraW5fX3Njcm9sbC1jb250ZW50IC5jaGV2cm9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDM1cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLyogbGluZSA0NDYsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgLnBvcHVwLXNraW4gLnBvcHVwLXNraW5fX3Njcm9sbCAucG9wdXAtc2tpbl9fc2Nyb2xsLWNvbnRlbnQgLmNoZXZyb246OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKTsgfVxuICAgICAgLyogbGluZSA0NjAsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgICAgLnBvcHVwLXNraW4gLnBvcHVwLXNraW5fX3Njcm9sbCAucG9wdXAtc2tpbl9fc2Nyb2xsLWNvbnRlbnQgLndoaXRlLWRldGFpbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3R0b206IDE0cHg7IH1cbiAgLyogbGluZSA0NzAsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fbGluayB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC8qIGxpbmUgNDg2LCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgLnBvcHVwLXNraW4gLnBvcHVwLXNraW5fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNDUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KTsgfVxuICAvKiBsaW5lIDQ5Niwgc2Nzcy9sYXlvdXQvX2Zvb3Rlci5zY3NzICovXG4gIC5wb3B1cC1za2luIC5wb3B1cC1za2luX19sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiA4JTtcbiAgICBtYXgtd2lkdGg6IDU1MHB4OyB9XG4gICAgLyogbGluZSA1MDAsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAgIC5wb3B1cC1za2luIC5wb3B1cC1za2luX19sb2dvIGltZyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNTAwcHg7IH1cbiAgLyogbGluZSA1MDcsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fZGVzY3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgIC8qIGxpbmUgNTEyLCBzY3NzL2xheW91dC9fZm9vdGVyLnNjc3MgKi9cbiAgICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fZGVzY3IgYnIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA1MTcsIHNjc3MvbGF5b3V0L19mb290ZXIuc2NzcyAqL1xuICAucG9wdXAtc2tpbiAucG9wdXAtc2tpbl9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2VuZXJhbCBQcm9kdWN0IExpc3QgU3R5bGVzIChub3QgbW9kdWxlLXNwZWNpZmljKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvZHVjdCBMaXN0IEdlbmVyYWxcbiAqL1xuLyogbGluZSAzNSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4uY2F0ZWdvcnktZWdvIC5wYWdlLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDQwLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3Age1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7IH1cbiAgLyogbGluZSA0NCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3AgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC8qIGxpbmUgNDgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3AgLmNvbnRlbnQgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjQlO1xuICAgICAgbGVmdDogMTAlO1xuICAgICAgbWF4LXdpZHRoOiAzOTBweDsgfVxuICAgICAgLyogbGluZSA1Nywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRfYmxvY2tfdG9wIC5jb250ZW50IC50ZXh0LWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAgIC8qIGxpbmUgNjQsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0X2Jsb2NrX3RvcCAuY29udGVudCAudGV4dC1jb250YWluZXIgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAvKiBsaW5lIDcyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRfYmxvY2tfdG9wIC5jb250ZW50IC5tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNzUsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3AgLmNvbnRlbnQgLmltZy1iaWcge1xuICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgICB0b3A6IC02JTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLyogbGluZSA4Miwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0X2Jsb2NrX3RvcCAuY29udGVudCAuaW1nLXNtYWxsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxNiU7XG4gICAgICByaWdodDogLTExJTtcbiAgICAgIGJvdHRvbTogMjUlO1xuICAgICAgei1pbmRleDogMTsgfVxuXG4vKiBsaW5lIDkxLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLnZpZGVvLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDE1JTsgfVxuXG4vKiBsaW5lIDk1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMTMlOyB9XG4gIC8qIGxpbmUgMTAwLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5wcm9kdWN0LWZvY3VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDEwLjUlOyB9XG4gICAgLyogbGluZSAxMDcsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAucHJvZHVjdC1mb2N1cyAudGV4dC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA3NDBweDtcbiAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUlO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIC8qIGxpbmUgMTE1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAucHJvZHVjdC1mb2N1cyAudGV4dC1jb250YWluZXIgLnRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLyogbGluZSAxMjEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5wcm9kdWN0LWZvY3VzIC50ZXh0LWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC8qIGxpbmUgMTI3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLnByb2R1Y3QtZm9jdXMgaW1nIHtcbiAgICAgIHdpZHRoOiA2OCU7XG4gICAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAvKiBsaW5lIDEzMywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLyogbGluZSAxMzYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgMTM4LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbWFnZSAuc2lkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgMTQyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbWFnZTpob3ZlciAucHJvZHVjdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgMTQ1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbWFnZTpob3ZlciAuc2lkZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLyogbGluZSAxNTAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC8qIGxpbmUgMTU3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAwOyB9XG4gICAgICAvKiBsaW5lIDE2MCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbyBoMiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgLyogbGluZSAxNjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbyBoMiBhIHtcbiAgICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgICAgLyogbGluZSAxNzIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIC5wcm9kdWN0LWluZm8gLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAvKiBsaW5lIDE3NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2Uge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgICAgICAvKiBsaW5lIDE3OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIC5wcm9kdWN0LWluZm8gLnByaWNlLWJveCAucmVndWxhci1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC8qIGxpbmUgMTg0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtaGVpZ2h0OiA4MjVweDtcbiAgICAgIG1hcmdpbi10b3A6IDklOyB9XG4gICAgICAvKiBsaW5lIDE4OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bnRoLWNoaWxkKGV2ZW4pIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bnRoLWNoaWxkKGV2ZW4pIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLyogbGluZSAxOTUsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtOm50aC1jaGlsZChldmVuKSAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgcmlnaHQ6IDAlOyB9XG4gICAgICAgIC8qIGxpbmUgMTk3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtOm50aC1jaGlsZChldmVuKSAucHJvZHVjdC1pbmZvOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhOyB9XG4gICAgICAgICAgLyogbGluZSAxOTksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpudGgtY2hpbGQoZXZlbikgLnByb2R1Y3QtaW5mbzpob3ZlciAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAgIC8qIGxpbmUgMjAyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bnRoLWNoaWxkKGV2ZW4pIC5wcm9kdWN0LWluZm86aG92ZXIgaDIgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC8qIGxpbmUgMjA4LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IDklO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICAgIC8qIGxpbmUgMjEzLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpudGgtY2hpbGQob2RkKSAucHJvZHVjdC1pbWFnZSwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtOm50aC1jaGlsZChvZGQpIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgICAgLyogbGluZSAyMjAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bnRoLWNoaWxkKG9kZCkgLnByb2R1Y3QtaW1hZ2U6aG92ZXIsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpudGgtY2hpbGQob2RkKSAucHJvZHVjdC1pbmZvOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhOyB9XG4gICAgICAgICAgLyogbGluZSAyMjIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpudGgtY2hpbGQob2RkKSAucHJvZHVjdC1pbWFnZTpob3ZlciAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIC5wcmljZSwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtOm50aC1jaGlsZChvZGQpIC5wcm9kdWN0LWluZm86aG92ZXIgLnByaWNlLWJveCAucmVndWxhci1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgICAvKiBsaW5lIDIyNSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtOm50aC1jaGlsZChvZGQpIC5wcm9kdWN0LWltYWdlOmhvdmVyIGgyIGEsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpudGgtY2hpbGQob2RkKSAucHJvZHVjdC1pbmZvOmhvdmVyIGgyIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLyogbGluZSAyMzIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTAge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LWhlaWdodDogODI1cHg7IH1cbiAgICAvKiBsaW5lIDIzNSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0wIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTAgLnByb2R1Y3QtaW5mbyB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAvKiBsaW5lIDI0Miwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0wIC5wcm9kdWN0LWluZm8ge1xuICAgICAgcmlnaHQ6IDAlOyB9XG4gIC8qIGxpbmUgMjQ2LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0xIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgLyogbGluZSAyNTAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tMSAucHJvZHVjdC1pbWFnZSwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0xIC5wcm9kdWN0LWluZm8ge1xuICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAvKiBsaW5lIDI3NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaW1nLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogODIwcHg7XG4gICAgd2lkdGg6IDU4JTtcbiAgICBtYXJnaW4tdG9wOiAxNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogNCU7IH1cbiAgLyogbGluZSAzMDMsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLnRleHQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogNDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNSU7IH1cblxuLyogbGluZSAzMzIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLmNhdGVnb3J5LXRpdGxlIGgxLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS10aXRsZSBoMSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLyogbGluZSAzMzgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLmNhdGVnb3J5LXRpdGxlIGgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi8qIGxpbmUgMzQ0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5jYXRlZ29yeS1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbi8qIGxpbmUgMzQ5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1saXN0IC5hY3Rpb24gLmJ1dHRvbixcbi5wcm9kdWN0cy1ncmlkIC5hY3Rpb25zIC5idXR0b24ge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb2R1Y3QgTmFtZVxuICovXG4vKiBsaW5lIDM1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG5oMi5wcm9kdWN0LW5hbWUsXG5oMy5wcm9kdWN0LW5hbWUsXG5oNC5wcm9kdWN0LW5hbWUsXG5oNS5wcm9kdWN0LW5hbWUsXG5wLnByb2R1Y3QtbmFtZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC8qIGxpbmUgMzY5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgaDIucHJvZHVjdC1uYW1lIGEsXG4gIGgzLnByb2R1Y3QtbmFtZSBhLFxuICBoNC5wcm9kdWN0LW5hbWUgYSxcbiAgaDUucHJvZHVjdC1uYW1lIGEsXG4gIHAucHJvZHVjdC1uYW1lIGEge1xuICAgIGNvbG9yOiAjNjM2MzYzOyB9XG4gICAgLyogbGluZSAzNzEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIGgyLnByb2R1Y3QtbmFtZSBhOmhvdmVyLFxuICAgIGgzLnByb2R1Y3QtbmFtZSBhOmhvdmVyLFxuICAgIGg0LnByb2R1Y3QtbmFtZSBhOmhvdmVyLFxuICAgIGg1LnByb2R1Y3QtbmFtZSBhOmhvdmVyLFxuICAgIHAucHJvZHVjdC1uYW1lIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzk5Q0M7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogbGluZSAzNzgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtbmFtZSxcbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LW5hbWUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIC8qIGxpbmUgMzg1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtbmFtZSBhLFxuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1uYW1lIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJvZHVjdCBHcmlkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzOTYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogbGluZSA0MDAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgNDA0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDQwOSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkID4gbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgNDE0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLyogbGluZSA0MTksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuICAvKiBsaW5lIDQyMywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIGltZzpoaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA0MjksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLndpZGdldC1uZXctcHJvZHVjdHMgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2Uge1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tbGVmdDogMTAlOyB9XG5cbi8qIGxpbmUgNDM5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWluZm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA5NXB4OyB9XG5cbi8qIGxpbmUgNDQ0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkIC5hY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIG1pbi1oZWlnaHQ6IDg1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgNDUyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzIC5yYXRpbmctYm94IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogbGluZSA0NTYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQgLnJhdGluZ3MgLmFtb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA0NjAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQgLnByaWNlLWJveCB7XG4gIGNvbG9yOiAjQTBBMEEwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbjogMCAwIDVweDsgfVxuXG4vKiBsaW5lIDQ2Niwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4ucHJvZHVjdHMtZ3JpZCAuYWRkLXRvLWxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBDb25maWc6IFR3byBjb2x1bW5zICsgZmxleGlibGUgZ3V0dGVyICovXG4vKiBsaW5lIDQ3Nywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4ucHJvZHVjdHMtZ3JpZCA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0Ny43MjcyNyU7XG4gIG1hcmdpbi1yaWdodDogNC41NDU0NSU7IH1cblxuLyogbGluZSA0ODMsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gIGNsZWFyOiBsZWZ0OyB9XG5cbi8qIGxpbmUgNDg3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIGxpbmUgNDkxLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC8qIGxpbmUgMjcsIHNjc3MvbWl4aW4vX2xvYWRpbmctb3ZlcmxheS5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlOmJlZm9yZSwgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAzOCwgc2Nzcy9taXhpbi9fbG9hZGluZy1vdmVybGF5LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2U6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgei1pbmRleDogMjsgfVxuICAvKiBsaW5lIDQ0LCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL29wYy1hamF4LWxvYWRlci5naWZcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgei1pbmRleDogMzsgfVxuICAvKiBsaW5lIDUxLCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZS5sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDU0LCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAgIC5wcm9kdWN0cy1ncmlkIC5wcm9kdWN0LWltYWdlLmxvYWRpbmc6YmVmb3JlLCAucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZS5sb2FkaW5nOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLyogQ29uZmlnOiBUaHJlZSBjb2x1bW5zICsgZmxleGlibGUgZ3V0dGVyICovXG4gIC8qIGxpbmUgNTA5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQge1xuICAgIC8qIFVuZG8gdHdvLWNvbHVtbiBjb25maWcgKi9cbiAgICAvKiBTZXQgdGhyZWUtY29sdW1uIGNvbmZpZyAqLyB9XG4gICAgLyogbGluZSA1MTEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDUxNCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjcwMzclOyB9XG4gICAgLyogbGluZSA1MTksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0cy1ncmlkID4gbGkge1xuICAgICAgd2lkdGg6IDMwLjg2NDIlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjcwMzclOyB9XG4gICAgLyogbGluZSA1MjMsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgLyogbGluZSA1MjYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC8qIENvbmZpZzogQ29sdW1ucyArIGZsZXhpYmxlIGd1dHRlciAqL1xuICAvKiBVbmRvIHRocmVlLWNvbHVtbiBjb25maWcgKi9cbiAgLyogbGluZSA1NDYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC8qIGxpbmUgNTQ5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1NTIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sID4gbGk6bnRoLWNoaWxkKGV2ZW4pLFxuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIyMjIyJTsgfVxuICAvKiBTZXQgY29sdW1uIGNvbmZpZyAqL1xuICAvKiBsaW5lIDU1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wgPiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIyMjIyJTsgfVxuICAvKiBsaW5lIDU2MSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wgPiBsaSB7XG4gICAgd2lkdGg6IDIzLjMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gIC8qIGxpbmUgNTY1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbCA+IGxpOm50aC1jaGlsZCg0bisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgLyogbGluZSA1NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sID4gbGk6bnRoLWNoaWxkKDRuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC8qIENvbmZpZzogQ29sdW1ucyArIGZsZXhpYmxlIGd1dHRlciAqL1xuICAvKiBVbmRvIHRocmVlLWNvbHVtbiBjb25maWcgKi9cbiAgLyogbGluZSA1NDYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC8qIGxpbmUgNTQ5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1NTIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sID4gbGk6bnRoLWNoaWxkKGV2ZW4pLFxuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIyMjIyJTsgfVxuICAvKiBTZXQgY29sdW1uIGNvbmZpZyAqL1xuICAvKiBsaW5lIDU1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wgPiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIyMjIyJTsgfVxuICAvKiBsaW5lIDU2MSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wgPiBsaSB7XG4gICAgd2lkdGg6IDE4LjIyMjIyJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gIC8qIGxpbmUgNTY1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbCA+IGxpOm50aC1jaGlsZCg1bisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgLyogbGluZSA1NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sID4gbGk6bnRoLWNoaWxkKDVuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC8qIENvbmZpZzogQ29sdW1ucyArIGZsZXhpYmxlIGd1dHRlciAqL1xuICAvKiBVbmRvIHRocmVlLWNvbHVtbiBjb25maWcgKi9cbiAgLyogbGluZSA1NDYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTYtY29sID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC8qIGxpbmUgNTQ5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQtLW1heC02LWNvbCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLyogbGluZSA1NTIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTYtY29sID4gbGk6bnRoLWNoaWxkKGV2ZW4pLFxuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTYtY29sID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIyMjIyJTsgfVxuICAvKiBTZXQgY29sdW1uIGNvbmZpZyAqL1xuICAvKiBsaW5lIDU1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkLS1tYXgtNi1jb2wgPiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjIyMjIyJTsgfVxuICAvKiBsaW5lIDU2MSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1ncmlkLS1tYXgtNi1jb2wgPiBsaSB7XG4gICAgd2lkdGg6IDE0LjgxNDgxJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gIC8qIGxpbmUgNTY1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQtLW1heC02LWNvbCA+IGxpOm50aC1jaGlsZCg2bisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgLyogbGluZSA1NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtZ3JpZC0tbWF4LTYtY29sID4gbGk6bnRoLWNoaWxkKDZuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJvZHVjdCBMaXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA1ODUsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLnByb2R1Y3RzLWxpc3Qge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC8qIGxpbmUgNTg5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWxpc3QgPiBsaSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDsgfVxuICAgIC8qIGxpbmUgNTk0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAucHJvZHVjdHMtbGlzdCA+IGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgNTk3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAucHJvZHVjdHMtbGlzdCA+IGxpIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLyogbGluZSA2MDEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3RzLWxpc3QgPiBsaSAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgNjA3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLnByb2R1Y3RzLWxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi8qIGxpbmUgNjEzLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3Age1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAvKiBsaW5lIDYxOCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDYyMSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnJhdGluZ3Mge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC8qIGxpbmUgNjI0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5yYXRpbmdzIC5yYXRpbmctYm94LFxuICAgIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnJhdGluZ3MgLnJhdGluZy1saW5rcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogN3B4OyB9XG4gICAgLyogbGluZSA2MjksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnJhdGluZ3MgLnJhdGluZy1saW5rcyB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgLyogbGluZSA2MzMsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3gge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLyogbGluZSA2MzYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgLyogbGluZSA2MzksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5hY3Rpb24ge1xuICAgIG1hcmdpbjogN3B4IDA7IH1cbiAgLyogbGluZSA2NDIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5kZXNjIHtcbiAgICBtYXJnaW4tdG9wOiA3cHg7IH1cbiAgLyogbGluZSA2NDYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LXByaW1hcnksXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLmRlc2Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2NSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAvKiBsaW5lIDY1Miwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDM1JTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBjbGVhcjogcmlnaHQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAvKiBsaW5lIDY2MSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgZm9udC1zaXplOiAxOXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLyogbGluZSA2NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LXByaW1hcnksXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLmRlc2Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2MCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAvKiBsaW5lIDY3NCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDQwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLyogbGluZSA2ODIsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKiBsaW5lIDY4Niwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtcHJpbWFyeSxcbiAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1zZWNvbmRhcnksXG4gIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLmRlc2Mge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE1pbmkgUHJvZHVjdCBMaXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA3MTEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLm1pbmktcHJvZHVjdHMtbGlzdCAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4vKiBsaW5lIDcxNSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4ubWluaS1wcm9kdWN0cy1saXN0IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA3MTksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAubWluaS1wcm9kdWN0cy1saXN0IGxpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4vKiBsaW5lIDcyNywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogbGluZSA3MzEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLm1pbmktcHJvZHVjdHMtaW1hZ2VzLWxpc3QgbGkuaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNXB4IDEwcHggMDsgfVxuICAvKiBsaW5lIDczNywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5taW5pLXByb2R1Y3RzLWltYWdlcy1saXN0IGxpLml0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIC8qIGxpbmUgNzQyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLm1pbmktcHJvZHVjdHMtaW1hZ2VzLWxpc3QgbGkuaXRlbSAucHJvZHVjdC1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvKiBsaW5lIDc0NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLm1pbmktcHJvZHVjdHMtaW1hZ2VzLWxpc3QgbGkuaXRlbSAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDc2MCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBwYWRkaW5nOiAxMHB4OyB9XG4gIC8qIGxpbmUgNzY0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmNhdGVnb3J5LWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSA3NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRlZ29yeS1pbWFnZSBpbWc6aGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGF5ZXJlZCBOYXZpZ2F0aW9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA3NzgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzYzNjM2MztcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjRweDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI0NDQ0NDQztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLyogbGluZSAxMTAsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMzMzk5Q0M7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLyogbGluZSAxMTcsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbi8qIGxpbmUgMTIzLCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgLnRvZ2dsZS10YWJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDEyOCwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkdCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM2MzYzNjM7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNDQ0NDQ0M7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAxMTAsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkdDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjMzM5OUNDO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC8qIGxpbmUgMTE3LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLyogbGluZSAxMzMsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZGQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci13aWR0aDogMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI0NDQ0NDQzsgfVxuXG4vKiBsaW5lIDE0MCwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4OyB9XG5cbi8qIGxpbmUgNzkwLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5ibG9jay1sYXllcmVkLW5hdiBkbCBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLyogbGluZSA3OTQsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQgb2wgPiBsaSA+IHNwYW4sIC5ibG9jay1sYXllcmVkLW5hdiBkbCBkZCBvbCA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA3OTgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQgb2wgPiBsaSA+IGEgLmNvdW50IHtcbiAgICBjb2xvcjogI0EwQTBBMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3MXB4KSB7XG4gIC8qIGxpbmUgODA0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLyogbGluZSA4MDcsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA4MTQsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuc2lkZWJhciAuYmxvY2suYmxvY2stbGF5ZXJlZC1uYXYge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLyogbGluZSA4MTksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuYmxvY2stbGF5ZXJlZC1uYXYtLW5vLWZpbHRlcnMgLmJsb2NrLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgODI0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLyogbGluZSAxNDgsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgICAgIC8qIGxpbmUgMTUyLCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzMzk5Q0M7IH1cbiAgICAgIC8qIGxpbmUgMTU1LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQgPiBkbCA+IGR0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMzMzk5Q0M7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfVxuICAgICAgLyogbGluZSAxNTgsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAgIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQubGFzdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxuICAgIC8qIGxpbmUgMTYzLCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1jb250ZW50ID4gZGwgPiBkZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAxNzEsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGR0LmN1cnJlbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4OyB9XG4gICAgLyogbGluZSAxNzUsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGR0LmN1cnJlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMzMzk5Q0M7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbGVmdDogNnB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgLyogbGluZSAxODMsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLWNvbnRlbnQuYWNjb3JkaW9uLW9wZW4gPiBkbCA+IGRkLmN1cnJlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA4MzAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzk5Q0M7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAvKiBsaW5lIDgzNywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4OyB9XG4gICAgLyogbGluZSA4NDQsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stc3VidGl0bGUtLWZpbHRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmU4YWI4O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAvKiBsaW5lIDg0OSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IC5ibG9jay1zdWJ0aXRsZS0tZmlsdGVyLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiA0cHggc29saWQgI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAvKiBsaW5lIDg1Nywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICNuYXJyb3ctYnktbGlzdCxcbiAgI25hcnJvdy1ieS1saXN0MiB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLyogbGluZSA4NjQsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGEsXG4gIC5ibG9jay1sYXllcmVkLW5hdiBkbCBvbCA+IGxpID4gc3BhbiB7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIG1hcmdpbjogNXB4OyB9XG4gIC8qIGxpbmUgODcwLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IGRsIG9sID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxuICAgIC8qIGxpbmUgODczLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogI2VkZWRlZDsgfSB9XG5cbi8qIGxpbmUgODgxLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5ibG9jay1sYXllcmVkLW5hdiAuY3VycmVudGx5IC5ibG9jay1zdWJ0aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjNjM2MzYzO1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSA4ODYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLyogbGluZSA4OTAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wgbGkge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLyogbGluZSA4OTMsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuYmxvY2stbGF5ZXJlZC1uYXYgLmN1cnJlbnRseSBvbCBsaSAubGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC8qIGxpbmUgODk3LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkgb2wgbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgOTAzLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbi5ibG9jay1sYXllcmVkLW5hdiAuYWN0aW9ucyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmVzcG9zaXZlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDkxNiwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3AgLmNvbnRlbnQgLnRleHQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBsZWZ0OiAxNSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgOTI0LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0X2Jsb2NrX3RvcCAuY29udGVudCAuYmFja2dyb3VuZC1pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA5MjcsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRfYmxvY2tfdG9wIC5jb250ZW50IC5tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgOTM2LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIC5wcm9kdWN0LWluZm8gaDIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAvKiBsaW5lIDk0MCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgLyogbGluZSA5NDcsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLnByb2R1Y3QtZm9jdXMgLnRleHQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDk1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3Age1xuICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cbiAgICAvKiBsaW5lIDk2Mywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0X2Jsb2NrX3RvcCAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLyogbGluZSA5NjUsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0X2Jsb2NrX3RvcCAuY29udGVudCAudGV4dC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAvKiBsaW5lIDk3Mywgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRfYmxvY2tfdG9wIC5jb250ZW50IC5pbWctc21hbGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjdweDtcbiAgICAgICAgdG9wOiA5MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7IH1cbiAgICAgIC8qIGxpbmUgOTgwLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdF9ibG9ja190b3AgLmNvbnRlbnQgLmltZy1iaWcge1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IGF1dG87IH1cbiAgLyogbGluZSA5ODgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC8qIGxpbmUgOTkwLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbyB7XG4gICAgICBwb3NpdGlvbjogdW5zZXQ7IH1cbiAgICAvKiBsaW5lIDk5NCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0wIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTAgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0xIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTEgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0yIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTIgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0zIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTMgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by00IC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTQgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by01IC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTUgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by02IC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTYgLnByb2R1Y3QtaW5mbywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by03IC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTcgLnByb2R1Y3QtaW5mbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAvKiBsaW5lIDEwMDAsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tMCwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0xIHtcbiAgICAgIHdpZHRoOiA0OCU7IH1cbiAgICAvKiBsaW5lIDEwMDMsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAucHJvZHVjdC1mb2N1cyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAvKiBsaW5lIDEwMDUsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5wcm9kdWN0LWZvY3VzIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAvKiBsaW5lIDEwMTEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5wcm9kdWN0LWZvY3VzIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAxMDE1LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTIsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tMywgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by00LCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTUsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tNiwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by03IHtcbiAgICAgIHdpZHRoOiA0OCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICAvKiBsaW5lIDEwMjEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaW1nLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgMTAyNCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5uby1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDEwMzYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTAsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tMSwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0yLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTMsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tNCwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by01LCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTYsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tNyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxMDM5LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0wIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gIC8qIGxpbmUgMTA0Miwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tMSwgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lICNwcm9kb3R0by0yLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgI3Byb2RvdHRvLTMsIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAjcHJvZG90dG8tNCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAvKiBsaW5lIDEwNDUsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLnByb2R1Y3QtZm9jdXMge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnpvb21Db250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMzUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1lc3NlbnRpYWwge1xuICBtYXJnaW4tYm90dG9tOiAxMzBweDsgfVxuICAvKiBsaW5lIDM5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1lc3NlbnRpYWwgLmV4dHJhLWluZm8gLnJhdGluZ3MgLnJhdGluZy1ib3gsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsIC5leHRyYS1pbmZvIC5yYXRpbmdzIC5hbW91bnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgNDQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuZXh0cmEtaW5mbyAucmF0aW5ncyAucmF0aW5nLWJveCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAvKiBsaW5lIDQ5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1lc3NlbnRpYWwgLmV4dHJhLWluZm8gLnJhdGluZ3M6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNTUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA1OCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsIC5zaGlwcGluZy1saW5rIHtcbiAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDYzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuc2hpcHBpbmctbGluayAudGV4dCB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIC8qIGxpbmUgNzAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuc3RpY2t5LXdyYXBwZXIge1xuICAgIHdpZHRoOiAzNyU7IH1cbiAgLyogbGluZSA3Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsIC5ibG9jay1yZWxhdGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNzYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LWVzc2VudGlhbCAuYmFjay10by1saW5rIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyogbGluZSA4Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrIHtcbiAgbWF4LXdpZHRoOiA5MTVweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIC8qIGxpbmUgODYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrID4gLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgOTMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLyogbGluZSA5OCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAuaW5mby1ibG9jayAudGV4dC1jb250YWluZXIgLnRleHQtYmxvY2sge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAgICAgLyogbGluZSAxMDEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAuaW5mby1ibG9jayAudGV4dC1jb250YWluZXIgLnRleHQtYmxvY2sgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgICAvKiBsaW5lIDEwNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciAudGV4dC1ibG9jayAuY29udGVudCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IH1cblxuLyogbGluZSAxMTUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LW5hbWUgLmgxLFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUgaDEge1xuICBjb2xvcjogIzMzOTlDQztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIGxpbmUgMTIyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLyogbGluZSAxMjgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtbmFtZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7IH1cbiAgLyogbGluZSAxMzMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtbmFtZSAuaDEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgLyogbGluZSAxNDMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAvKiBsaW5lIDE1Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuZXh0cmEtaW5mbyxcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1pbmZvIHtcbiAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC8qIGxpbmUgMTYyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAvKiBsaW5lIDE2Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5zaG9ydC1kZXNjcmlwdGlvbiAuc3RkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLyogbGluZSAxNzUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnJhdGluZ3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAvKiBsaW5lIDE3OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuYXZhaWxhYmlsaXR5IHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLyogbGluZSAxODMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC8qIGxpbmUgMTg2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAub2xkLXByaWNlLFxuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlLFxuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLyogbGluZSAxOTMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIC5wcmljZSxcbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLmZ1bGwtcHJvZHVjdC1wcmljZSAucHJpY2Uge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgLyogbGluZSAyMDMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLyogbGluZSAyMDgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIHNwYW4ud2VlZSB7XG4gICAgICBjb2xvcjogIzYzNjM2MzsgfVxuICAgICAgLyogbGluZSAyMTEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Ugc3Bhbi53ZWVlIHNwYW4ucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAvKiBsaW5lIDIxNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6ICM2MzYzNjM7IH1cbiAgICAgIC8qIGxpbmUgMjIzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1leGNsdWRpbmctdGF4IC5sYWJlbCxcbiAgICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgLyogbGluZSAyMjgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLnByaWNlLFxuICAgICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi8qIGxpbmUgMjM2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LXZpZXcgLnByaWNlLWJveC5tYXAtaW5mbyBhIHtcbiAgZGlzcGxheTogaW5oZXJpdDsgfVxuXG4vKiBsaW5lIDI0MSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5vbGQtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDI0NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5vbGQtcHJpY2UgLnByaWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4vKiBsaW5lIDI1MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAuYmxvY2stcmVsYXRlZCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiByaWdodDtcbiAgY2xlYXI6IHJpZ2h0OyB9XG5cbi8qIGxpbmUgMjU5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9XG4gIC8qIGxpbmUgMjYzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWJsb2NrIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgLyogbGluZSAyNjcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1ibG9jayAudGV4dC1jb250YWluZXIgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC8qIGxpbmUgMjcxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYmxvY2sgLnRleHQtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG5cbi8qIGxpbmUgMjc3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5jYXRhbG9nLXByb2R1Y3QtdmlldyAuaW1nLXNueCBpbWcge1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTsgfVxuXG4vKiBsaW5lIDI4Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmltZy1keCAuaW1nLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MCU7XG4gIG9yZGVyOiAyOyB9XG4gIC8qIGxpbmUgMjg2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5pbWctZHggLmltZy1jb250YWluZXIgaW1nIHtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLyogbGluZSAyOTAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5pbWctZHggLnRleHQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuICAvKiBsaW5lIDMwMywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1leGNsdWRpbmctdGF4IC5sYWJlbCxcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggLmxhYmVsIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLyogbGluZSAzMDcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCAucHJpY2UsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAxOXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDMxOCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LXdyYXBwZXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgMzI4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggLmxhYmVsLFxuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAvKiBsaW5lIDMzMiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSxcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXggLnByaWNlIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gIC8qIGxpbmUgMzQ1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJpY2UtYm94IC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAvKiBsaW5lIDM0OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcmljZS1ib3ggLnByaWNlLWV4Y2x1ZGluZy10YXggc3BhbixcbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAucHJpY2UtaW5jbHVkaW5nLXRheCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLyogbGluZSAzNTgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtaW1nLWJveCB7XG4gIHdpZHRoOiA2MyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgMzYzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1uYW1lIGgxIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLyogbGluZSAzNjgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAvKiBsaW5lIDM3Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNzUwcHg7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMzg5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4OyB9IH1cblxuLyogbGluZSAzOTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDM5Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkgLnNsaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAvKiBsaW5lIDQwMCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSAuc2xpZGUgLm51bSB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgLyogbGluZSA0MTIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IC5nYWxsZXJ5LWltYWdlLnZpc2libGUuaGlkZGVuIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLyogbGluZSAyNywgc2Nzcy9taXhpbi9fbG9hZGluZy1vdmVybGF5LnNjc3MgKi9cbiAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeTpiZWZvcmUsIC5wcm9kdWN0LWltYWdlLWdhbGxlcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAzOCwgc2Nzcy9taXhpbi9fbG9hZGluZy1vdmVybGF5LnNjc3MgKi9cbiAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC8qIGxpbmUgNDQsIHNjc3MvbWl4aW4vX2xvYWRpbmctb3ZlcmxheS5zY3NzICovXG4gIC5wcm9kdWN0LWltYWdlLWdhbGxlcnk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9vcGMtYWpheC1sb2FkZXIuZ2lmXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgLyogbGluZSA1MSwgc2Nzcy9taXhpbi9fbG9hZGluZy1vdmVybGF5LnNjc3MgKi9cbiAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeS5sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDU0LCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkubG9hZGluZzpiZWZvcmUsIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkubG9hZGluZzphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBsaW5lIDQyMiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyogbGluZSA0MjUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtaW1hZ2UtdGh1bWJzIGxpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cblxuLyogbGluZSA0MjgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtaW1hZ2UtdGh1bWJzIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi8qIGxpbmUgNDM1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5uby10b3VjaCAucHJvZHVjdC1pbWFnZS10aHVtYnMgYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2M3YzdjNzsgfVxuXG4vKiBsaW5lIDQ0MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuLnByb2R1Y3QtdmlldyAuYmxvY2stcmVsYXRlZCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4vKiBsaW5lIDQ0Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1pbWctYm94IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4vKiBsaW5lIDQ1MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4ucHJvZHVjdC1pbWctYm94LFxuLnByb2R1Y3QtY29sbGF0ZXJhbCxcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQsXG4uYm94LWNvbGxhdGVyYWwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIGxpbmUgNDU4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LXZpZXcge1xuICAvKiBTZXQgYSBtaW4taGVpZ2h0IHNvIHRoYXQgdGhlIGZsb2F0ZWQgZWxlbWVudHMgYnJlYWsgYXBwcm9wcmlhdGVseSAqLyB9XG4gIC8qIGxpbmUgNDYwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWJveDphZnRlcixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNDY1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAvKiBsaW5lIDQ3Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlcixcbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94LFxuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4OyB9XG4gIC8qIGxpbmUgNDc4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94LFxuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIsXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLmJ1dHRvbixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLyogbGluZSA0ODUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIsXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlciBsYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDQ5Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlciBsYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgLyogbGluZSA0OTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgLnF0eSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC8qIGxpbmUgNTAxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgNTA2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIC5wYXlwYWwtbG9nbyB7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLyogbGluZSA1MTAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28gLnBheXBhbC1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNzBweDsgfVxuICAgICAgLyogbGluZSA1MTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28gLmJtbF9idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE3NHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICAvKiBsaW5lIDUyMSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIC5ibWxfYnV0dG9uIGEge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLyogbGluZSA1MjYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgNTM3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7IH1cbiAgICAvKiBsaW5lIDUyLCBzY3NzL21peGluL19jdXN0b20uc2NzcyAqL1xuICAgIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLyogbGluZSA1NDksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5hbGVydC1wcmljZSxcbiAgLnByb2R1Y3QtdmlldyAuYWxlcnQtc3RvY2sge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSA1NTcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIC5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIC8qIGxpbmUgNTYxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWxvZ28sXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1vcixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAucGF5cGFsLWJ1dHRvbixcbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuLyogVGhpcyBpcyB0aGUgXCJvclwiIHRoYXQgc2VwYXJhdGVzIHRoZSBcIkFkZCB0byBDYXJ0XCIgYW5kIFwiQWRkIHRvIFhcIiBsaW5rcyAqL1xuLyogbGluZSA1NzYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLmFkZC10by1ib3ggLm9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDU4MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3Mge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNTg3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWxpbmtzOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDU5MSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSA1OTUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tbGlua3MgYSB7XG4gICAgcGFkZGluZzogMnB4IDdweCAycHggMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0NDQ0NDQzsgfVxuICAvKiBsaW5lIDYwMSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4OyB9XG4gIC8qIGxpbmUgNjA1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWxpbmtzIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7IH1cblxuLyogbGluZSA2MTAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rcyB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgNjEzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rczphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA2MTcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwcHggN3B4IDdweDsgfVxuICAvKiBsaW5lIDYyMiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYSB7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4OyB9XG4gIC8qIGxpbmUgNjI5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuc2hhcmluZy1saW5rcyBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLyogbGluZSA2MzIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay13aXNobGlzdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yMjVweDsgfVxuICAvKiBsaW5lIDYzNSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYS5saW5rLWNvbXBhcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjUwcHg7IH1cbiAgLyogbGluZSA2MzgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay1lbWFpbC1mcmllbmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzIycHg7IH1cbiAgLyogbGluZSA2NDEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5zaGFyaW5nLWxpbmtzIGEubGluay1mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00MjVweDsgfVxuICAvKiBsaW5lIDY0NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3MgYS5saW5rLXR3aXR0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzcycHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDY1MSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5hZGQtdG8tYm94IC5hZGQtdG8tbGlua3MgYSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1pbmRlbnQ6IDA7IH0gfVxuXG4vKiBsaW5lIDY1OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA2NjEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgIC8qIGxpbmUgNjY0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC8qIGxpbmUgNjY5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaSBzcGFuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDsgfVxuICAgIC8qIGxpbmUgNjc3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaS5jdXJyZW50IHtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAvKiBsaW5lIDY3OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaS5jdXJyZW50IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGEgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLyogbGluZSA2ODcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgZGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAgIC8qIGxpbmUgNjkyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgZGQgLnRhYi1jb250ZW50IC5zdGQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgLyogbGluZSA2OTgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY29sbGF0ZXJhbCAuY29sbGF0ZXJhbC10YWJzIGRkIC50YWItY29udGVudCAuc3RkIC5zaGFyZS1zb2NpYWwtY29udGFpbmVyIC5zaGFyZS1zb2NpYWwtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7IH1cbiAgICAgICAgLyogbGluZSA3MDIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgZGQgLnRhYi1jb250ZW50IC5zdGQgLnNoYXJlLXNvY2lhbC1jb250YWluZXIgLnNoYXJlLXNvY2lhbC1jb250ZW50IGEgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cblxuLyogbGluZSA3MTcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLmNvbGxhdGVyYWwtdGFicyBkZCBoMiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA3MjMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLmJveC1jb2xsYXRlcmFsIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAvKiBsaW5lIDI3LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyB9XG4gICAgLyogbGluZSAzNCwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAvKiBsaW5lIDM5LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaSA+IHNwYW4ge1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogLTFweDsgfVxuICAgIC8qIGxpbmUgNTMsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaS5jdXJyZW50IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDQ0NDQ0M7IH1cbiAgICAgIC8qIGxpbmUgNTcsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIGxpLmN1cnJlbnQgPiBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgei1pbmRleDogNTsgfVxuICAgIC8qIGxpbmUgNjgsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgIC8qIGxpbmUgNzIsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFiczphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA3Nywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSA4MCwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGR0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDg0LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLyogbGluZSA5Miwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGRkLmN1cnJlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgMTIzLCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTI4LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gIC5wcm9kdWN0LWNvbGxhdGVyYWwgPiBkbCA+IGR0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjRweDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0NDQ0NDQztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMTEwLCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMzMzk5Q0M7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbGVmdDogMTBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAgIC8qIGxpbmUgMTE3LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuICAvKiBsaW5lIDEzMywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkZCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0NDQ0NDQzsgfVxuICAvKiBsaW5lIDE0MCwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7IH1cbiAgLyogbGluZSAxNDgsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gICAgLyogbGluZSAxNTIsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdDpob3ZlciB7XG4gICAgICBjb2xvcjogIzMzOTlDQzsgfVxuICAgIC8qIGxpbmUgMTU1LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMzM5OUNDO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgLyogbGluZSAxNTgsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkdC5sYXN0IHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgfVxuICAvKiBsaW5lIDE2Mywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsID4gZGwgPiBkZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDE3MSwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAucHJvZHVjdC1jb2xsYXRlcmFsLmFjY29yZGlvbi1vcGVuID4gZGwgPiBkdC5jdXJyZW50IHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cbiAgLyogbGluZSAxNzUsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbC5hY2NvcmRpb24tb3BlbiA+IGRsID4gZHQuY3VycmVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjMzM5OUNDO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbGVmdDogNnB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLyogbGluZSAxODMsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgLnByb2R1Y3QtY29sbGF0ZXJhbC5hY2NvcmRpb24tb3BlbiA+IGRsID4gZGQuY3VycmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgNzQ0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC13cmFwcGVyLFxuICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAucHJvZHVjdC1pbWctYm94LFxuICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKiBsaW5lIDc1Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgLnNsaWRlIC5udW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA3NTksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLyogbGluZSA3NjksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtbmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA3NzIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgNzc5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuICAucHJvZHVjdC1pbWctYm94LFxuICAucHJvZHVjdC1jb2xsYXRlcmFsLFxuICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAuYm94LWNvbGxhdGVyYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4vKiBsaW5lIDc4OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5yYXRpbmdzIC5yYXRpbmctbGlua3Mge1xuICBjbGVhcjogbGVmdDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLyogbGluZSA3OTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuI3Byb2R1Y3QtYXR0cmlidXRlLXNwZWNzLXRhYmxlIHtcbiAgbWF4LXdpZHRoOiA1MGVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzA3MDcwOyB9XG4gIC8qIGxpbmUgODAwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgI3Byb2R1Y3QtYXR0cmlidXRlLXNwZWNzLXRhYmxlIHRoIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNzA3MDcwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzA3MDcwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENhdGFsb2cgLSBHcm91cGVkIFByb2R1Y3QgTGlzdFxuICovXG4vKiBsaW5lIDgxMCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4uZ3JvdXBlZC1pdGVtcy10YWJsZS13cmFwcGVyIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzcwNzA3MDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLyogbGluZSA4MTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAuZ3JvdXBlZC1pdGVtcy10YWJsZS13cmFwcGVyIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC8qIGxpbmUgODEwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAuZ3JvdXBlZC1pdGVtcy10YWJsZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4vKiBsaW5lIDgyNSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSAubmFtZS13cmFwcGVyIHtcbiAgY29sb3I6ICMzMzk5Q0M7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDgzMCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4uZ3JvdXBlZC1pdGVtcy10YWJsZSAucXR5LXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogN3B4OyB9XG5cbi8qIGxpbmUgODM0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5ncm91cGVkLWl0ZW1zLXRhYmxlIC5xdHktbGFiZWwge1xuICBtYXJnaW4tbGVmdDogN3B4OyB9XG5cbi8qIGxpbmUgODM5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5ncm91cGVkLWl0ZW1zLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogNHB4OyB9XG4gIC8qIGxpbmUgODQyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmdyb3VwZWQtaXRlbXMtdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qIGxpbmUgODQ3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5ncm91cGVkLWl0ZW1zLXRhYmxlIC5wcmljZS1ib3gge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdCBPcHRpb25zXG4gKi9cbi8qIGxpbmUgODU2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgcGFkZGluZzogMTBweCAxNXB4IDE1cHg7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gIC8qIGxpbmUgODY0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3Qtb3B0aW9ucyAubGFzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSA4NjcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1vcHRpb25zID4gYSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAvKiBsaW5lIDg3Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LW9wdGlvbnMgLnBvcHVwLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwNDI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICAvKiBsaW5lIDg4NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LW9wdGlvbnMgLnBvcHVwLXNpemUtZ3VpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwNDM7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAvKiBsaW5lIDg5NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyAucG9wdXAtc2l6ZS1ndWlkZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLyogbGluZSA5MDEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LW9wdGlvbnMgLnBvcHVwLXNpemUtZ3VpZGUgLmNsb3NlcG9wdXAge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLWljb24uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAvKiBsaW5lIDkxMywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyAucG9wdXAtc2l6ZS1ndWlkZSAjc2l6ZS1ndWlkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgei1pbmRleDogMTA0NTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH1cbiAgICAgIC8qIGxpbmUgOTI1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LW9wdGlvbnMgLnBvcHVwLXNpemUtZ3VpZGUgI3NpemUtZ3VpZGUgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC8qIGxpbmUgOTMxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3Qtb3B0aW9ucyAuc2l6ZS1ndWlkZS10aXRsZSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLyogbGluZSA5MzgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1vcHRpb25zIC5zaXplZ3VpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAvKiBsaW5lIDk0MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyAuc2l6ZWd1aWRlIHRhYmxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDExcHg7IH1cbiAgICAvKiBsaW5lIDk0NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3Qtb3B0aW9ucyAuc2l6ZWd1aWRlIHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAvKiBsaW5lIDk0Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1vcHRpb25zIC5zaXplZ3VpZGUgdHIgLmZpcnN0LWNvbHVtbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLyogbGluZSA5NTgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3Qtb3B0aW9ucyAuc2l6ZWd1aWRlIHRyIHRoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtaW4td2lkdGg6IDUwcHg7IH1cbiAgICAgICAgLyogbGluZSA5NjYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAucHJvZHVjdC1vcHRpb25zIC5zaXplZ3VpZGUgdHIgdGg6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDExMHB4OyB9XG4gICAgICAvKiBsaW5lIDk3MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1vcHRpb25zIC5zaXplZ3VpZGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjVmNTsgfVxuXG4vKiBsaW5lIDk3Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIHAucmVxdWlyZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICByaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDk4NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAucmVxdWlyZWQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0gfVxuXG4vKiBsaW5lIDk5MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIGR0IHtcbiAgbWFyZ2luOiAxMHB4IDAgM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qIGxpbmUgOTk1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgZHQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIGxpbmUgOTk5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1ob2xkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAwIDAgMDsgfVxuXG4vKiBsaW5lIDEwMDQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyBkZCAucXR5LWhvbGRlciAucXR5IHtcbiAgd2lkdGg6IDNlbTsgfVxuXG4vKiBsaW5lIDEwMDgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyBkZCAucXR5LWhvbGRlciBsYWJlbCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogbGluZSAxMDEyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgZGQgLnF0eS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMCAycHg7IH1cblxuLyogbGluZSAxMDE4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgZGQge1xuICBwYWRkaW5nOiAxNXB4IDAgMTBweCAwO1xuICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgLyogbGluZSAxMDIyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDEwMjQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LW9wdGlvbnMgZGQgLmlucHV0LWJveCAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYTBhMGE7IH1cbiAgICAgIC8qIGxpbmUgMTAyNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1vcHRpb25zIGRkIC5pbnB1dC1ib3ggLnNlbGVjdDItY29udGFpbmVyIHNwYW4uc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgICAgLyogbGluZSAxMDMyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IC5zZWxlY3QyLWNvbnRhaW5lciBzcGFuLnNlbGVjdGlvbiAuc2VsZWN0Mi1zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICByaWdodDogNSU7XG4gICAgICAgICAgdG9wOiAxMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7IH1cbiAgICAvKiBsaW5lIDEwNDksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LW9wdGlvbnMgZGQgLmlucHV0LWJveCAuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gc3Bhbi5zZWxlY3Rpb24gLnNlbGVjdDItc2VsZWN0aW9uIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgICAgIHRvcDogMjUlOyB9XG4gIC8qIGxpbmUgMTA1Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LW9wdGlvbnMgZGQgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgbWFyZ2luLXRvcDogMHB4OyB9XG5cbi8qIGxpbmUgMTA2OCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4uc2VsZWN0Mi1yZXN1bHRzIHVsIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4vKiBsaW5lIDEwNzYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyBkbC5sYXN0IGRkLmxhc3Qge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgMTA4Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5pbnB1dC10ZXh0IHtcbiAgd2lkdGg6IDk4JTsgfVxuXG4vKiBsaW5lIDEwODYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLyogbGluZSAxMDkwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgZGQgaW5wdXQuZGF0ZXRpbWUtcGlja2VyIHtcbiAgd2lkdGg6IDE1MHB4OyB9XG5cbi8qIGxpbmUgMTA5NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIGRkIC50aW1lLXBpY2tlciB7XG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICp2ZXJ0aWNhbC1hbGlnbjogYXV0bztcbiAgem9vbTogMTtcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMnB4IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogbGluZSAxMTAwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgZGQgdGV4dGFyZWEge1xuICB3aWR0aDogOTglO1xuICBoZWlnaHQ6IDhlbTsgfVxuXG4vKiBsaW5lIDExMDUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyBkZCBzZWxlY3Qge1xuICB3aWR0aDogMzMwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDExMTAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4vKiBsaW5lIDExMTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGkge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cblxuLyogbGluZSAxMTE5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgMTEyMywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAucmFkaW8sXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAuY2hlY2tib3gge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi8qIGxpbmUgMTEyOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBsaW5lIDExMzMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3QgbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qIGxpbmUgMTEzNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zIHAubm90ZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi8qIGxpbmUgMTE0Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjazsgfVxuXG4vKiBsaW5lIDExNTIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b206YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgMTE1Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IDA7XG4gIGNvbG9yOiAjNjM2MzYzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLyogbGluZSAxMTU2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJvZHVjdC1wcmljaW5nLFxuICAgIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDOyB9IH1cblxuLyogbGluZSAxMTc1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyBsaSB7XG4gIGJhY2tncm91bmQ6IDA7XG4gIHBhZGRpbmc6IDJweCAwOyB9XG5cbi8qIGxpbmUgMTE4MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMgLnByaWNlLFxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnRpZXItcHJpY2VzIC5iZW5lZml0IHtcbiAgY29sb3I6ICM2MzYzNjM7IH1cblxuLyogXCJkaXNwbGF5OiBub25lXCIgc2hvdWxkIGJlIHJlbW92ZWQgaWYgcHJvZHVjdHMgb24gc2l0ZSBoYXZlIGEgbG9uZyBsaXN0IG9mIHByb2R1Y3Qgb3B0aW9ucyBhbmQgdGhvc2UgcHJvZHVjdCBvcHRpb25zICovXG4vKiAgYWZmZWN0IHRoZSBwcmljZSBzbyB0aGF0IHRoZSBjdXN0b21lciBjYW4gc2VlIHRoZSB1cGRhdGVkIHByaWNlIGNsb3NlIHRvIHRoZSBcIkFkZCB0byBDYXJ0XCIgYnV0dG9uICovXG4vKiBsaW5lIDExODcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMTE5NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3ggLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLyogbGluZSAxMTk4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtYm94IC5wcmljZS1hcy1jb25maWd1cmVkIC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qIGxpbmUgMTIwNCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAucHJpY2UtdGF4IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmVsYXRlZCBQcm9kdWN0c1xuICovXG4vKiBCbG9jazogUmVsYXRlZCAqL1xuLyogbGluZSAxMjE0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5ibG9jay1yZWxhdGVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICBtYXJnaW4tdG9wOiAxMyU7IH1cbiAgLyogbGluZSAxMjE5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJsb2NrLXJlbGF0ZWQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuICAvKiBsaW5lIDEyMjMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAuYmxvY2stcmVsYXRlZCAuYmxvY2stdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLyogbGluZSAxMjI3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAuYmxvY2stcmVsYXRlZCAuYmxvY2stdGl0bGUgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luLXRvcDogNTAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC8qIGxpbmUgMTIzOCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5ibG9jay1yZWxhdGVkIC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gIC8qIGxpbmUgMTI0Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAvKiBsaW5lIDEyNDYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAuYmxvY2stcmVsYXRlZCAuY2hlY2tib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDM2cHg7IH1cbiAgLyogbGluZSAxMjUxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgbWFyZ2luLWxlZnQ6IDkwcHg7IH1cbiAgLyogbGluZSAxMjU1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4OyB9XG4gIC8qIGxpbmUgMTI1OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCB7XG4gICAgbWFyZ2luOiAycHggMCAzcHg7IH1cbiAgICAvKiBsaW5lIDEyNjIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBhLFxuICAgIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBwLFxuICAgIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBzcGFuIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuICAgICAgLyogbGluZSAxMjY4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveCBhOmZpcnN0LWNoaWxkLFxuICAgICAgLmJsb2NrLXJlbGF0ZWQgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IHA6Zmlyc3QtY2hpbGQsXG4gICAgICAuYmxvY2stcmVsYXRlZCAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3ggc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgICAvKiBsaW5lIDEyNzUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5ibG9jay1yZWxhdGVkIC5wcm9kdWN0LWRldGFpbHMgLnByaWNlLWJveDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAxMjc5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJsb2NrLXJlbGF0ZWQgLmxpbmstd2lzaGxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAxMjg0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgMTI4OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCAuaXRlbSB7XG4gICAgICBtYXgtd2lkdGg6IDI4LjUlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0JTsgfVxuICAgICAgLyogbGluZSAxMjk0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3Qge1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTI5Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgYSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC8qIGxpbmUgMTI5OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgICAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCAuaXRlbSAucHJvZHVjdCBhIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAvKiBsaW5lIDEzMDMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgYTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC8qIGxpbmUgMTMwNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgICAvKiBsaW5lIDEzMTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlsczpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgICAgIC8qIGxpbmUgMTMxOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgICAgICAuYmxvY2stcmVsYXRlZCAuYmxvY2stY29udGVudCAubWluaS1wcm9kdWN0cy1saXN0IC5pdGVtIC5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHM6aG92ZXIgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgICAgICAvKiBsaW5lIDEzMjIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgICAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCAuaXRlbSAucHJvZHVjdCAucHJvZHVjdC1kZXRhaWxzOmhvdmVyIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgICAvKiBsaW5lIDEzMjYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7IH1cbiAgICAgICAgICAgIC8qIGxpbmUgMTMzNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgICAgICAuYmxvY2stcmVsYXRlZCAuYmxvY2stY29udGVudCAubWluaS1wcm9kdWN0cy1saXN0IC5pdGVtIC5wcm9kdWN0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgICAgICAvKiBsaW5lIDEzNDEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyAucHJpY2UtYm94IC5yZWd1bGFyLXByaWNlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OyB9XG4gICAgICAgICAgICAvKiBsaW5lIDEzNDMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgICAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCAuaXRlbSAucHJvZHVjdCAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gICAgICAvKiBsaW5lIDEzNTEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBVcHNlbGwgUHJvZHVjdHNcbiAqL1xuLyogbGluZSAxMzY0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5ib3gtdXAtc2VsbCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLyogbGluZSAxMzY3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJveC11cC1zZWxsIC5yYXRpbmdzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC8qIGxpbmUgMTM3Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICNzaXplLWd1aWRlIHtcbiAgICB3aWR0aDogOTB2dztcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAgIC8qIGxpbmUgMTM3Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgI3NpemUtZ3VpZGUgLnNpemVndWlkZSB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAvKiBsaW5lIDEzODAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICNzaXplLWd1aWRlIC5zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgMTM4Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICNzaXplLWd1aWRlIHtcbiAgICB3aWR0aDogOTB2dztcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAgIC8qIGxpbmUgMTM5MSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgI3NpemUtZ3VpZGUgLnNpemVndWlkZSB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAvKiBsaW5lIDEzOTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICNzaXplLWd1aWRlIC5zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAxMzk5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3Qtdmlldy5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmluZm8tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSAxNDA5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3LnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuaW5mby1ibG9jayAudGV4dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLyogbGluZSAxNDIyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuaW5mby1ibG9jayB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMTQyNSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAuaW5mby1ibG9jayA+IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE0MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgIHRvcDogMDsgfVxuICAgIC8qIGxpbmUgMTQzMiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAuaW5mby1ibG9jayAudGV4dC1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLyogbGluZSAxNDM3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LXZpZXcgLmluZm8tYmxvY2sgLnRleHQtY29udGFpbmVyIC50ZXh0LWJsb2NrIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfVxuICAgICAgICAvKiBsaW5lIDE0MzksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciAudGV4dC1ibG9jayAudGl0bGUsIC5wcm9kdWN0LXZpZXcgLmluZm8tYmxvY2sgLnRleHQtY29udGFpbmVyIC50ZXh0LWJsb2NrIC5jb250ZW50IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxNDQ1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLyogbGluZSAxNDQ3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydC1idXR0b25zIC5idXR0b24ge1xuICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDE0NTIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kb3R0byBwZXJzb25hbGl6emF0b1xuICovXG4vKiBsaW5lIDE0NjcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtY3VzdG9tIC5zdGlja3ktd3JhcHBlciB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSAxNDcxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1pbWctYm94IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGZsb2F0OiBub25lOyB9XG4gIC8qIGxpbmUgMTQ3Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlOmhvdmVyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDE0ODAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC8qIGxpbmUgMTQ4NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgLyogbGluZSAxNDkwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IGltZyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgd2lkdGg6IDIwdnc7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAvKiBsaW5lIDE0OTksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkgLnNsaWNrLWFycm93IHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzBhMGEwYTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC8qIGxpbmUgMTUwNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IC5zbGljay1hcnJvdy5hcnJvdy1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLyogbGluZSAxNTA4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSAuc2xpY2stYXJyb3cuYXJyb3ctbmV4dCBkaXYge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH1cbiAgICAgIC8qIGxpbmUgMTUxNCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IC5zbGljay1hcnJvdyBkaXYge1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgIC8qIGxpbmUgMTUyNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeTpob3ZlciB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDE1MzAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuYmFzaWMtaW5mbyB7XG4gICAgd2lkdGg6IDIwdnc7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAvKiBsaW5lIDE1MzUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5iYXNpYy1pbmZvIC5zaG9ydC1kZXNjcmlwdGlvbiAuc3RkIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC8qIGxpbmUgMTUzOCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLmJhc2ljLWluZm8gLnByaWNlLWluZm8ge1xuICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgIC8qIGxpbmUgMTU0Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuYmFzaWMtaW5mbyAucHJpY2UtaW5mbyAucHJpY2UtYm94IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgICAgLyogbGluZSAxNTQ1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLmJhc2ljLWluZm8gLnByaWNlLWluZm8gLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgIC8qIGxpbmUgMTU1MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLmJhc2ljLWluZm8gLnNob3J0LWRlc2NyaXB0aW9uIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC8qIGxpbmUgMTU1Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLmJhc2ljLWluZm8gLmJ1dHRvbiB7XG4gICAgICBtYXgtd2lkdGg6IDE4MHB4OyB9XG4gICAgLyogbGluZSAxNTU2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuYmFzaWMtaW5mbyAuc2hhcmUtc29jaWFsLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4OyB9XG4gICAgICAvKiBsaW5lIDE1NTgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLmJhc2ljLWluZm8gLnNoYXJlLXNvY2lhbC1jb250YWluZXIgLnNoYXJlLXNvY2lhbC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWluLXdpZHRoOiAxMjBweDsgfVxuICAgICAgICAvKiBsaW5lIDE1NjIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuYmFzaWMtaW5mbyAuc2hhcmUtc29jaWFsLWNvbnRhaW5lciAuc2hhcmUtc29jaWFsLWNvbnRlbnQgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICBtYXJnaW46IDAgMTBweDsgfVxuICAvKiBsaW5lIDE1NzAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsLWluZm8tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWxlZnQ6IDkwcHg7IH1cbiAgLyogbGluZSAxNTc2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLyogbGluZSAxNTc5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFicyBsaSBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gIC8qIGxpbmUgMTU4NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiIHtcbiAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAvKiBsaW5lIDE1OTEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7IH1cbiAgICAvKiBsaW5lIDE1OTIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgaDIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgMTYwMiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbCAuY29sbGF0ZXJhbC10YWJzIC50YWItY29udGVudCAucG9wdXAtb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTA0MjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgICAvKiBsaW5lIDE2MTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgLnBvcHVwLXNpemUtZ3VpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwNDM7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC8qIGxpbmUgMTYyNCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgLnRhYi1jb250ZW50IC5wb3B1cC1zaXplLWd1aWRlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC8qIGxpbmUgMTYzMCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgLnRhYi1jb250ZW50IC5wb3B1cC1zaXplLWd1aWRlIC5jbG9zZXBvcHVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLWljb24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC8qIGxpbmUgMTY0Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgLnRhYi1jb250ZW50IC5wb3B1cC1zaXplLWd1aWRlICNzaXplLWd1aWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB6LWluZGV4OiAxMDQ1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH1cbiAgICAgICAgLyogbGluZSAxNjU0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbCAuY29sbGF0ZXJhbC10YWJzIC50YWItY29udGVudCAucG9wdXAtc2l6ZS1ndWlkZSAjc2l6ZS1ndWlkZSAuc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAvKiBsaW5lIDE2NjAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgLnNpemUtZ3VpZGUtdGl0bGUge1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLyogbGluZSAxNjY4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgLnRhYi1jb250ZW50IC5zaXplZ3VpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgLyogbGluZSAxNjcwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgLnNpemVndWlkZSB0YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgICAgLyogbGluZSAxNjc0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgLnNpemVndWlkZSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgLyogbGluZSAxNjc3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbCAuY29sbGF0ZXJhbC10YWJzIC50YWItY29udGVudCAuc2l6ZWd1aWRlIHRyIC5maXJzdC1jb2x1bW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIC8qIGxpbmUgMTY4OCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgLnNpemVndWlkZSB0ciB0aCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDUwcHg7IH1cbiAgICAgICAgICAvKiBsaW5lIDE2OTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyAudGFiLWNvbnRlbnQgLnNpemVndWlkZSB0ciB0aDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMTBweDsgfVxuICAgICAgICAvKiBsaW5lIDE3MDAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIC5jb2xsYXRlcmFsLXRhYnMgLnRhYi1jb250ZW50IC5zaXplZ3VpZGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmNWY1OyB9XG4gIC8qIGxpbmUgMTcwNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLmNvbGxhdGVyYWwtdGFicyBkZCB7XG4gICAgcGFkZGluZy10b3A6IDBweDsgfVxuICAvKiBsaW5lIDE3MTEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuc2hpcHBpbmctbGluayB7XG4gICAgd2lkdGg6IDMwdnc7XG4gICAgbGluZS1oZWlnaHQ6IDIuNDsgfVxuICAgIC8qIGxpbmUgMTcxNCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnNoaXBwaW5nLWxpbmsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKiBsaW5lIDE3MjEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLnByb2R1Y3QtY3VzdG9tIC5iYXNpYy1wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgd2lkdGg6IDI2JTsgfVxuICAvKiBsaW5lIDE3MjQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLmJhc2ljLXByb2R1Y3QtaW5mby1jb250YWluZXIgI2ltYWdlLW1haW4ge1xuICAgIHdpZHRoOiAyMHZ3OyB9XG5cbi8qIGxpbmUgMTcyOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtY29sbGF0ZXJhbC1jb250YWluZXIge1xuICB3aWR0aDogNzQlOyB9XG5cbi8qIGxpbmUgMTczMywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIHtcbiAgbWFyZ2luLXRvcDogODBweDsgfVxuICAvKiBsaW5lIDE3MzUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogOTBweDsgfVxuICAgIC8qIGxpbmUgMTc0MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwLnZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLyogbGluZSAxNzQ0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcC52aWRlbyA+IGltZyB7XG4gICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAvKiBsaW5lIDE3NDcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwLnZpZGVvIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLyogbGluZSAxNzU3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcC52aWRlbyAuaW5mby1ibG9jayB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIG9yZGVyOiAzOyB9XG4gICAgLyogbGluZSAxNzYyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXAgLmltZy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTAlOyB9XG4gICAgICAvKiBsaW5lIDE3NjUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwIC5pbWctY29udGFpbmVyIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAxNzY5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAzNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNSU7IH1cbiAgICAgIC8qIGxpbmUgMTc3Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXAgLnRleHQtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDglO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAvKiBsaW5lIDE3ODAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwIC50ZXh0LWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAvKiBsaW5lIDE3ODgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwIC50ZXh0LWNvbnRhaW5lciBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAvKiBsaW5lIDE3OTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcCB2aWRlbyB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiAwIDclO1xuICAgICAgcGFkZGluZy10b3A6IDE1JTsgfVxuICAvKiBsaW5lIDE4MDAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5pbmZvLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxOCU7XG4gICAgbWFyZ2luLWxlZnQ6IDkwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAxODA0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAvKiBsaW5lIDE4MTIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAuYmxvY2stcmVsYXRlZCAuYmxvY2stY29udGVudCAubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLyogbGluZSAxODE0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAuYmxvY2stcmVsYXRlZCAuYmxvY2stY29udGVudCAubWluaS1wcm9kdWN0cy1saXN0IC5pdGVtIHtcbiAgICAgIG1heC13aWR0aDogNDMuNSU7IH1cbiAgICAvKiBsaW5lIDE4MTcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAxODIxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAuaW5mby1ibG9jayAudGV4dC1jb250YWluZXIgLnRleHQtYmxvY2sgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgMTgyNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmluZm8tYmxvY2sgLnRleHQtY29udGFpbmVyIC50ZXh0LWJsb2NrIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgLyogbGluZSAxODI5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciAudGV4dC1ibG9jayAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxODM0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3Age1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAvKiBsaW5lIDE4MzgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5iYXNpYy1wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAxODQxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuYmFzaWMtaW5mbyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLyogbGluZSAxODQzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5iYXNpYy1pbmZvIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIC8qIGxpbmUgMTg0Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5iYXNpYy1pbmZvIC5idXR0b246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgIC8qIGxpbmUgMTg1Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAuYmFzaWMtaW5mbyAuc2hhcmUtc29jaWFsLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC8qIGxpbmUgMTg1Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9XG4gICAgICAvKiBsaW5lIDE4NjAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbC1jb250YWluZXIgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgMTg2Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsLWNvbnRhaW5lciAucHJvZHVjdC1jb2xsYXRlcmFsLWluZm8tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC8qIGxpbmUgMTg2OCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsLWNvbnRhaW5lciAuY29sbGF0ZXJhbC10YWJzIC50YWItY29udGVudCAjc2l6ZS1ndWlkZSB7XG4gICAgICAgIHdpZHRoOiA4MCU7IH1cbiAgICAvKiBsaW5lIDE4NzQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwtaW5mby1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC8qIGxpbmUgMTg3Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgMTg4MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LXNob3AgLnNoaXBwaW5nLWxpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxODg0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC8qIGxpbmUgMTg4Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC8qIGxpbmUgMTg5MCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAvKiBsaW5lIDE4OTMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgICAgLyogbGluZSAxODk2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcCAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLyogbGluZSAxOTAwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwIC5pbWctY29udGFpbmVyIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMDsgfVxuICAgICAgLyogbGluZSAxOTA0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcCAudGV4dC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLyogbGluZSAxOTA5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwIC50ZXh0LWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgICAgIC8qIGxpbmUgMTkxMywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXAudmlkZW8ge1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC8qIGxpbmUgMTkxNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcC52aWRlbyA+IGltZyB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgd2lkdGg6IDE0NSU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgICAvKiBsaW5lIDE5MjQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC5jb25maWd1cmF0aW9uLXN0ZXAudmlkZW8gLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTkzMSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmNvbmZpZ3VyYXRpb24tc3RlcC52aWRlbyAuaW5mby1ibG9jayB7XG4gICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAgIC8qIGxpbmUgMTkzNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwLnZpZGVvIC5pbmZvLWJsb2NrIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE0MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgIHRvcDogMDsgfVxuICAgICAgICAgIC8qIGxpbmUgMTk0Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwLnZpZGVvIC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICAgICAvKiBsaW5lIDE5NDUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgICAgICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuY29uZmlndXJhdGlvbi1zdGVwLnZpZGVvIC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciAudGV4dC1ibG9jayB7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLyogbGluZSAxOTU0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDE5NTgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSAuc2xpY2stYXJyb3cge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMGEwYTBhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC8qIGxpbmUgMTk2NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkgLnNsaWNrLWFycm93LmFycm93LW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC8qIGxpbmUgMTk2Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSAuc2xpY2stYXJyb3cuYXJyb3ctbmV4dCBkaXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuICAgIC8qIGxpbmUgMTk3Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkgLnNsaWNrLWFycm93IGRpdiB7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgLyogbGluZSAxOTg1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWltYWdlLWdhbGxlcnk6aG92ZXIge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMTk4OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAuYmFjay10by1saW5rIHtcbiAgICBtYXJnaW46IDEwcHggMCAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMTk5Miwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAuYmFzaWMtcHJvZHVjdC1pbmZvICNpbWFnZS1tYWluIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTk5Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWN1c3RvbSAucHJvZHVjdC1jb2xsYXRlcmFsIC50b2dnbGUtdGFiczphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAvKiBsaW5lIDE5OTksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkge1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLyogbGluZSAyMDAxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkubGFzdCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAvKiBsaW5lIDIwMDYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jdXN0b20gLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmVzcG9uc2l2ZVxuICovXG4vKiBsaW5lIDIwMjQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuLm1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDIwMjksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDIwMzIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAubm8tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMjAzNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgLnNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMjAzOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSAuc2xpZGUgLm51bSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMjA0Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gIC8qIGxpbmUgMjA0Nywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgLnNsaWNrLWFycm93IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAvKiBsaW5lIDIwNTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2UgLnNsaWNrLWFycm93LmFycm93LW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC8qIGxpbmUgMjA1Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIC5zbGljay1hcnJvdy5hcnJvdy1uZXh0IGRpdiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4OyB9XG4gICAgLyogbGluZSAyMDYxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlIC5zbGljay1hcnJvdyBkaXYge1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAvKiBsaW5lIDIwNzMsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LWltYWdlOmhvdmVyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDIwNzYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1pbWctYm94IC5iYWNrLXRvLWxpbmsge1xuICAgIG1hcmdpbjogMTBweCAwICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSAyMDgzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LW5hbWUgLmgxIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAvKiBsaW5lIDIwODgsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLyogbGluZSAyMDkzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLyogbGluZSAyMTAyLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMgbGkgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC8qIGxpbmUgMjEwNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1jb2xsYXRlcmFsIGRsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgMjEwOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgZGwgZHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgMjExMiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgZGwgZGQuY3VycmVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMjExNSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgZGwgZGQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gIC8qIGxpbmUgMjEyNiwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLmFkZC10by1jYXJ0LWJ1dHRvbnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMjEyOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3QtZXNzZW50aWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIC8qIGxpbmUgMjEzNCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgIC8qIGxpbmUgMjEzNywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5wcm9kdWN0LWJsb2NrLmltZy1zbngge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwdnc7IH1cbiAgICAgIC8qIGxpbmUgMjEzOSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYmxvY2suaW1nLXNueCBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSAyMTQ0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLnByb2R1Y3QtYmxvY2sgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAvKiBsaW5lIDIxNDksIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAucHJvZHVjdC1ibG9jay5pbWctZHggLmltZy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAyMTU0LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLyogbGluZSAyMTU2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLyogbGluZSAyMTYwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAuYmxvY2stcmVsYXRlZCAuYmxvY2stdGl0bGUgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMjE2NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctcHJvZHVjdC5zY3NzICovXG4gICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAvKiBsaW5lIDIxNjcsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0gLnByb2R1Y3QgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAyMTczLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC52aWRlby1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSAyMTgwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1wcm9kdWN0LnNjc3MgKi9cbiAgLmJsb2NrLXJlbGF0ZWQgLmJsb2NrLWNvbnRlbnQgLm1pbmktcHJvZHVjdHMtbGlzdCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAvKiBsaW5lIDIxODIsIHNjc3MvbW9kdWxlL19jYXRhbG9nLXByb2R1Y3Quc2NzcyAqL1xuICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3QgLml0ZW0ge1xuICAgICAgbWF4LXdpZHRoOiA0Ni41JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBNU1JQIE1BUCBQb3B1cFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuLmNhcnQtbXNycC10b3RhbHMge1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMTBweCAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIGxpbmUgNDAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuLm1hcC1jYXJ0LXNpZGViYXItdG90YWwge1xuICBjb2xvcjogcmVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMnB4IDVweDsgfVxuXG4vKiBsaW5lIDQ5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbi5tYXAtcG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDVweCBzb2xpZCAjQ0NDQ0NDO1xuICBtYXJnaW46IDEycHggMCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiA0NTBweDtcbiAgei1pbmRleDogMTAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgICAvKiBsaW5lIDU5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwLm1hcC1wb3B1cC1yaWdodCB7XG4gICAgICBsZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiBsaW5lIDYzLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwLm1hcC1wb3B1cC1sZWZ0IHtcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICAgLyogbGluZSA0OSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gICAgLm1hcC1wb3B1cCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50OyB9IH1cbiAgLyogbGluZSA3NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAvKiBsaW5lIDc5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtaGVhZGluZyBoMyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgICAvKiBsaW5lIDc5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWhlYWRpbmcgaDMge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC8qIGxpbmUgOTQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogMHB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgMTA2LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNvbnRlbnQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURFREVEO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLyogbGluZSAxMDYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuICAgICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAvKiBsaW5lIDExOCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgLyogbGluZSAxMjEsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCBmb3JtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgMTI1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMTI5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmJ1dHRvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC8qIGxpbmUgMTM1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi13aWR0aDogMjEwcHg7IH1cbiAgICAgIC8qIGxpbmUgMTM5LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAuYWRkaXRpb25hbC1hZGR0b2NhcnQtYm94IGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLyogbGluZSAxNDQsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ28ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC8qIGxpbmUgMTQ3LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ28gYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgICAvKiBsaW5lIDE1Mywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gICAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH1cbiAgICAgIC8qIGxpbmUgMTYwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAucGF5cGFsLWxvZ286YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAvKiBsaW5lIDE2NSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gICAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIC5ibWxfYnV0dG9uIGEge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgIC8qIGxpbmUgMTE4LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAvKiBsaW5lIDE3NCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gICAgICAgIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1jaGVja291dCAuYnV0dG9uLFxuICAgICAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCxcbiAgICAgICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyBhLFxuICAgICAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtY2hlY2tvdXQgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgICAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAgIC8qIGxpbmUgMTgxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5hZGRpdGlvbmFsLWFkZHRvY2FydC1ib3gge1xuICAgICAgICAgIG1pbi13aWR0aDogMHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTg1LCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAgICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0IC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAvKiBsaW5lIDE5MSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLWNoZWNrb3V0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDE5Niwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1wcmljZSB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLyogbGluZSAxOTYsIHNjc3MvbW9kdWxlL19jYXRhbG9nLW1zcnAuc2NzcyAqL1xuICAgICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLXByaWNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4OyB9IH1cbiAgICAvKiBsaW5lIDIwMywgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLXByaWNlIC5wcmljZS1ib3gsXG4gICAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLXByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC8qIGxpbmUgMjEwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgICAubWFwLXBvcHVwIC5tYXAtcG9wdXAtcHJpY2UgLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAvKiBsaW5lIDIxNSwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctbXNycC5zY3NzICovXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC10ZXh0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIC8qIGxpbmUgMjIxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbiAgLm1hcC1wb3B1cCAubWFwLXBvcHVwLXRleHQsXG4gIC5tYXAtcG9wdXAgLm1hcC1wb3B1cC1vbmx5LXRleHQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURFREVEOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBNU1JQIFByb2R1Y3QgTGlzdGluZ1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMjMxLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1tc3JwLnNjc3MgKi9cbi5wcmljZS1ib3ggLm1hcC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gQ29tcGFyZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvbW9kdWxlL19jYXRhbG9nLWNvbXBhcmUuc2NzcyAqL1xuLmJsb2NrLWNvbXBhcmUgLnByb2R1Y3QtbmFtZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogbGluZSAzNCwgc2Nzcy9tb2R1bGUvX2NhdGFsb2ctY29tcGFyZS5zY3NzICovXG4uY29tcGFyZS10YWJsZSAucHJvZHVjdC1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBsaW5lIDQwLCBzY3NzL21vZHVsZS9fY2F0YWxvZy1jb21wYXJlLnNjc3MgKi9cbi5jb21wYXJlLXRhYmxlIC5wcm9kdWN0LXNob3Atcm93LnRvcCB0ZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgNDUsIHNjc3MvbW9kdWxlL19jYXRhbG9nLWNvbXBhcmUuc2NzcyAqL1xuLmNvbXBhcmUtdGFibGUgLnByb2R1Y3Qtc2hvcC1yb3cuYm90dG9tIHRkIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBMYXlvdXRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgLyogbGluZSAzMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCAuY2FydC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzNywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCAuY2FydC10b3RhbHMtd3JhcHBlcixcbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQgLmNyb3Nzc2VsbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNsZWFyOiByaWdodDtcbiAgICB3aWR0aDogNDAlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAvKiBsaW5lIDQ0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0IC5jYXJ0LWZvcm1zIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNjAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA1Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNhcnQgLmJ1dHRvbiB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLyogbGluZSA2Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNhcnQtdGFibGUsXG4uY2FydC10b3RhbHMsXG4uY2FydC1mb3JtcyAuZGlzY291bnQsXG4uY2FydC1mb3JtcyAuZ2lmdGNhcmQsXG4uY2FydC1mb3JtcyAuc2hpcHBpbmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIGxpbmUgNzUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5jaGVja291dC1jYXJ0LWluZGV4ICNwb3N0Y29kZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgODEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LXRhYmxlIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgODYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LWZvcm1zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBsaW5lIDkyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC10b3RhbHMtd3JhcHBlcixcbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jcm9zc3NlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuLyogbGluZSA5Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtZm9ybXMsXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC10b3RhbHMtd3JhcHBlcixcbi5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jcm9zc3NlbGwge1xuICB3aWR0aDogNDAlOyB9XG5cbi8qIGxpbmUgMTAzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uZGlzcGxheS1ib3RoLXByaWNlcyAuY3Jvc3NzZWxsIHtcbiAgY2xlYXI6IHJpZ2h0O1xuICBmbG9hdDogcmlnaHQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDgxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY2FydC10YWJsZSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSA4Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtZm9ybXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgOTIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNyb3Nzc2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC8qIGxpbmUgOTcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LWZvcm1zLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC8qIGxpbmUgMTAzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY3Jvc3NzZWxsIHtcbiAgICBjbGVhcjogcmlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDEyMCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAucHJvZHVjdC1jYXJ0LXNrdSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDEyNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuZGlzcGxheS1ib3RoLXByaWNlcyAuY2FydC1mb3JtcyxcbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jcm9zc3NlbGwsXG4gIC5kaXNwbGF5LXNpbmdsZS1wcmljZSAuY2FydC1mb3JtcyxcbiAgLmRpc3BsYXktc2luZ2xlLXByaWNlIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAuZGlzcGxheS1zaW5nbGUtcHJpY2UgLmNyb3Nzc2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiBsaW5lIDEzOSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmRpc3BsYXktc2luZ2xlLXByaWNlOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIENhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDE0Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNhcnQgLnBhZ2UtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tdG9wOiAxMjBweDsgfVxuICAvKiBsaW5lIDE1MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydCAucGFnZS10aXRsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAxNTQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQgLnBhZ2UtdGl0bGUgaDEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKiBsaW5lIDE2Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNoZWNrb3V0LXR5cGVzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBXZSBhbHdheXMgd2FudCB0aGlzIHNoaXBwaW5nIG1ldGhvZCB0byBkaXNwbGF5IG9uIGl0cyBvd24gbGluZSAqLyB9XG4gIC8qIGxpbmUgMTY3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jaGVja291dC10eXBlcyBsaSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDAgMCA1cHggNXB4OyB9XG4gICAgLyogbGluZSAxNjgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2hlY2tvdXQtdHlwZXMgbGk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSAxNzQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2hlY2tvdXQtdHlwZXMgbGkgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLyogbGluZSAxNzksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LXR5cGVzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAvKiBsaW5lIDE4Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtdHlwZXMgLm1ldGhvZC1jaGVja291dC1jYXJ0LW1ldGhvZHMtbXVsdGlzaGlwcGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAxODgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LXR5cGVzLnRvcCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC8qIGxpbmUgMTkyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jaGVja291dC10eXBlcy50b3AgLmJtbF9idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLyogbGluZSAxOTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2hlY2tvdXQtdHlwZXMudG9wIC5ibWxfYnV0dG9uIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDIwMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtdHlwZXMudG9wIC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgLyogbGluZSAyMDksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LXR5cGVzLmJvdHRvbSAucGF5cGFsLWxvZ28gYSwgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IC5wYXlwYWwtbG9nbyBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDIxMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3IsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLW9yIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NDFweCkge1xuICAvKiBsaW5lIDIyMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3Ige1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7IH0gfVxuXG4vKiBsaW5lIDIzMCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNhcnQtdG90YWxzIC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0IHtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgbWluLXdpZHRoOiAxNDBweDtcbiAgbWluLWhlaWdodDogNDBweDsgfVxuICAvKiBsaW5lIDUyLCBzY3NzL21peGluL19jdXN0b20uc2NzcyAqL1xuICAuY2FydC10b3RhbHMgLmNoZWNrb3V0LXR5cGVzIC5idG4tY2hlY2tvdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDBweCkge1xuICAvKiBsaW5lIDIzOCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtdHlwZXMge1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLyogbGluZSAyNDQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2hlY2tvdXQtdHlwZXMuYm90dG9tIC5wYXlwYWwtb3IsIC5jaGVja291dC10eXBlcy5taW5pY2FydCAucGF5cGFsLW9yIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgLyogbGluZSAyNTEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLyogbGluZSAyNTksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmJ0bi1jaGVja291dCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiBsaW5lIDI2NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNhcnQtdGFibGUge1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLyogbGluZSAyNjcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgdGgsXG4gIC5jYXJ0LXRhYmxlIHRkLFxuICAuY2FydC10YWJsZSB0Ym9keSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC8qIGxpbmUgMjc1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIGgyIHtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgMjgyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIHRoZWFkIHRoLFxuICAuY2FydC10YWJsZSB0Ym9keSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuICAvKiBsaW5lIDI5Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8sXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC8qIGxpbmUgMjk4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtaW5mbyBoMi5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC8qIGxpbmUgMzA0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIGgyLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICAvKiBsaW5lIDMwNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgICAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIGgyLnByb2R1Y3QtbmFtZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC8qIGxpbmUgMzE0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzcwNzA3MDsgfVxuICAvKiBsaW5lIDMxOSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAvKiBsaW5lIDMyMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSB0Zm9vdCB0ciA+IHRkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDMyOCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSBzcGFuLm9yIHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAvKiBsaW5lIDMzNSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIC5jYXJ0LWxpbmtzLFxuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8gLmJ0bi1yZW1vdmUsXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMzQxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtaW1hZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLyogbGluZSAzNDUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7IH1cbiAgICAgIC8qIGxpbmUgMzQ3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIC5wcm9kdWN0LWltYWdlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC8qIGxpbmUgMzUxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIC5wcm9kdWN0LWltYWdlOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSAzNTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIGEuY2FydC1lZGl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAzNjEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1za3Uge1xuICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDVweCAwIDEycHg7IH1cbiAgICAvKiBsaW5lIDM2Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtc2t1IC5sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC8qIGxpbmUgMzcyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5idG4tZW1wdHkge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgMzc2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtdG90YWwsXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDM4MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAuY2FydC10YXgtdG90YWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAvKiBsaW5lIDM4NSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIC5jYXJ0LXRheC10b3RhbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCAjMzM5OUNDO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDNweDtcbiAgICAgIHJpZ2h0OiAtMTFweDsgfVxuICAgIC8qIGxpbmUgMzkzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQtdGFibGUgLmNhcnQtdGF4LXRvdGFsLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAjMzM5OUNDO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgIHRvcDogNnB4OyB9XG4gIC8qIGxpbmUgNDAxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzID4gbGkge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgbWluLXdpZHRoOiA2NXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLyogbGluZSA0MDksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAvKiBsaW5lIDQxMiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgICAgLmNhcnQtdGFibGUgLmNhcnQtbGlua3MgPiBsaSA+IGEuYnRuLXJlbW92ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC8qIGxpbmUgNDE2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgICAgIC5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzID4gbGkgPiBhLmJ0bi1yZW1vdmU6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAvKiBsaW5lIDQyMCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgICAgICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpID4gYS5idG4tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLyogbGluZSA0MjYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAuY2FydC1saW5rcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDQzMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAvKiBsaW5lIDQzNSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAucXR5IHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0MwQzBDMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDMuMmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDQ0Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAvKiBsaW5lIDQ1Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSB0Ym9keSB0ZCAuaXRlbS1vcHRpb25zIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDQ1OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIHRib2R5IHRkIC5pdGVtLW9wdGlvbnMgZGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLyogbGluZSA0NjEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSB0Ym9keSB0ZCAuaXRlbS1vcHRpb25zIGR0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDQ3Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSB0aCB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC8qIGxpbmUgNDc2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIHRoLFxuICAuY2FydC10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogN3B4IDZweDsgfVxuICAvKiBsaW5lIDQ4MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgPiBsaSB7XG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5OXB4KSB7XG4gIC8qIGxpbmUgNDkwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5kaXNwbGF5LWJvdGgtcHJpY2VzIC5jYXJ0LXRhYmxlIHRoZWFkIHRoLmNhcnQtdG90YWwtaGVhZCxcbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdGFibGUgdGQucHJvZHVjdC1jYXJ0LXRvdGFsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDUwMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSBjb2xncm91cCwgLmNhcnQtdGFibGUgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA1MDUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSA1MTIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSB0cjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAvKiBsaW5lIDUxNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIHRyOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDUyMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSB0Zm9vdCB0ciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLyogbGluZSA1MjUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgdGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgNTI5LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgICAgLyogbGluZSA1MzMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAgIC5jYXJ0LXRhYmxlIHRkW2RhdGEtcndkLWxhYmVsXSAucHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAvKiBsaW5lIDUzNywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgICAgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtbGFiZWxdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLyogbGluZSA1NDcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSB0ZC5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAvKiBsaW5lIDU1Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSBoMiB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC8qIGxpbmUgNTU2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAgIC8qIGxpbmUgNTYwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQtdGFibGUgLmNhcnQtbGlua3MgPiBsaSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAvKiBsaW5lIDU2NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgICAgLmNhcnQtdGFibGUgLmNhcnQtbGlua3MgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAycHggMHB4OyB9XG4gIC8qIGxpbmUgNTcwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5jYXJ0LXRheC1pbmZvIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIC8qIGxpbmUgNTc1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQtdGFibGUgLmNhcnQtdGF4LWluZm8gLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAvKiBsaW5lIDU4MCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgIC8qIGxpbmUgNTg1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbWFnZSBhLmNhcnQtZWRpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDU5MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtaW1hZ2UgYSB7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgLyogbGluZSA1OTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvLFxuICAuY2FydC10YWJsZSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgNjAyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyxcbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC8qIGxpbmUgNjIxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNjI3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtaW5mbyAuY2FydC1saW5rcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDYzMCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWluZm8gLmJ0bi1yZW1vdmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IC00cHggMHB4IDJweCA3cHg7IH1cbiAgLyogbGluZSA2MzUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1pbmZvIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLyogbGluZSA2NDAsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQtdGFibGUgLnByb2R1Y3QtY2FydC1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLyogbGluZSA2NDMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLnF0eSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDsgfVxuICAvKiBsaW5lIDY0OSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAucHJpY2UsXG4gIC5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtcHJpY2U6YmVmb3JlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAvKiBsaW5lIDY1Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAuY2FydC1mb290ZXItYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSA2NjAsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAuY2FydC1mb290ZXItYWN0aW9ucyAjZW1wdHlfY2FydF9idXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLyogbGluZSA2NjQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAuY2FydC1mb290ZXItYWN0aW9ucyAuYnRuLWNvbnRpbnVlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLyogbGluZSA2NjgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY2FydC10YWJsZSAuY2FydC1mb290ZXItYWN0aW9ucyAuYnRuLXVwZGF0ZSxcbiAgICAuY2FydC10YWJsZSAuY2FydC1mb290ZXItYWN0aW9ucyBzcGFuLm9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA2ODAsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmRpc3BsYXktYm90aC1wcmljZXMgLmNhcnQtdGFibGUgdGRbZGF0YS1yd2QtdGF4LWxhYmVsXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtdGF4LWxhYmVsKSBcIjpcIjsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gRXN0aW1hdGUgU2hpcHBpbmcgYW5kIFRheFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgNjk1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uc2hpcHBpbmcgaDIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgMCA1cHg7IH1cblxuLyogbGluZSA3MDEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMEMwQzA7IH1cblxuLyogbGluZSA3MDgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyBzZWxlY3QudmFsaWRhdGlvbi1mYWlsZWQge1xuICBib3JkZXItY29sb3I6ICNERjI4MEE7IH1cblxuLyogbGluZSA3MTIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyAuc2hpcHBpbmctZGVzYyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA3MTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyAuYnV0dG9ucy1zZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBsaW5lIDcyMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLnNoaXBwaW5nIC5mb3JtLWxpc3Q6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgNzI2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyJSAxMHB4IDA7IH1cblxuLyogbGluZSA3MzEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyAuZm9ybS1saXN0IC5zaGlwcGluZy1jb3VudHJ5IHtcbiAgd2lkdGg6IDM3JTsgfVxuXG4vKiBsaW5lIDczNSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLnNoaXBwaW5nIC5mb3JtLWxpc3QgLnNoaXBwaW5nLXJlZ2lvbiB7XG4gIHdpZHRoOiA0MSU7IH1cblxuLyogbGluZSA3MzksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyAuZm9ybS1saXN0IC5zaGlwcGluZy1wb3N0Y29kZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDE4JTsgfVxuICAvKiBsaW5lIDc0Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuc2hpcHBpbmcgLmZvcm0tbGlzdCAuc2hpcHBpbmctcG9zdGNvZGUgaW5wdXQge1xuICAgIG1hcmdpbi10b3A6IDRweDsgfVxuXG4vKiBsaW5lIDc0OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLnNoaXBwaW5nIC5mb3JtLWxpc3QgLmlucHV0LWJveCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi8qIGxpbmUgNzUyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCBpbnB1dCB7XG4gIGhlaWdodDogMzBweDtcbiAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbi8qIGxpbmUgNzU3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uc2hpcHBpbmcgLmZvcm0tbGlzdCBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qIGxpbmUgNzY2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uc2hpcHBpbmcgLnNwLW1ldGhvZHMge1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAvKiBsaW5lIDc3MCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuc2hpcHBpbmcgLnNwLW1ldGhvZHMgZGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLyogbGluZSA3NzQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLnNoaXBwaW5nIC5zcC1tZXRob2RzIGxhYmVsIHtcbiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWluLXdpZHRoOiAxMDBweDsgfVxuICAgIC8qIGxpbmUgNzgwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLnNoaXBwaW5nIC5zcC1tZXRob2RzIGxhYmVsIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogbGluZSA3ODgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogbGluZSA3OTIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5zaGlwcGluZyAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgbGFiZWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICBtaW4td2lkdGg6IDIyMHB4OyB9XG4gIC8qIGxpbmUgNzk3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5zaGlwcGluZyAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgbGFiZWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdhaW5zYm9ybzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgODA1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5zaGlwcGluZyAuc2hpcHBpbmctZm9ybSAuZm9ybS1saXN0ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLyogbGluZSA4MDksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuc2hpcHBpbmcgLnNoaXBwaW5nLWZvcm0gLmZvcm0tbGlzdCA+IGxpIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLyogbGluZSA4MTMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuc2hpcHBpbmcgLnNoaXBwaW5nLWZvcm0gLmZvcm0tbGlzdCA+IGxpIGlucHV0LFxuICAgIC5zaGlwcGluZyAuc2hpcHBpbmctZm9ybSAuZm9ybS1saXN0ID4gbGkgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogbGluZSA4MjQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5jYXJ0IC5jYXJ0LXRvdGFscyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nOiAwOyB9XG4gIC8qIGxpbmUgODI4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0IC5jYXJ0LXRvdGFsczphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSA4MzIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHtcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgODM5LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDJweCAwcHg7IH1cbiAgICAvKiBsaW5lIDg0Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgbWluLXdpZHRoOiAxMjBweDsgfVxuICAgIC8qIGxpbmUgODQ3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4gICAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGgge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICAvKiBsaW5lIDg1Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC8qIGxpbmUgODYwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNhcnQgLmNhcnQtdG90YWxzIHRhYmxlIHRmb290IHN0cm9uZyBzcGFuLFxuICAgIC5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCBzcGFuLnByaWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAvKiBsaW5lIDg2Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC8qIGxpbmUgODc2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0LXRvdGFscyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgODgzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jYXJ0IC5jYXJ0LXRvdGFscyB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgZm9udC1zaXplOiAxOXB4OyB9IH1cblxuLyogbGluZSA4OTIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5kaXNjb3VudC1mb3JtOmFmdGVyLFxuI2dpZnRjYXJkLWZvcm06YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgODk3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4jZGlzY291bnQtY291cG9uLWZvcm0sXG4uY2FydCAuZ2lmdGNhcmQge1xuICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDkwMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAjZGlzY291bnQtY291cG9uLWZvcm0gaDIsXG4gIC5jYXJ0IC5naWZ0Y2FyZCBoMiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDkwNSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAjZGlzY291bnQtY291cG9uLWZvcm0gbGFiZWwsXG4gIC5jYXJ0IC5naWZ0Y2FyZCBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWluLXdpZHRoOiAxMDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC8qIGxpbmUgOTEzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuZmllbGQtd3JhcHBlcixcbiAgLmNhcnQgLmdpZnRjYXJkIC5maWVsZC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLyogbGluZSA5MTcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC52YWxpZGF0aW9uLWFkdmljZSxcbiAgLmNhcnQgLmdpZnRjYXJkIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC8qIGxpbmUgOTIyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICNkaXNjb3VudC1jb3Vwb24tZm9ybSAuYnV0dG9uLXdyYXBwZXIsXG4gIC5jYXJ0IC5naWZ0Y2FyZCAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gICAgLyogbGluZSA5MjYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAjZGlzY291bnQtY291cG9uLWZvcm0gLmJ1dHRvbi13cmFwcGVyID4gYnV0dG9uLFxuICAgIC5jYXJ0IC5naWZ0Y2FyZCAuYnV0dG9uLXdyYXBwZXIgPiBidXR0b24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICB3aWR0aDogMTkwcHg7IH1cbiAgLyogbGluZSA5MzMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5pbnB1dC10ZXh0LFxuICAuY2FydCAuZ2lmdGNhcmQgLmlucHV0LXRleHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIG1hcmdpbjogMHB4IDEwcHggMCAwO1xuICAgIHdpZHRoOiAxOTBweDsgfVxuXG4vKiBsaW5lIDk0MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNhcnQgLmdpZnRjYXJkIHAge1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cblxuLyogbGluZSA5NDUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbi5jYXJ0IC5naWZ0Y2FyZCAuY2hlY2stZ2Mtc3RhdHVzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDBweDsgfVxuICAvKiBsaW5lIDk0OSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydCAuZ2lmdGNhcmQgLmNoZWNrLWdjLXN0YXR1cyA+IHNwYW4gPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBDYXJ0IENyb3NzIHNlbGxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDk2MCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuLmNyb3Nzc2VsbCBoMiB7XG4gIGNvbG9yOiAjMzM5OUNDOyB9XG5cbi8qIGxpbmUgOTY0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4uY3Jvc3NzZWxsIC5pdGVtIGEucHJvZHVjdC1pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbGVmdDsgfVxuXG4vKiBDaGFuZ2UgdGhlIGxheW91dCB0byAyIGNvbHVtbnMgYXQgYSBicmVha3BvaW50IHRoYXQgaXMgaGlnaGVyIHRoYW4gYSAzIGNvbHVtbnMgbGF5b3V0IHdvdWxkIG5vcm1hbGx5IGJyZWFrICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgOTcyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gIC5jcm9zc3NlbGwge1xuICAgIC8qIFVuZG8gdGhyZWUtY29sdW1uIGNvbmZpZyAqLyB9XG4gICAgLyogbGluZSA5NzMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pLFxuICAgIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAgIC5jcm9zc3NlbGwgLnByb2R1Y3RzLWdyaWQgPiBsaSB7XG4gICAgICB3aWR0aDogNDcuNzI3MjclO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0LjU0NTQ1JTsgfVxuICAgIC8qIGxpbmUgOTgwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNyb3Nzc2VsbCAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgLyogbGluZSA5ODQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAuY3Jvc3NzZWxsIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC8qIGxpbmUgOTg5LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgLmNyb3Nzc2VsbCAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA5OTcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0IC5jcm9zc3NlbGwsXG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0IC5jYXJ0LWZvcm1zIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDEwMDIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQgLmNhcnQtdG90YWxzLXdyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMTAwNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0IC5jYXJ0LXRvdGFscy13cmFwcGVyIC5jYXJ0LXRvdGFscyAjc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgLmEtcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDJweCAwOyB9XG4gIC8qIGxpbmUgMTAxNCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmNhcnQtbGlua3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgMTAyNCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAuY2FydC10YXgtdG90YWw6YWZ0ZXIge1xuICAgIHJpZ2h0OiAtOXB4OyB9XG4gIC8qIGxpbmUgMTAyOCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAuY2FydC10YWJsZSAuY2FydC10YXgtdG90YWwuY2FydC10YXgtdG90YWwtZXhwYW5kZWQ6YWZ0ZXIge1xuICAgIHJpZ2h0OiAtMTNweDsgfVxuICAvKiBsaW5lIDEwMzcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQgLnByb2R1Y3QtY2FydC1hY3Rpb25zIC5jYXJ0LWxpbmtzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgMTAzOSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0IC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuY2FydC1saW5rcyBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAvKiBsaW5lIDEwNDEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0IC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuY2FydC1saW5rcyBsaSAuYnRuLXJlbW92ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgLyogbGluZSAxMDQ3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC5zY3NzICovXG4gICAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmNhcnQtbGlua3MgbGkucmVtb3ZlLXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC8qIGxpbmUgMTA1Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQuc2NzcyAqL1xuICAjZGlzY291bnQtY291cG9uLWZvcm0gLmlucHV0LXRleHQge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDsgfVxuICAvKiBsaW5lIDEwNjEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIC5idXR0b24td3JhcHBlciBidXR0b24ge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtaW4td2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAvKiBsaW5lIDEwNzEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNyb3Nzc2VsbCB1bCAuaXRlbSB7XG4gICAgcGFkZGluZzogMCAwcHggNDBweDsgfVxuICAvKiBsaW5lIDEwNzUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LnNjc3MgKi9cbiAgLmNyb3Nzc2VsbCB1bCAucHJvZHVjdC1kZXRhaWxzIC5jcm9zc3NlbGwtYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMCA1cHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIE9uZSBQYWdlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1yaWdodCxcbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbGVmdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAzNSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLmNoZWNrb3V0LW9uZXBhZ2UtaW5kZXggLmNvbC1tYWluIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgLyogbGluZSA0Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLW1haW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2OC43NSU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAvKiBsaW5lIDQ4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtcmlnaHQsXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbGVmdCB7XG4gICAgd2lkdGg6IDMxLjI1JTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDU0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi8qIGxpbmUgNjEsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgc2VsZWN0IHtcbiAgd2lkdGg6IDM2NXB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY3Rpb24gU3R5bGluZyAtIERlZmF1bHRcbiAqL1xuLyogbGluZSA3MCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VDRUNFQztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAvKiBsaW5lIDc2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIGxpbmUgODEsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIFVzaW5nIC5uby10b3VjaCBzaW5jZSB0b3VjaCBkZXZpY2VzIGVtdWxhdGUgaG92ZXIsIHRoZXJlYnkgbWFraW5nIHN0ZXBzIGxvb2sgYWN0aXZlIHRoYXQgYXJlIG5vdCAqL1xuLyogbGluZSA4Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG4vKiBsaW5lIDkwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjIC5zZWN0aW9uLmFjdGl2ZSAuc3RlcC10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUNFQ0VDOyB9XG5cbi8qIGxpbmUgOTQsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA5OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYyAuc2VjdGlvbi5hbGxvdzpub3QoLmFjdGl2ZSkgLnN0ZXAtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDBweCAxMHB4OyB9XG5cbi8qIGxpbmUgMTA2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ubm8tdG91Y2ggLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIGxpbmUgMTEwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIC5udW1iZXIsXG4ub3BjIC5zZWN0aW9uLmFsbG93LmFjdGl2ZSAuc3RlcC10aXRsZSAubnVtYmVyLFxuLm5vLXRvdWNoIC5vcGMgLnNlY3Rpb24uYWxsb3c6aG92ZXIgLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM5OUNDO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogLTEzcHg7IH1cblxuLyogbGluZSAxMjYsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgLnNlY3Rpb24uYWxsb3cgLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OWNjZTY7IH1cblxuLyogbGluZSAxMzAsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgLnNlY3Rpb24uYWxsb3cgLnN0ZXAtdGl0bGUgaDIge1xuICBjb2xvcjogI0EwQTBBMDsgfVxuXG4vKiBsaW5lIDEzNCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYyAuc2VjdGlvbi5hbGxvdyAuc3RlcC10aXRsZTpob3ZlciBoMixcbi5vcGMgLnNlY3Rpb24uYWN0aXZlIC5zdGVwLXRpdGxlIGgyIHtcbiAgY29sb3I6ICMzMzk5Q0M7IH1cblxuLyogbGluZSAxMzksIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgaDIge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBweCA0cHggMHB4IDQ1cHg7IH1cblxuLyogbGluZSAxNDgsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgLnNlY3Rpb24gLnN0ZXAge1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC8qIGxpbmUgMTUxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5vcGMgLnNlY3Rpb24gLnN0ZXA6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgICAvKiBsaW5lIDE0OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAgIC5vcGMgLnNlY3Rpb24gLnN0ZXAge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG5cbi8qIGxpbmUgMTYwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjIHNlbGVjdCB7XG4gIG1heC13aWR0aDogMzY1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgMTY1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4vKiBsaW5lIDE2OSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYyAuYnV0dG9ucy1zZXQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC8qIGxpbmUgMTcyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5vcGMgLmJ1dHRvbnMtc2V0IGJ1dHRvbi5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgMTc4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5vcGMgLmJ1dHRvbnMtc2V0IHAucmVxdWlyZWQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogbGluZSAxODMsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLm9wYyAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMDsgfVxuICAvKiBsaW5lIDE4Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAub3BjIC5idXR0b25zLXNldCBhIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDVweCA1cHggMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMTk3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5vcGMgLmJ1dHRvbnMtc2V0IC5idXR0b24gKyAuYnV0dG9ucy1zZXQgLmJ1dHRvbixcbiAgLnBheXBhbC1leHByZXNzLXJldmlldyAuYnV0dG9ucy1zZXQgLmJ1dHRvbiArIC5idXR0b25zLXNldCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi8qIGxpbmUgMjA0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjICNvcGMtbG9naW4gLnN0ZXAge1xuICBwYWRkaW5nOiAwcHg7IH1cblxuLyogbGluZSAyMDgsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5vcGMgI29wYy1sb2dpbiAuYnV0dG9ucy1zZXQge1xuICBib3JkZXItdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogNXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAyMTUsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLm9wYyAjb3BjLWxvZ2luIC5kZXNjcmlwdGlvbixcbiAgLm9wYyAjb3BjLWxvZ2luIHAucmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBsaW5lIDIyMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuI29wYy1wYXltZW50IC5ub3RlIHtcbiAgcGFkZGluZzogMTBweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaGlzIHNlY3Rpb24gaGlkZXMgZXZlcnl0aGluZyBidXQgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgc3RlcCBvZiB0aGUgY2hlY2tvdXQgcHJvY2VzcyBhbmQgZmFkZXMgaW4gdGhlIGNvbnRlbnRcbiAqIG9uY2UgdGhlIGN1c3RvbWVyIHByb2dyZXNzZXMgdG8gdGhlIG5leHQgc3RlcC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBzaW1wbGlmeSB3aGF0IHRoZSBjdXN0b21lciBoYXMgdG8gZm9jdXMgb24uXG4gKiBJdCBpcyBsaW1pdGVkIHRvIGxhcmdlciB2aWV3cG9ydHMgc2luY2Ugc21hbGxlciBkZXZpY2VzIGFyZSBpbmhlcmVudGx5IGdvaW5nIHRvIGJlIGZvY3VzZWQgc29sZWx5IG9uIHRoZVxuICogXCJDaGVja291dCBNZXRob2RcIiBzdGVwLlxuICovXG4vKiBsaW5lIDIzMiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uOm5vdCgjb3BjLWxvZ2luKSAuc3RlcC10aXRsZSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3Mtc3RlcC1sb2dpbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGxpbmVhciAwO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGxpbmVhciAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGxpbmVhciAwOyB9XG5cbi8qIGxpbmUgMjM3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjLm9wYy1maXJzdHN0ZXAtbG9naW4gLnNlY3Rpb24jb3BjLWxvZ2luIC5zdGVwLXRpdGxlIC5udW1iZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDgwbXMgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDA7XG4gIC1tb3otdHJhbnNpdGlvbjogd2lkdGggODBtcyBsaW5lYXIgMDtcbiAgLW8tdHJhbnNpdGlvbjogd2lkdGggODBtcyBsaW5lYXIgMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggODBtcyBsaW5lYXIgMDsgfVxuXG4vKiBsaW5lIDI0MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSBoMiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgODBtcyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMDtcbiAgLW1vei10cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCA4MG1zIGxpbmVhciAwO1xuICAtby10cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCA4MG1zIGxpbmVhciAwO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCA4MG1zIGxpbmVhciAwOyB9XG5cbi8qIFdoZW4gYSB1c2VyIHByb2dyZXNzZXMgZnJvbSB0aGUgXCJDaGVja291dCBNZXRob2RcIiB0byBcIkJpbGxpbmcgSW5mb3JtYXRpb25cIiBmb3IgdGhlIGZpcnN0IHRpbWUsIHRoZSAgICAgICAgICAgICAgKi9cbi8qIFwib3BjLWhhcy1wcm9ncmVzc2VkLWZyb20tbG9naW5cIiBjbGFzcyBnZXRzIGFkZGVkIHRvIHRoZSBib2R5LiBBbHNvLCB0aGUgLm9wYyBlbGVtZW50IHdpbGwgb25seSBoYXZlIHRoZSAgICAgICAgICovXG4vKiBcIm9wYy1maXJzdHN0ZXAtbG9naW5cIiBjbGFzcyBpZiB0aGUgZmlyc3Qgc3RlcCBvZiB0aGUgY2hlY2tvdXQgaXMgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgKGVnLCBub3Qgd2hlbiBsb2dnZWQgaW4pICovXG4vKiBsaW5lIDI0OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuYm9keTpub3QoLm9wYy1oYXMtcHJvZ3Jlc3NlZC1mcm9tLWxvZ2luKSAub3BjLm9wYy1maXJzdHN0ZXAtbG9naW4gLnNlY3Rpb246bm90KCNvcGMtbG9naW4pIC5zdGVwLXRpdGxlLFxuYm9keTpub3QoLm9wYy1oYXMtcHJvZ3Jlc3NlZC1mcm9tLWxvZ2luKSAub3BjLWJsb2NrLXByb2dyZXNzLXN0ZXAtbG9naW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIGxpbmUgMjUzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG5ib2R5Om5vdCgub3BjLWhhcy1wcm9ncmVzc2VkLWZyb20tbG9naW4pIC5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbiNvcGMtbG9naW4gLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gIHdpZHRoOiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogbGluZSAyNTgsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbmJvZHk6bm90KC5vcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpbikgLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSBoMiB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2hpcHBpbmcgYW5kIFBheW1lbnQgbWV0aG9kc1xuICovXG4vKiBsaW5lIDI2Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLnNwLW1ldGhvZHMge1xuICBtYXJnaW46IDAgMCA4cHg7IH1cbiAgLyogbGluZSAyNjksIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLnNwLW1ldGhvZHMgZHQge1xuICAgIG1hcmdpbjogMTNweCAwIDVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC8qIGxpbmUgMjczLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICAgLnNwLW1ldGhvZHMgZHQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIC8qIGxpbmUgMjc3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5zcC1tZXRob2RzIGRkIGxpIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG4gIC8qIGxpbmUgMjgwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5zcC1tZXRob2RzIGxhYmVsIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAyODMsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLnNwLW1ldGhvZHMgbGFiZWwgYSB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAvKiBsaW5lIDI4OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuc3AtbWV0aG9kcyAucHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC8qIGxpbmUgMjkxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5zcC1tZXRob2RzIC5mb3JtLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIC8qIGxpbmUgMjk0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICAgLnNwLW1ldGhvZHMgLmZvcm0tbGlzdCBsaSB7XG4gICAgICBtYXJnaW46IDAgMCA4cHg7IH1cbiAgLyogbGluZSAyOTgsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLnNwLW1ldGhvZHMgc2VsZWN0Lm1vbnRoIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC8qIGxpbmUgMzAyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5zcC1tZXRob2RzIHNlbGVjdC55ZWFyIHtcbiAgICB3aWR0aDogOTZweDsgfVxuICAvKiBsaW5lIDMwNSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuc3AtbWV0aG9kcyBpbnB1dC5jdnYge1xuICAgIHdpZHRoOiA0ZW0gIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDMwOCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuc3AtbWV0aG9kcyAjYWR2aWNlLXZhbGlkYXRlLWNjLWV4cC1jY3NhdmVfZXhwaXJhdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMzBweDsgfVxuICAvKiBsaW5lIDMxMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IGxpIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAzMTcsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLnNwLW1ldGhvZHMgLmNoZWNrbW8tbGlzdCBsYWJlbCB7XG4gICAgd2lkdGg6IDE2NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLyogbGluZSAzMjMsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLnNwLW1ldGhvZHMgLmNoZWNrbW8tbGlzdCBhZGRyZXNzIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLyogbGluZSAzMTIsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgICAuc3AtbWV0aG9kcyAuY2hlY2ttby1saXN0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLyogbGluZSAzMzAsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgICAgIC5zcC1tZXRob2RzIC5jaGVja21vLWxpc3QgbGFiZWwge1xuICAgICAgICB3aWR0aDogMTM1cHg7IH0gfVxuICAvKiBsaW5lIDMzNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuc3AtbWV0aG9kcyAucmVsZWFzZS1hbW91bnRzIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7IH1cbiAgLyogbGluZSAzMzksIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLnNwLW1ldGhvZHMgLnJlbGVhc2UtYW1vdW50cyBidXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDEwcHggMCAwOyB9XG5cbi8qIE9uZSBQYWdlIENoZWNrb3V0ICovXG4vKiBsaW5lIDM0Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLmJsb2NrLXByb2dyZXNzIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NDQ0NDQztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC8qIGxpbmUgMzUyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC8qIGxpbmUgMzU1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5ibG9jay1wcm9ncmVzcyBkdCB7XG4gICAgcGFkZGluZy10b3A6IDZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogI0EwQTBBMDsgfVxuICAvKiBsaW5lIDM2NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUge1xuICAgIGNvbG9yOiAjNjM2MzYzOyB9XG4gIC8qIGxpbmUgMzY3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5ibG9jay1wcm9ncmVzcyBkZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAvKiBsaW5lIDM3Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAgIC5ibG9jay1wcm9ncmVzcyBkZCBhZGRyZXNzIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAvKiBsaW5lIDM3OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuYmxvY2stcHJvZ3Jlc3MgI3BheW1lbnQtcHJvZ3Jlc3Mtb3BjaGVja291dCAuc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDNweDsgfVxuICAvKiBsaW5lIDM4NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuYmxvY2stcHJvZ3Jlc3MgLnBheW1lbnQtaW5mbyBkdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAzcHggMDtcbiAgICBjb2xvcjogIzYzNjM2MztcbiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAvKiBsaW5lIDM5NSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAgIC5ibG9jay1wcm9ncmVzcyAucGF5bWVudC1pbmZvIGR0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6ICc7IH1cbiAgLyogbGluZSA0MDAsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmJsb2NrLXByb2dyZXNzIC5wYXltZW50LWluZm8gZGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgLyogbGluZSA0MDYsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmJsb2NrLXByb2dyZXNzIC5wYXltZW50LWluZm86YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIHJldmlldyBzdGVwICovXG4vKiBsaW5lIDQxNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuI2NoZWNrb3V0LXJldmlldy10YWJsZSAuYnRuLXJlbW92ZSBpbWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgNDIyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlLXdyYXBwZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiBsaW5lIDQyNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuI3Jldmlldy1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC8qIGxpbmUgNDMxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIgLmJ0bi1jaGVja291dCB7XG4gICAgbWluLXdpZHRoOiAyMjBweDsgfVxuICAvKiBsaW5lIDQzNCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAjcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIC5wbGVhc2Utd2FpdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC8qIGxpbmUgNDM4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIgLmYtbGVmdCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLyogbGluZSA0NDUsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmxpbmVhcml6ZS10YWJsZS1sYXJnZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDQ1Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAubGluZWFyaXplLXRhYmxlLmNoZWNrb3V0LXJldmlldy10YWJsZSB0aGVhZCB0cjpudGgtY2hpbGQoMW4rMikge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBzaG93L2hpZGUgXCJjaGFuZ2VcIiBsaW5rIGZvciBwcm9ncmVzcyBzdGVwIGRlcGVuZCBvbiBjb21wbGV0ZSBzdGF0dXNcbiAqIHNob3VsZCBiZSBwbGFjZWQgaW4gLmNzcyBmaWxlICovXG4vKiBsaW5lIDQ1OSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLm9wYy1ibG9jay1wcm9ncmVzcyBkdC5jb21wbGV0ZSBhLFxuLm9wYy1ibG9jay1wcm9ncmVzcyBkdC5jb21wbGV0ZSAuc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi8qIGxpbmUgNDY0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4ub3BjLWJsb2NrLXByb2dyZXNzIGR0IGEsXG4ub3BjLWJsb2NrLXByb2dyZXNzIGR0IC5zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIE9uIHNtYWxsIHNjcmVlbnMsIHRoZSBwcm9ncmVzcyByZXZpZXcgY29udGVudCB3aWxsIGJlIG1vdmVkIHRvIHRoZSByZXZpZXcgc3RlcCB2aWEgSlMuIFN0eWxlZCB2aWEgdGhpcyBDU1M6ICovXG4vKiBsaW5lIDQ3MCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5vcGMtYmxvY2stcHJvZ3Jlc3Mge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgNDc0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICNjaGVja291dC1zdGVwLXJldmlldyAub3BjLWJsb2NrLXByb2dyZXNzIC5ibG9jay10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDQ3Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAjY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLyogbGluZSA0ODIsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgICAjY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCA+IGRsID4gZGl2IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgIC8qIGxpbmUgNDg4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICAgICAjY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyAuYmxvY2stY29udGVudCA+IGRsID4gZGl2IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAvKiBsaW5lIDQ5NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAgICNjaGVja291dC1zdGVwLXJldmlldyAub3BjLWJsb2NrLXByb2dyZXNzIC5ibG9jay1jb250ZW50IC5jaGFuZ2VsaW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDUwMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTA0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICAgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA1MDgsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgI2NoZWNrb3V0LXJldmlldy10YWJsZSB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLyogbGluZSA1MTQsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiNjaGVja291dC1zdGVwLXJldmlldyAuY2VudGluZWwgPiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiBsaW5lIDUxOCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5jZW50aW5lbCBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDAwcHg7IH1cblxuLyogR2lmdCBvcHRpb25zICovXG4vKiBsaW5lIDUyNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLyogbGluZSA1MzAsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbSBoNSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLyogbGluZSA1MzQsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmdpZnQtbWVzc2FnZXMtZm9ybSAuaXRlbSAucHJvZHVjdC1pbWctYm94IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIC8qIGxpbmUgNTQwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0gLmRldGFpbHMge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIGxpbmUgNTQ4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4uZ2lmdC1tZXNzYWdlLWZvcm0gLmlubmVyLWJveCA+IGRpdiB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDU1NSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmlubmVyLWJveCA+IGRpdi5leHRyYS1vcHRpb25zLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi8qIGxpbmUgNTYzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4uZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtd3JhcHBpbmctZm9ybSBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKiBsaW5lIDU2Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LXdyYXBwaW5nLWZvcm0gaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogbGluZSA1NzEsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbi5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC13cmFwcGluZy1mb3JtIC5naWZ0LXdyYXBwaW5nLWRlc2lnbiB7XG4gIGhlaWdodDogNzVweDsgfVxuICAvKiBsaW5lIDU3NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtd3JhcHBpbmctZm9ybSAuZ2lmdC13cmFwcGluZy1kZXNpZ246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNTc4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC13cmFwcGluZy1mb3JtIC5naWZ0LXdyYXBwaW5nLWRlc2lnbiAuaW1hZ2UtYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4vKiBsaW5lIDU4NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNFQ0VDRUM7IH1cbiAgLyogbGluZSA1ODksIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC8qIGxpbmUgNTkzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtIC5wcm9kdWN0LWltZy1ib3gge1xuICAgIHdpZHRoOiAyMDBweDsgfVxuICAgIC8qIGxpbmUgNTk2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtb25lcGFnZS5zY3NzICovXG4gICAgLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLyogbGluZSA2MDIsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSA2MDcsIHNjc3MvbW9kdWxlL19jaGVja291dC1vbmVwYWdlLnNjc3MgKi9cbiAgLmdpZnQtbWVzc2FnZS1mb3JtIC5naWZ0LWl0ZW0gLmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tbGVmdDogMjAwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDYxNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnRtZXNzYWdlLWFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDYyMSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAucHJvZHVjdC1pbWctYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAvKiBsaW5lIDYyNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAuZ2lmdC1tZXNzYWdlLWZvcm0gLmdpZnQtaXRlbSAuZmllbGRzZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7IH1cbiAgICAvKiBsaW5lIDYyOSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW9uZXBhZ2Uuc2NzcyAqL1xuICAgIC5naWZ0LW1lc3NhZ2UtZm9ybSAuZ2lmdC1pdGVtIC5maWVsZHNldCB0ZXh0YXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gU3VjY2Vzc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzEsIHNjc3MvbW9kdWxlL19jaGVja291dC1zdWNjZXNzLnNjc3MgKi9cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNvbC1tYWluIHtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIGxpbmUgMzYsIHNjc3MvbW9kdWxlL19jaGVja291dC1zdWNjZXNzLnNjc3MgKi9cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDQwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtc3VjY2Vzcy5zY3NzICovXG4gIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ29uZmlndXJhYmxlIFN3YXRjaGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2xlYXJzICovXG4vKiBsaW5lIDM0LCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuLmNsZWFyZml4OmFmdGVyLFxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdDphZnRlcixcbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qIEdlbmVyYWwgU3dhdGNoIFN0eWxpbmcgKi9cbi8qIGxpbmUgNDAsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4uc3dhdGNoLWxpbmssXG4uc3dhdGNoLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4vKiBsaW5lIDUyLCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuLnN3YXRjaC1saW5rIHtcbiAgbWFyZ2luOiAwIDAgM3B4OyB9XG4gIC8qIGxpbmUgNTYsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5zd2F0Y2gtbGluayBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAvKiBsaW5lIDYwLCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAuc3dhdGNoLWxpbms6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLyogbGluZSA2NSwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgLnN3YXRjaC1saW5rIC54IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnX3gucG5nKSBjZW50ZXIgbm8tcmVwZWF0IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC8qIGxpbmUgNzgsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgLnN3YXRjaC1sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgODIsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLyogbGluZSA5MCwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbi5zd2F0Y2gtbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogbGluZSA5Nywgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbi5jb25maWd1cmFibGUtc3dhdGNoLWxpc3Qge1xuICBtYXJnaW4tbGVmdDogLTNweDtcbiAgem9vbTogMTtcbiAgY2xlYXI6IGJvdGg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDBweCk7IH1cbiAgLyogbGluZSAxMDMsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHpvb206IDE7XG4gICAgbWFyZ2luOiAwIDAgMCAzcHg7IH1cbiAgICAvKiBsaW5lIDExMSwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC8qIGxpbmUgMTE1LCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAgIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgbGkuc2VsZWN0ZWQgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAvKiBsaW5lIDEyMSwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgLnByb2R1Y3RzLWdyaWQgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC8qIGxpbmUgMTI5LCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC54IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDEzMywgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAubm90LWF2YWlsYWJsZSAuc3dhdGNoLWxpbmsge1xuICAgIGJvcmRlci1jb2xvcjogI0VERURFRDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDEzNywgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ub3QtYXZhaWxhYmxlIC5zd2F0Y2gtbGluay5oYXMtaW1hZ2UgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT00MCk7IH1cbiAgLyogbGluZSAxNDMsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLm5vdC1hdmFpbGFibGUgLnN3YXRjaC1sYWJlbCB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAvKiBsaW5lIDE0OSwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAud2lkZS1zd2F0Y2ggLnN3YXRjaC1sYWJlbCB7XG4gICAgcGFkZGluZzogMCA2cHg7IH1cbiAgLyogbGluZSAxNTMsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLm5vdC1hdmFpbGFibGUgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4vKiBsaW5lIDE1OSwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiNuYXJyb3ctYnktbGlzdCBkZCAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IGxpIHtcbiAgbWFyZ2luOiAwIDAgMCAzcHg7XG4gIHdpZHRoOiA0NyU7IH1cblxuLyogbGluZSAxNjQsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4jbmFycm93LWJ5LWxpc3QgZGQgLnN3YXRjaC1saW5rIHtcbiAgYm9yZGVyOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLyogbGluZSAxNzAsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gICNuYXJyb3ctYnktbGlzdCBkZCAuc3dhdGNoLWxpbmsuaGFzLWltYWdlIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuICAvKiBsaW5lIDE3NCwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgI25hcnJvdy1ieS1saXN0IGRkIC5zd2F0Y2gtbGluazpob3ZlciAuc3dhdGNoLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICMzMzk5Q0M7IH1cblxuLyogbGluZSAxNzksIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4jbmFycm93LWJ5LWxpc3QgZGQgLnN3YXRjaC1sYWJlbCB7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIG1hcmdpbjogMCA1cHggMCAwO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC8qIGxpbmUgMTkwLCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAjbmFycm93LWJ5LWxpc3QgZGQgLnN3YXRjaC1sYWJlbCBpbWcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qIGxpbmUgMTk3LCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuI25hcnJvdy1ieS1saXN0IGRkIC5oYXMtaW1hZ2UgLnN3YXRjaC1sYWJlbCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDIwNCwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgI25hcnJvdy1ieS1saXN0IGRkIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuLyogbGluZSAyMTAsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4uY3VycmVudGx5IC5zd2F0Y2gtY3VycmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDIxMywgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgLmN1cnJlbnRseSAuc3dhdGNoLWN1cnJlbnQgLmJ0bi1yZW1vdmUge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTsgfVxuICAvKiBsaW5lIDIyMCwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbiAgLmN1cnJlbnRseSAuc3dhdGNoLWN1cnJlbnQgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogbGluZSAyMjYsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4uY3VycmVudGx5IC5zd2F0Y2gtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAzcHg7IH1cbiAgLyogbGluZSAyMzAsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5jdXJyZW50bHkgLnN3YXRjaC1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNDQ0NDQ0M7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qIE90aGVyIFN3YXRjaCBTdGF0ZXMgKi9cbi8qIGxpbmUgMjM4LCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAuaG92ZXIgLnN3YXRjaC1saW5rLFxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtbGlzdCAuc2VsZWN0ZWQgLnN3YXRjaC1saW5rLFxuLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtYm94IHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC8qIGxpbmUgMjQ3LCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ob3ZlciAuc3dhdGNoLWxpbmsgc2VsZWN0LnN3YXRjaC1zZWxlY3QsXG4gIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgLnNlbGVjdGVkIC5zd2F0Y2gtbGluayBzZWxlY3Quc3dhdGNoLXNlbGVjdCxcbiAgLmNvbmZpZ3VyYWJsZS1zd2F0Y2gtYm94IHNlbGVjdC5zd2F0Y2gtc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMjUxLCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ob3ZlciAuc3dhdGNoLWxpbmsgLnZhbGlkYXRpb24tYWR2aWNlLFxuICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5zZWxlY3RlZCAuc3dhdGNoLWxpbmsgLnZhbGlkYXRpb24tYWR2aWNlLFxuICAuY29uZmlndXJhYmxlLXN3YXRjaC1ib3ggLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgYmFja2dyb3VuZDogI0RGMjgwQTtcbiAgICBwYWRkaW5nOiAycHggNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLyogQ1VTVE9NICovXG4vKiBsaW5lIDI2NCwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbi5hdmFpbGFiaWxpdHkub3V0LW9mLXN0b2NrIHNwYW4ge1xuICBjb2xvcjogI0EwQTBBMDsgfVxuXG4vKiBsaW5lIDI3MCwgc2Nzcy9tb2R1bGUvX2NvbmZpZ3VyYWJsZXN3YXRjaGVzLnNjc3MgKi9cbi5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHIge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBib3JkZXI6IDA7IH1cbiAgLyogbGluZSAyNzYsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHIgbGFiZWwsXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHIgLnNlbGVjdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC8qIGxpbmUgMjgxLCBzY3NzL21vZHVsZS9fY29uZmlndXJhYmxlc3dhdGNoZXMuc2NzcyAqL1xuICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnN3YXRjaC1hdHRyIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgLyogbGluZSAyODgsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4gIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtb3B0aW9ucyAuc3dhdGNoLWF0dHIgLnNlbGVjdC1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiAxMnB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAyOTcsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgZGQgLmlucHV0LWJveCB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyogbGluZSAzMDIsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5wcm9kdWN0LW9wdGlvbnMgLnNlbGVjdC1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSAzMDcsIHNjc3MvbW9kdWxlL19jb25maWd1cmFibGVzd2F0Y2hlcy5zY3NzICovXG4ucHJvZHVjdC12aWV3IC5hZGQtdG8tY2FydCBidXR0b24ub3V0LW9mLXN0b2NrIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTM2MnB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tZXJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMxLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQgLm1haW4ge1xuICBtYXJnaW4tdG9wOiA2NXB4OyB9XG5cbi8qIGxpbmUgMzQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7IH1cblxuLyogbGluZSAzNywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50IGFkZHJlc3Mge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSA1Miwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItdG9wOiAwOyB9XG4gIC8qIGxpbmUgNTYsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQgYnV0dG9uLFxuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmJ1dHRvbnMtc2V0IC5idXR0b24ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKiBsaW5lIDY0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB1bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweCAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLyogbGluZSA3Niwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSxcbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAvKiBsaW5lIDgyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC8qIGxpbmUgODYsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA5NSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAvKiBsaW5lIDk5LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDEwNywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLyogbGluZSAxMTEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURFREVEOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDExOSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmNvbDItc2V0IHAucmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBsaW5lIDEyMywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5wYWdlLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDEyOCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5vcGMgI29wYy1sb2dpbiBwOm5vdCgucmVxdWlyZWQpIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWZhbWlseTogR2VvcmdpYSwgVGltZXMsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjQTBBMEEwOyB9XG5cbi8qIGxpbmUgMTM2LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLnJlbWVtYmVyLW1lLWJveCBhLmhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMTM5LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLnJlbWVtYmVyLW1lLWJveCAubGluay10aXAge1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuXG4vKiBsaW5lIDE0NSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5yZW1lbWJlci1tZS1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDE1MSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLnJlbWVtYmVyLW1lLXBvcHVwLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgMTU1LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAucmVtZW1iZXItbWUtcG9wdXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLyogbGluZSAxNTksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5yZW1lbWJlci1tZS1wb3B1cCAucmVtZW1iZXItbWUtcG9wdXAtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLyogbGluZSAxNjcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5yZW1lbWJlci1tZS1wb3B1cCAucmVtZW1iZXItbWUtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMTczLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLyogbGluZSAxNzgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmZpZWxkc2V0LFxuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCB7XG4gIG1heC13aWR0aDogNDAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC8qIGxpbmUgMTc4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuZmllbGRzZXQsXG4gICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5idXR0b25zLXNldCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi8qIGxpbmUgMTg3LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5maWVsZHNldCAuaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDE5MSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAjcmVtZW1iZXItbWUtcG9wdXAge1xuICBtYXgtd2lkdGg6IDQ1NXB4OyB9XG5cbi8qIGxpbmUgMTk3LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkc2V0LFxuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmJ1dHRvbnMtc2V0IHtcbiAgbWF4LXdpZHRoOiA0MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLyogbGluZSAxOTcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkc2V0LFxuICAgIC5jdXN0b21lci1hY2NvdW50LWZvcmdvdHBhc3N3b3JkIC5idXR0b25zLXNldCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi8qIGxpbmUgMjA2LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgaDIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMjEwLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQgLmZpZWxkc2V0IC5pbnB1dC1ib3ggaW5wdXQuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExvZ2luIHBhZ2VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDIyMCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAvKiBsaW5lIDIyNCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5uZXctdXNlcnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDUwcHggMCAwIDA7XG4gICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgLyogbGluZSAyMzEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5uZXctdXNlcnMgLmNvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDIzNiwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAubmV3LXVzZXJzIC5jb250ZW50IGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC8qIGxpbmUgMjQzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgICAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5uZXctdXNlcnMgLmNvbnRlbnQgLmZvcm0taW5zdHJ1Y3Rpb25zIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNTdweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC8qIGxpbmUgMjQ5LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgICAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5uZXctdXNlcnMgLmNvbnRlbnQgLmJlbmVmaXRzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAgICAgICAvKiBsaW5lIDI1NSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5uZXctdXNlcnMgLmNvbnRlbnQgLmJlbmVmaXRzIGxpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgICAgIC8qIGxpbmUgMjU4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgICAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAubmV3LXVzZXJzIC5jb250ZW50IC5iZW5lZml0cyBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMTRcXGEwXCI7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLyogbGluZSAyNjksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC8qIGxpbmUgMjc0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuZm9yZ290LXBzdyB7XG4gICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAvKiBsaW5lIDI4MCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLnJlZ2lzdGVyZWQtdXNlcnMgLmNvbnRlbnQuZmllbGRzZXQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDI4NSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCBoMiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjU1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAvKiBsaW5lIDI5Miwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi4xcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gICAgICAvKiBsaW5lIDI5Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCB1bC5mb3JtLWxpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLyogbGluZSAzMDQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCB1bC5mb3JtLWxpc3QgaW5wdXRbdHlwZT1lbWFpbF0sIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCB1bC5mb3JtLWxpc3QgaW5wdXRbdHlwZT1zZWFyY2hdLCAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLnJlZ2lzdGVyZWQtdXNlcnMgLmNvbnRlbnQuZmllbGRzZXQgdWwuZm9ybS1saXN0IGlucHV0W3R5cGU9bnVtYmVyXSwgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5yZWdpc3RlcmVkLXVzZXJzIC5jb250ZW50LmZpZWxkc2V0IHVsLmZvcm0tbGlzdCBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5yZWdpc3RlcmVkLXVzZXJzIC5jb250ZW50LmZpZWxkc2V0IHVsLmZvcm0tbGlzdCBpbnB1dFt0eXBlPXRlbF0sIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCB1bC5mb3JtLWxpc3QgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLyogbGluZSAzMDgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAgIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAucmVnaXN0ZXJlZC11c2VycyAuY29udGVudC5maWVsZHNldCB1bC5mb3JtLWxpc3QgLmZvcmdvdC1wc3cge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7IH1cbiAgLyogbGluZSAzMTYsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5jdXN0b21lci1hY2NvdW50LWxvZ2luIC5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQge1xuICAgIG1hcmdpbjogNTBweCBhdXRvIDA7XG4gICAgbWF4LXdpZHRoOiAyMDBweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC8qIGxpbmUgMzI3LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiB7XG4gICAgbWFyZ2luLXRvcDogMTUwcHg7IH1cbiAgICAvKiBsaW5lIDMzMCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLyogbGluZSAzMzMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLm5ldy11c2VycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgIC8qIGxpbmUgMzQxLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLm5ldy11c2VycyAuY29udGVudCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNzBweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gICAgICAgICAgLyogbGluZSAzNDcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAgICAgLmN1c3RvbWVyLWFjY291bnQtbG9naW4gLmFjY291bnQtbG9naW4gLmNvbDItc2V0IC5uZXctdXNlcnMgLmNvbnRlbnQgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDAgMDsgfVxuICAgICAgLyogbGluZSAzNTMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLnJlZ2lzdGVyZWQtdXNlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDEgNTAlOyB9XG4gICAgICAgIC8qIGxpbmUgMzU3LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLnJlZ2lzdGVyZWQtdXNlcnMgLmNvbnRlbnQuZmllbGRzZXQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDM3MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAvKiBsaW5lIDM2Mywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgICAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiAuYWNjb3VudC1sb2dpbiAuY29sMi1zZXQgLnJlZ2lzdGVyZWQtdXNlcnMgLmNvbnRlbnQuZmllbGRzZXQgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDAgMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE15IEFjY291bnQgR2xvYmFsIFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzgxLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMGEwYTBhO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAvKiBsaW5lIDM4OCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5wYWdlLXRpdGxlIGgxIHtcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAvKiBsaW5lIDM5OCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC53ZWxjb21lLW1zZyAuaGVsbG8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC8qIGxpbmUgNDA1LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC8qIGxpbmUgNDA5LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLyogbGluZSA0MTMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zIC5idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXgtd2lkdGg6IDE5MHB4OyB9XG4gICAgLyogbGluZSA0MjAsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zIGEsXG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zIHNwYW4uc2VwYXJhdG9yIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTQycHg7IH1cbiAgLyogbGluZSA0MjcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuZmllbGRzZXQgaDIsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgaDIsXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC8qIGxpbmUgNDM0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmZpZWxkc2V0IGgyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNDM4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDQ0NCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5maWVsZHNldCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1heC13aWR0aDogNDAwcHg7IH1cbiAgLyogbGluZSA0NTAsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuZGF0YS10YWJsZS5vcmRlcnMgdGgge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC8qIGxpbmUgNDU0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLm1vYmlsZS1sb2dvdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA0NjAsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmJsb2NrLWFjY291bnQgLmJsb2NrLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDQ2NSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuYmxvY2stYWNjb3VudCAuYmxvY2stY29udGVudCBsaSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLyogbGluZSA0NzAsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuYmxvY2stYWNjb3VudCAuYmxvY2stY29udGVudCBsaSBhOm50aC1jaGlsZCg0KSB7XG4gICAgb3JkZXI6IDU7IH1cblxuLyogbGluZSA0NzQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLmJsb2NrLWFjY291bnQgLmJsb2NrLWNvbnRlbnQgbGkuY3VycmVudCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLyogbGluZSA0NzYsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuYmxvY2stYWNjb3VudCAuYmxvY2stY29udGVudCBsaS5jdXJyZW50IGEgc3Ryb25nIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4vKiBsaW5lIDQ4Mywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuICAvKiBsaW5lIDQ4Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRkIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAvKiBsaW5lIDQ5Niwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHNwYW4ubm9iciB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC8qIGxpbmUgNDk5LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSBzcGFuLm5vYnIgYSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC8qIGxpbmUgNTA1LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUgdGQudmlldyBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDUxMCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIC5zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA1MTUsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB0Ym9keSB0ZCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAvKiBsaW5lIDUxOSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRib2R5IC5hLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDsgfVxuICAvKiBsaW5lIDUyMiwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHRib2R5IC5pdGVtLW9wdGlvbnMgZGQge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7IH1cbiAgLyogbGluZSA1MjgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB0Ym9keSAucHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7IH1cbiAgLyogbGluZSA1MzIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB0Ym9keS5vZGQgLmEtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi8qIGxpbmUgNTQyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jayBvbCNjb21wYXJlLWl0ZW1zIGxpIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLyogbGluZSA1NDgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgLmJsb2NrIC5ibG9jay1jb250ZW50IHAuYmxvY2stc3VidGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi8qIGxpbmUgNTUyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jayAuYmxvY2stY29udGVudCAuYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLyogbGluZSA1NTksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLnNpZGViYXIgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIgbGkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgNTY0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIG9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIHAucHJvZHVjdC1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgNTcxLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1jYXJ0IC5zdW1tYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4vKiBsaW5lIDU3OCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbmJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stcmVvcmRlciBvbCNjYXJ0LXNpZGViYXItcmVvcmRlciBsaSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogbGluZSA1ODIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciAuYmxvY2stcmVvcmRlciBvbCNjYXJ0LXNpZGViYXItcmVvcmRlciBsaSBpbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIGxpbmUgNTg3LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1yZW9yZGVyIG9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIHAucHJvZHVjdC1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgNTk4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmZvcm0tbGlzdCAuY3VzdG9tZXItZG9iIC5kb2ItbW9udGgsXG4uZm9ybS1saXN0IC5jdXN0b21lci1kb2IgLmRvYi1kYXkge1xuICB3aWR0aDogNDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKiBsaW5lIDYwNSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5mb3JtLWxpc3QgLmN1c3RvbWVyLWRvYiAuZG9iLXllYXIge1xuICB3aWR0aDogODBweDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogRGFzaGJvYXJkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA2MTcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uZGFzaGJvYXJkIC5ib3gtaGVhZCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGEwYTBhO1xuICBwYWRkaW5nLWJvdHRvbTogN3B4OyB9XG4gIC8qIGxpbmUgNjIyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuZGFzaGJvYXJkIC5ib3gtaGVhZCBoMiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyogbGluZSA2MzEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5kYXNoYm9hcmQgLmJveC1oZWFkIGEge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyB9XG5cbi8qIGxpbmUgNjM4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmRhc2hib2FyZCAuYm94LXRpdGxlLFxuLmRhc2hib2FyZCAuYm94LWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLyogbGluZSA2NDMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5kYXNoYm9hcmQgLmJveC10aXRsZSBhLFxuICAuZGFzaGJvYXJkIC5ib3gtaGVhZCBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLyogbGluZSA2NDksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uZGFzaGJvYXJkIC5ib3gtYWNjb3VudCB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gIC8qIGxpbmUgNjUzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuZGFzaGJvYXJkIC5ib3gtYWNjb3VudCBwLFxuICAuZGFzaGJvYXJkIC5ib3gtYWNjb3VudCBhZGRyZXNzIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuXG4vKiBsaW5lIDY2Miwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbi5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEyLjA5Njc3JTtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLyogbGluZSA2NjcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSAuYm94LXRpdGxlLFxuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIgLmJveC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAvKiBsaW5lIDY3Miwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTEgLmJveC10aXRsZSBoMixcbiAgICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTEgLmJveC10aXRsZSBoMyxcbiAgICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIgLmJveC10aXRsZSBoMixcbiAgICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIgLmJveC10aXRsZSBoMyB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSA2ODAsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0xIC5ib3gtdGl0bGUgYSxcbiAgICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIgLmJveC10aXRsZSBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOS42cHg7IH1cblxuLyogbGluZSA2ODgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uZGFzaGJvYXJkIC5ib3gtcmV2aWV3cy5ib3gtYWNjb3VudCB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgNjkyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRURFREVEOyB9XG4gIC8qIGxpbmUgNjk2LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAvKiBsaW5lIDcwMCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLm51bWJlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAvKiBsaW5lIDcwNywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLmRldGFpbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgLyogbGluZSA3MTAsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLmRhc2hib2FyZCAuYm94LXJldmlld3MgbGkgLmRldGFpbHMgLnJhdGluZ3Mge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLyogbGluZSA3MTQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAuZGFzaGJvYXJkIC5ib3gtcmV2aWV3cyBsaSAuZGV0YWlscyAucmF0aW5ncyBzdHJvbmcge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAvKiBsaW5lIDcyMSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5kYXNoYm9hcmQgLmJveC1yZXZpZXdzIGxpIC5kZXRhaWxzIC5yYXRpbmdzIC5yYXRpbmctYm94IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogM3B4IDAgMCAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFkZHJlc3MgQm9va1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgNzM2LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IHtcbiAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjsgfVxuICAvKiBsaW5lIDczOSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMSxcbiAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLyogbGluZSA3NDQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCAuaXRlbSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwOyB9XG4gICAgLyogbGluZSA3NDcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5pdGVtIHAge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gICAgLyogbGluZSA3NTMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMSxcbiAgICAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLmNvbC0yIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLyogbGluZSA3NTksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAubXktYWNjb3VudCAuYWRkcmVzc2VzLWxpc3QgLmNvbC0xIGxpLmVtcHR5LFxuICAgICAgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5jb2wtMiBsaS5lbXB0eSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC8qIGxpbmUgNzY4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIC5teS1hY2NvdW50IC5hZGRyZXNzZXMtbGlzdCAuYWRkcmVzc2VzLWFkZGl0aW9uYWwgcCBhIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBPcmRlciBWaWV3XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA3ODMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uc2FsZXMtb3JkZXItaGlzdG9yeSAucGFnZXIgLmNvdW50LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA3ODcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4uc2FsZXMtb3JkZXItaGlzdG9yeSAucGFnZXIgLnBhZ2VzIGEge1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDc5MSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5zYWxlcy1vcmRlci1oaXN0b3J5IC5wYWdlciAucGFnZXMgLmN1cnJlbnQge1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4vKiBsaW5lIDc5NCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5zYWxlcy1vcmRlci1oaXN0b3J5IC5wYWdlciAucGFnZXMgLm5leHQ6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwYTBhMGE7IH1cblxuLyogbGluZSA4MDIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4ubXktYWNjb3VudCAuYW1vdW50IHtcbiAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDgwNiwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLm15LWFjY291bnQgLmFtb3VudCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyogbGluZSA4MTIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4ubXktYWNjb3VudCAub3JkZXItaXRlbXMgLmRhdGEtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBsaW5lIDgxNiwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5teS1hY2NvdW50IC5vcmRlci1pdGVtcyAuZGF0YS10YWJsZSAuZ3JhbmRfdG90YWwgdGQgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4vKiBsaW5lIDgyMSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5teS1hY2NvdW50IC5vcmRlci1pdGVtcyB0Ym9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgLyogbGluZSA4MjMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5teS1hY2NvdW50IC5vcmRlci1pdGVtcyB0Ym9keSAuaXRlbS1vcHRpb25zIGR0IHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyogbGluZSA4MzEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4ub3JkZXItaW5mbyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLyogbGluZSA4MzcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5vcmRlci1pbmZvIGR0LFxuICAub3JkZXItaW5mbyBkZCxcbiAgLm9yZGVyLWluZm8gdWwsXG4gIC5vcmRlci1pbmZvIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLyogbGluZSA4NDQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5vcmRlci1pbmZvIGR0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgLyogbGluZSA4NDgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5vcmRlci1pbmZvIGxpIHtcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH1cbiAgICAvKiBsaW5lIDg1MSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAub3JkZXItaW5mbyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBsaW5lIDg1Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5vcmRlci1kYXRlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDg2Miwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5vcmRlci1pbmZvLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLyogbGluZSA4NjYsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5vcmRlci1pbmZvLWJveCArIC5vcmRlci1pbmZvLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFREVERUQ7IH1cbiAgLyogbGluZSA4NzEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5vcmRlci1pbmZvLWJveCAuY29sLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQ4JTsgfVxuICAvKiBsaW5lIDg3Niwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLm9yZGVyLWluZm8tYm94IC5jb2wtMiB7XG4gICAgd2lkdGg6IDUyJTsgfVxuICAvKiBsaW5lIDg4MCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLm9yZGVyLWluZm8tYm94IC5jb2wtMSxcbiAgLm9yZGVyLWluZm8tYm94IC5jb2wtMiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDg4Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLm9yZGVyLWluZm8tYm94IC5ib3gtdGl0bGUge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLyogbGluZSA4OTIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLm9yZGVyLWluZm8tYm94IC5ib3gtdGl0bGUgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAvKiBsaW5lIDg5Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5vcmRlci1pbmZvLWJveCAuYm94LXRpdGxlIGgyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonOyB9XG4gIC8qIGxpbmUgOTAzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLyogbGluZSA5MDcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLm9yZGVyLWluZm8tYm94IC5ib3gtY29udGVudCB0ZCxcbiAgICAub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHRoIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAvKiBsaW5lIDkxMywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHRoIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLyogbGluZSA5MTcsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLm9yZGVyLWluZm8tYm94IC5ib3gtY29udGVudCB0ZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAvKiBsaW5lIDkyMSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAub3JkZXItaW5mby1ib3ggLmJveC1jb250ZW50IHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDkzMCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiNteS1vcmRlcnMtdGFibGUgdGhlYWQge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyogbGluZSA5MzQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4jbXktb3JkZXJzLXRhYmxlIHRib2R5IHRkIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi8qIGxpbmUgOTM4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuI215LW9yZGVycy10YWJsZSAub3B0aW9uLWxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBsaW5lIDk0NCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiNteS1vcmRlcnMtdGFibGUgLm9wdGlvbi12YWx1ZSB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi8qIGxpbmUgOTQ4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuI215LW9yZGVycy10YWJsZSB0ci5idW5kbGU6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLyogbGluZSA5NTUsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5vbCNjYXJ0LXNpZGViYXItcmVvcmRlciBsaSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogbGluZSA5NTksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIG9sI2NhcnQtc2lkZWJhci1yZW9yZGVyIGxpIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLyogbGluZSA5NjQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5vbCNjYXJ0LXNpZGViYXItcmVvcmRlciBwLnByb2R1Y3QtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgOTcxLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAjbXktb3JkZXJzLXRhYmxlIC5vcHRpb24tbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC8qIGxpbmUgOTc1LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAjbXktb3JkZXJzLXRhYmxlIC5vcHRpb24tdmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gIC8qIGxpbmUgOTgwLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAjbXktb3JkZXJzLXRhYmxlIHRkW2RhdGEtcndkLWxhYmVsPVF0eV0gLm5vYnIgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA5ODQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICNteS1vcmRlcnMtdGFibGUgdGRbZGF0YS1yd2QtbGFiZWw9UXR5XSAubm9iciBzdHJvbmcge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAvKiBsaW5lIDk4OSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgI215LW9yZGVycy10YWJsZSB0ci5idW5kbGUge1xuICAgIGJvcmRlci1jb2xvcjogI0VERURFRDsgfVxuICAvKiBsaW5lIDk5NCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgI215LW9yZGVycy10YWJsZSB0ci5idW5kbGUuY2hpbGQgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cbiAgLyogbGluZSAxMDAwLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAjbXktb3JkZXJzLXRhYmxlIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC8qIGxpbmUgMTAwNCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAjbXktb3JkZXJzLXRhYmxlIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gIC8qIGxpbmUgMTAxMCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgI215LW9yZGVycy10YWJsZSB0Zm9vdCB0ci5zaGlwcGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi8qIGxpbmUgMTAxNiwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5vcmRlci1hZGRpdGlvbmFsIHtcbiAgbWFyZ2luOiA0MHB4IDA7IH1cblxuLyogbGluZSAxMDIxLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuLm9yZGVyLWdpZnQtbWVzc2FnZSBkZCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLyogbGluZSAxMDI5LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTEsXG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDEwMzksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZSB0ZC52aWV3IGEge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgMTA0OSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLyogbGluZSAxMDUyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAudGl0bGUtYnV0dG9ucyBzcGFuLnNlcGFyYXRvcixcbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgYSB7XG4gICAgICB0b3A6IC0xMnB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDEwNjMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDEwNjgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAuZGF0YS10YWJsZS5vcmRlcnMgdGguc2hpcCxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlLm9yZGVycyB0ZC5zaGlwLFxuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLmRhdGEtdGFibGUub3JkZXJzIHRkLnN0YXR1cyxcbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlLm9yZGVycyB0aC5zdGF0dXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAxMDc2LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAvKiBsaW5lIDEwNzksIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5maWVsZHNldCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDEwODIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5wYWdlLXRpdGxlIGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMTA4NSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLm1vYmlsZS1sb2dvdXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxvYXQ6IHVuc2V0O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICAvKiBsaW5lIDEwOTMsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLm1vYmlsZS1sb2dvdXQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAvKiBsaW5lIDExMDIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5vcmRlci1pbmZvLWJveCAuYm94LWNvbnRlbnQge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC8qIGxpbmUgMTEwOCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmFkZHJlc3Nlcy1saXN0IC5pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgLyogbGluZSAxMTE2LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAub3JkZXItaW5mbyBkdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDExMjIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5kYXNoYm9hcmQgLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAvKiBsaW5lIDExMjQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgLmRhc2hib2FyZCAucGFnZS10aXRsZSBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgMTEzMywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhc2hib2FyZCAud2VsY29tZS1tc2cgLmhlbGxvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLyogbGluZSAxMTM4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuZGFzaGJvYXJkIC5ib3gtYWNjb3VudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAvKiBsaW5lIDExNDQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogNDglO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMTE1MSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0xIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQlOyB9XG4gIC8qIGxpbmUgMTE1Niwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgMTE2Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5mb3JtLWxpc3QgLmNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSAxMTg0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMTE4Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAvKiBsaW5lIDExOTIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4OyB9XG4gIC8qIGxpbmUgMTE5OSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC5maWVsZHNldCBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAvKiBsaW5lIDEyMDQsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAvKiBsaW5lIDEyMDgsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIGJvZHkuY3VzdG9tZXItYWNjb3VudCAubXktYWNjb3VudCAuYnV0dG9ucy1zZXQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLyogbGluZSAxMjEzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IC5pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLyogbGluZSAxMjIwLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLmFkZHJlc3Nlcy1saXN0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC8qIGxpbmUgMTIyNywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLm9yZGVyLWluZm8ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLyogbGluZSAxMjMzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuZGF0YS10YWJsZS5vcmRlcnMgLmxpbmstcmVvcmRlcixcbiAgLmRhdGEtdGFibGUub3JkZXJzIC5kYXRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTIzOCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhdGEtdGFibGUub3JkZXJzIHRkLnZpZXcge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC8qIGxpbmUgMTI0Niwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0xLFxuICAuZGFzaGJvYXJkIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLyogbGluZSAxMjU0LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAub3JkZXItaW5mby1ib3gge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC8qIGxpbmUgMTI1Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAub3JkZXItaW5mby1ib3ggLmNvbC0xLFxuICAgIC5vcmRlci1pbmZvLWJveCAuY29sLTIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIC8qIGxpbmUgMTI2NCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAub3JkZXItaW5mby1ib3ggKyAub3JkZXItaW5mby1ib3gge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAvKiBsaW5lIDEyNzIsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICNteS1yZXZpZXdzLXRhYmxlIC5ub2JyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmV3c2xldHRlciBTdWJzY3JpcHRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAxMjgzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuYm9keS5uZXdzbGV0dGVyLW1hbmFnZS1pbmRleCAubXktYWNjb3VudCAuZmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qIGxpbmUgMTI4Nywgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbmJvZHkubmV3c2xldHRlci1tYW5hZ2UtaW5kZXggLm15LWFjY291bnQgLmZpZWxkc2V0IGgyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDEyOTEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG5ib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IC5teS1hY2NvdW50IC5mb3JtLWxpc3Qge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VERURFRDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDEzMDEsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gIC5jdXN0b21lci1hY2NvdW50IC5zaWRlYmFyIC5ibG9jay1hY2NvdW50IC5ibG9jay1jb250ZW50IHtcbiAgICBib3JkZXI6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY2NvdW50IENyZWF0ZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMTMxNSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuY29sLW1haW4ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC8qIGxpbmUgMTMxOCwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5jb2wtbWFpbiAuYWNjb3VudC1jcmVhdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDIwcHggYXV0byA3MHB4OyB9XG4gICAgLyogbGluZSAxMzI1LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuY29sLW1haW4gLmFjY291bnQtY3JlYXRlIC5wYWdlLXRpdGxlIGgxIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzLjZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMTMzNiwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmNvbC1tYWluIC5hY2NvdW50LWNyZWF0ZSBmb3JtIGgyLmxlZ2VuZCB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLyogbGluZSAxMzQ4LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuY29sLW1haW4gLmFjY291bnQtY3JlYXRlIC5jaGVjay10ZXJtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLyogbGluZSAxMzUyLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgICAgLmN1c3RvbWVyLWFjY291bnQtY3JlYXRlIC5jb2wtbWFpbiAuYWNjb3VudC1jcmVhdGUgLmNoZWNrLXRlcm1zIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4OyB9XG4gICAgICAvKiBsaW5lIDEzNTYsIHNjc3MvbW9kdWxlL19jdXN0b21lci5zY3NzICovXG4gICAgICAuY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLmNvbC1tYWluIC5hY2NvdW50LWNyZWF0ZSAuY2hlY2stdGVybXMgbGFiZWwge1xuICAgICAgICBmbGV4LWJhc2lzOiA5MCU7IH1cbiAgICAgIC8qIGxpbmUgMTM1OSwgc2Nzcy9tb2R1bGUvX2N1c3RvbWVyLnNjc3MgKi9cbiAgICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuY29sLW1haW4gLmFjY291bnQtY3JlYXRlIC5jaGVjay10ZXJtcyAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgLyogbGluZSAxMzYzLCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAgIC5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuY29sLW1haW4gLmFjY291bnQtY3JlYXRlIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSAxMzc1LCBzY3NzL21vZHVsZS9fY3VzdG9tZXIuc2NzcyAqL1xuICAuYWNjb3VudC1jcmVhdGUge1xuICAgIG1hcmdpbjogNzBweCBhdXRvIDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb250YWN0c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzEsIHNjc3MvbW9kdWxlL19jb250YWN0cy5zY3NzICovXG4uY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIG1heC13aWR0aDogNDM1cHg7IH1cbiAgLyogbGluZSAzNSwgc2Nzcy9tb2R1bGUvX2NvbnRhY3RzLnNjc3MgKi9cbiAgLmNvbnRhY3RzLWluZGV4LWluZGV4IC5idXR0b25zLXNldCBwLnJlcXVpcmVkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLyogbGluZSAzMSwgc2Nzcy9tb2R1bGUvX2NvbnRhY3RzLnNjc3MgKi9cbiAgICAuY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IHtcbiAgICAgIG1heC13aWR0aDogMzMwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLyogbGluZSA0Mywgc2Nzcy9tb2R1bGUvX2NvbnRhY3RzLnNjc3MgKi9cbiAgICAgIC5jb250YWN0cy1pbmRleC1pbmRleCAuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7IH1cbiAgICAgIC8qIGxpbmUgNDgsIHNjc3MvbW9kdWxlL19jb250YWN0cy5zY3NzICovXG4gICAgICAuY29udGFjdHMtaW5kZXgtaW5kZXggLmJ1dHRvbnMtc2V0IHAucmVxdWlyZWQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQYXlQYWxcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg3MHB4KSBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLyogbGluZSAzNCwgc2Nzcy9tb2R1bGUvX3BheXBhbC5zY3NzICovXG4gIC5wYXlwYWwtcmV2aWV3LW9yZGVyIC5jb2wyLXNldCAuY29sLTEsXG4gIC5wYXlwYWwtcmV2aWV3LW9yZGVyIC5jb2wyLXNldCAuY29sLTIge1xuICAgIHBhZGRpbmc6IDBweDsgfSB9XG5cbi8qIGxpbmUgNDIsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuLnBheXBhbC1yZXZpZXctb3JkZXIgLmluZm8tc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEOyB9XG5cbi8qIGxpbmUgNDgsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuLnBheXBhbC1yZXZpZXctb3JkZXIgLmJ1dHRvbnMtc2V0IHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBib3JkZXI6IDA7IH1cbiAgLyogbGluZSA1Mywgc2Nzcy9tb2R1bGUvX3BheXBhbC5zY3NzICovXG4gIC5wYXlwYWwtcmV2aWV3LW9yZGVyIC5idXR0b25zLXNldCBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDU5LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmNvbC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDYzLCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgLnBheXBhbC1yZXZpZXctb3JkZXIgLmZpZWxkLmluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogbGluZSA3MCwgc2Nzcy9tb2R1bGUvX3BheXBhbC5zY3NzICovXG4udG9wLWNvbnRhaW5lciAuYm1sLWFkIHtcbiAgbWFyZ2luLXRvcDogN3B4O1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDc1LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgLnRvcC1jb250YWluZXIgLmJtbC1hZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAvKiBsaW5lIDc4LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgICAudG9wLWNvbnRhaW5lciAuYm1sLWFkIHNwYW4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBsaW5lIDg0LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbi5ibWwtYWQge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAvKiBsaW5lIDg5LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgLmJtbC1hZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuICAvKiBsaW5lIDkzLCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgLmJtbC1hZCBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgOTcsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAuYm1sLWFkIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAvKiBsaW5lIDEwMCwgc2Nzcy9tb2R1bGUvX3BheXBhbC5zY3NzICovXG4gIC5ibWwtYWQgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAxMDcsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuLmNhcnQtdG90YWxzLXdyYXBwZXIgLmJtbC1hZC5sYXJnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAxMTMsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAuYm1sLWFkLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLyogbGluZSAxMTksIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAuYm1sLWFkLmxhcmdlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qIGxpbmUgMTI0LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbmRpdi5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDEyOSwgc2Nzcy9tb2R1bGUvX3BheXBhbC5zY3NzICovXG4gIGRpdi5wYXlwYWwtbG9nbyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgMTMzLCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgICBkaXYucGF5cGFsLWxvZ28gc3BhbiBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLyogbGluZSAxMzcsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAgICAgZGl2LnBheXBhbC1sb2dvIHNwYW4gYSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAxNDMsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICBkaXYucGF5cGFsLWxvZ28gc3BhbiA+IGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDE0OSwgc2Nzcy9tb2R1bGUvX3BheXBhbC5zY3NzICovXG4uY2hlY2tvdXQtdHlwZXMgZGl2LnBheXBhbC1sb2dvIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyogbGluZSAxNTQsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuLmJtbC1jaGVja291dC10eXBlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi8qIGxpbmUgMTU5LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbi5zaWRlYmFyIC5wYXlwYWwtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLyogbGluZSAxNjMsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAuc2lkZWJhciAucGF5cGFsLWxvZ28gPiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAxNjcsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAgIC5zaWRlYmFyIC5wYXlwYWwtbG9nbyA+IGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC44OyB9XG4gICAgLyogbGluZSAxNzAsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAgIC5zaWRlYmFyIC5wYXlwYWwtbG9nbyA+IGEgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgMTc0LCBzY3NzL21vZHVsZS9fcGF5cGFsLnNjc3MgKi9cbiAgLnNpZGViYXIgLnBheXBhbC1sb2dvIC5sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogNHB4OyB9XG4gICAgLyogbGluZSAxNzYsIHNjc3MvbW9kdWxlL19wYXlwYWwuc2NzcyAqL1xuICAgIC5zaWRlYmFyIC5wYXlwYWwtbG9nbyAubGFiZWwgYSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJldmlldyAtIEN1c3RvbWVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4jY3VzdG9tZXItcmV2aWV3cyB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTsgfVxuICAvKiBsaW5lIDM0LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQ0NDQztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQztcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4OyB9XG4gICAgLyogbGluZSAzOSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC8qIGxpbmUgNDMsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZyBoMiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLyogbGluZSA0OCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1oZWFkaW5nIC5wYWdlciB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDU0LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZyAucGFnZXIgLmNvdW50LWNvbnRhaW5lciAubGltaXRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLyogbGluZSA1Nywgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgICAgICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZyAucGFnZXIgLmNvdW50LWNvbnRhaW5lciAubGltaXRlciBsYWJlbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAvKiBsaW5lIDY1LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctaGVhZGluZyAucGFnZXIgLmFtb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA3MSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIGgyIHtcbiAgICBjb2xvcjogIzMzOTlDQztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC8qIGxpbmUgNzYsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICNjdXN0b21lci1yZXZpZXdzIGgyIHNwYW4ge1xuICAgICAgY29sb3I6ICM2MzYzNjM7IH1cbiAgLyogbGluZSA4MSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIGgzIHtcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC8qIGxpbmUgODcsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICNjdXN0b21lci1yZXZpZXdzIGgzIHNwYW4ge1xuICAgICAgY29sb3I6ICMzMzk5Q0M7IH1cbiAgLyogbGluZSA5Miwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgd2lkdGg6IDQ3MHB4OyB9XG4gICAgLyogbGluZSA5Niwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IGg0IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAvKiBsaW5lIDEwNCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgaDQgZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAxMDksIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB3aWR0aDogNDcwcHg7IH1cbiAgICAgIC8qIGxpbmUgMTI0LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IC5pbmxpbmUtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAvKiBsaW5lIDEyOSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLyogbGluZSAxMzQsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICAgI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgICAgLyogbGluZSAxNDEsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICAgI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgaW5wdXQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAgIC8qIGxpbmUgMTQ1LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICAgI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3QgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMTUyLCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgI2N1c3RvbWVyLXJldmlld3MgLmJ1dHRvbnMtc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiA0NzBweDsgfVxuICAvKiBsaW5lIDE1OCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIGRsIHtcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC8qIGxpbmUgMTY0LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkdCB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDE2OSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgI2N1c3RvbWVyLXJldmlld3MgZGwgZGQge1xuICAgICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgICAvKiBsaW5lIDE3NCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAvKiBsaW5lIDE3OSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgICAgICNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAgICAgLyogbGluZSAxODMsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICAgICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSAucmV2aWV3LWxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3MCU7IH1cbiAgICAgIC8qIGxpbmUgMTg5LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICNjdXN0b21lci1yZXZpZXdzIGRsIGRkIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAgIC8qIGxpbmUgMTkzLCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICNjdXN0b21lci1yZXZpZXdzIGRsIGRkIC5yZXZpZXctbWV0YSB7XG4gICAgICAgIGNvbG9yOiAjMzM5OUNDO1xuICAgICAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDIwNCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4ucmV2aWV3LXN1bW1hcnktdGFibGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQztcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAvKiBsaW5lIDIwOCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIC5yZXZpZXctc3VtbWFyeS10YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAvKiBsaW5lIDIxMSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRoZWFkIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMTVweCA3cHggMTBweCA4cHg7IH1cbiAgLyogbGluZSAyMTksIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAucmV2aWV3LXN1bW1hcnktdGFibGUgdGJvZHkgdGgge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC8qIGxpbmUgMjIzLCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAvKiBsaW5lIDIyOCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIGxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMXB4IDA7IH1cbiAgLyogbGluZSAyMzcsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAucmV2aWV3LXN1bW1hcnktdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZy1udW1iZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDI0MCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgLnJldmlldy1zdW1tYXJ5LXRhYmxlIC5yYXRpbmctYm94IC5yYXRpbmctbnVtYmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU5OXB4O1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmF0aW5ncyAtIEdsb2JhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMjYwLCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbi5yYXRpbmdzLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSAyNjUsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAucmF0aW5ncy10YWJsZSB0aCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAvKiBsaW5lIDI2OSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIC5yYXRpbmdzLXRhYmxlIC5yYXRpbmctYm94IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MTVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6IDY1cHg7IH1cbiAgICAvKiBsaW5lIDI3OCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgLnJhdGluZ3MtdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MDBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDI5NSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLnByaWNlLWluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKiBsaW5lIDI5OSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLXdpZHRoOiA4NCU7IH1cbiAgICAvKiBsaW5lIDMwMywgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgYm9keS5yZXZpZXctcHJvZHVjdC1saXN0IC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAuZXh0cmEtaW5mbyAucmF0aW5ncy10YWJsZSB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAvKiBsaW5lIDMwNywgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgICBib2R5LnJldmlldy1wcm9kdWN0LWxpc3QgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5leHRyYS1pbmZvIC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MzVweCkge1xuICAvKiBsaW5lIDMyMywgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AgLmV4dHJhLWluZm8ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAgIC8qIGxpbmUgMzI3LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICBib2R5LnJldmlldy1wcm9kdWN0LWxpc3QgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5leHRyYS1pbmZvIC5yYXRpbmdzLXRhYmxlIHRyIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjBweCkge1xuICAvKiBsaW5lIDM0Miwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDM0NSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICAgI2N1c3RvbWVyLXJldmlld3MgLmZpZWxkc2V0IC5mb3JtLWxpc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC8qIGxpbmUgMzQ5LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAgICNjdXN0b21lci1yZXZpZXdzIC5maWVsZHNldCAuZm9ybS1saXN0IC5pbmxpbmUtbGFiZWwgbGFiZWwsXG4gICAgICAjY3VzdG9tZXItcmV2aWV3cyAuZmllbGRzZXQgLmZvcm0tbGlzdCAuaW5saW5lLWxhYmVsIC5pbnB1dC1ib3gge1xuICAgICAgICBmbG9hdDogbm9uZTsgfVxuICAvKiBsaW5lIDM1Nywgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIC5idXR0b25zLXNldCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzNjQsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAjY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LXN1bW1hcnktdGFibGUgdGhlYWQgdGgge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDsgfVxuICAvKiBsaW5lIDM3MSwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctc3VtbWFyeS10YWJsZSB0Ym9keSB0aCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMHB4OyB9XG4gIC8qIGxpbmUgMzc2LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgI2N1c3RvbWVyLXJldmlld3MgLnJldmlldy1zdW1tYXJ5LXRhYmxlIHRib2R5IHRkIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAvKiBsaW5lIDM4Miwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCB7XG4gICAgdGV4dC1pbmRlbnQ6IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBoZWlnaHQ6IDE5LjZweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgMzg5LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgICAjY3VzdG9tZXItcmV2aWV3cyAucmV2aWV3LXN1bW1hcnktdGFibGUgLnJhdGluZy1ib3ggLnJhdGluZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAzOTIsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAgICNjdXN0b21lci1yZXZpZXdzIC5yZXZpZXctc3VtbWFyeS10YWJsZSAucmF0aW5nLWJveCAucmF0aW5nLW51bWJlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gIC8qIGxpbmUgNDA0LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbiAgI2N1c3RvbWVyLXJldmlld3MgZGwgZGQgLnJhdGluZ3MtdGFibGUgdHIge1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmV2aWV3IFZpZXcgUGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgNDE1LCBzY3NzL21vZHVsZS9fcmV2aWV3LnNjc3MgKi9cbi5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1kZXRhaWxzIGgyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4vKiBsaW5lIDQyMCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4ucmV2aWV3LXByb2R1Y3QtdmlldyAucHJvZHVjdC1yZXZpZXcgLnByb2R1Y3QtaW1nLWJveCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDQyNCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIC5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94ID4gYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSA0MjgsIHNjc3MvbW9kdWxlL19yZXZpZXcuc2NzcyAqL1xuICAucmV2aWV3LXByb2R1Y3QtdmlldyAucHJvZHVjdC1yZXZpZXcgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDQzOCwgc2Nzcy9tb2R1bGUvX3Jldmlldy5zY3NzICovXG4gIC5yZXZpZXctcHJvZHVjdC12aWV3IC5wcm9kdWN0LXJldmlldyAucHJvZHVjdC1pbWctYm94IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTbGlkZXNob3dcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMwLCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbi5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEOyB9XG4gIC8qIGxpbmUgMzcsIHNjc3MvbW9kdWxlL19zbGlkZXNob3cuc2NzcyAqL1xuICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpZGVzaG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICNGRkZGRkY7IH1cbiAgICAvKiBsaW5lIDQzLCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbiAgICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpZGVzaG93ID4gbGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAvKiBsaW5lIDUzLCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbiAgICAgIC5zbGlkZXNob3ctY29udGFpbmVyIC5zbGlkZXNob3cgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHotaW5kZXg6IDEwMDsgfVxuICAgICAgLyogbGluZSA1OCwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gICAgICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpZGVzaG93ID4gbGkgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDY2LCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbi5zbGlkZXNob3ctcGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMTU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwcHg7XG4gIHRvcDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLyogbGluZSA3Niwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctcGFnZXIgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6IGFyaWFsO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNEREREREQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLyogbGluZSA4NSwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gICAgLnNsaWRlc2hvdy1wYWdlciBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDk5LCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbiAgICAuc2xpZGVzaG93LXBhZ2VyIHNwYW46aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZThhYjg7IH1cbiAgICAvKiBsaW5lIDEwMywgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gICAgLnNsaWRlc2hvdy1wYWdlciBzcGFuLmN5Y2xlLXBhZ2VyLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI5N2FhMzsgfVxuICAvKiBsaW5lIDEwOCwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctcGFnZXIgPiAqIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogbGluZSAxMTMsIHNjc3MvbW9kdWxlL19zbGlkZXNob3cuc2NzcyAqL1xuLnNsaWRlc2hvdy1wcmV2LFxuLnNsaWRlc2hvdy1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxNSU7XG4gIG1heC13aWR0aDogODBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IDExMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAvKiBsaW5lIDEyNSwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctcHJldjpiZWZvcmUsXG4gIC5zbGlkZXNob3ctbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7IH1cbiAgLyogbGluZSAxMzcsIHNjc3MvbW9kdWxlL19zbGlkZXNob3cuc2NzcyAqL1xuICAuc2xpZGVzaG93LXByZXY6aG92ZXIsXG4gIC5zbGlkZXNob3ctbmV4dDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAvKiBsaW5lIDE0MSwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctcHJldi5kaXNhYmxlZCxcbiAgLnNsaWRlc2hvdy1uZXh0LmRpc2FibGVkIHtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTUwKTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qIGxpbmUgMTQ3LCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbi5zbGlkZXNob3ctcHJldiB7XG4gIGxlZnQ6IDhweDsgfVxuICAvKiBsaW5lIDE1MCwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctcHJldjpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMTVweCAxNXB4IDE1cHggMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDsgfVxuICAvKiBsaW5lIDE1Nywgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctcHJldjpob3ZlcjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJlOGFiOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4vKiBsaW5lIDE2Miwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4uc2xpZGVzaG93LW5leHQge1xuICByaWdodDogOHB4OyB9XG4gIC8qIGxpbmUgMTY1LCBzY3NzL21vZHVsZS9fc2xpZGVzaG93LnNjc3MgKi9cbiAgLnNsaWRlc2hvdy1uZXh0OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxNXB4IDAgMTVweCAxNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0ZGRkZGRjtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTBweDsgfVxuICAvKiBsaW5lIDE3Miwgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4gIC5zbGlkZXNob3ctbmV4dDpob3ZlcjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzJlOGFiODsgfVxuXG4vKiBsaW5lIDE3Nywgc2Nzcy9tb2R1bGUvX3NsaWRlc2hvdy5zY3NzICovXG4uY3ljbGUtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3R0b206IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB6LWluZGV4OiAxMTA7IH1cblxuLyogbGluZSAxODUsIHNjc3MvbW9kdWxlL19zbGlkZXNob3cuc2NzcyAqL1xuLmN5Y2xlLW92ZXJsYXkge1xuICBmb250LWZhbWlseTogdGFob21hLCBhcmlhbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMjA7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG9wYWNpdHk6IC41OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFdpc2hsaXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDM1LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgNDEsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0aCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3MDcwNzA7IH1cbiAgLyogbGluZSA0NSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLyogbGluZSA1MCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRoZWFkIHRoIHtcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSA1Nywgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSA2Mywgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgY29sb3I6ICMzMzk5Q0M7IH1cblxuLyogbGluZSA2OCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSAud2lzaGxpc3Qtc2t1IHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLyogbGluZSA3NCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDMEMwQzA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gIC8qIGxpbmUgODEsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAvKiBsaW5lIDg0LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAvKiBsaW5lIDg3LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSA5MCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAvKiBsaW5lIDk0LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzk5Q0M7IH1cblxuLyogbGluZSA5OSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSAuaXRlbS1tYW5hZ2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgcGFkZGluZy10b3A6IDVweDsgfVxuICAvKiBsaW5lIDEwNCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIC5pdGVtLW1hbmFnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogM3B4IDVweDsgfVxuXG4vKiBsaW5lIDExMCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSAuY2FydC1jZWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIGxpbmUgMTE1LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICB3aWR0aDogMTEzcHg7IH1cblxuLyogbGluZSAxMTksIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4jd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSB7XG4gIHdpZHRoOiAzZW07IH1cblxuLyogbGluZSAxMjMsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4jd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSB7XG4gIHdpZHRoOiAxMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIGxpbmUgMTI4LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gIHdpZHRoOiAxNTBweDsgfVxuICAvKiBsaW5lIDEzMSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMTM4LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IC50cnVuY2F0ZWQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLyogbGluZSAxNDIsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgMTQ2LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKiBsaW5lIDE1MCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAuYnRuLXJlbW92ZSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBsaW5lIDE1NSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXJlbW92ZSB7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi8qIGxpbmUgMTU5LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuI3dpc2hsaXN0LXRhYmxlIHRkIC5idXR0b24sXG4jd2lzaGxpc3QtdGFibGUgdGQgYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4vKiBsaW5lIDE2Niwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiN3aXNobGlzdC10YWJsZSAucHJpY2UtYm94IHtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7IH1cbiAgLyogbGluZSAxNzAsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgY29sb3I6ICM2MzYzNjM7IH1cblxuLyogbGluZSAxNzUsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4jd2lzaGxpc3QtdGFibGUgLmdpZnRyZWdpc3R5LWFkZCB7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuICAvKiBsaW5lIDE3OCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIC5naWZ0cmVnaXN0eS1hZGQgLmNoYW5nZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDE4Miwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIC5naWZ0cmVnaXN0eS1hZGQgbGkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzMzOTlDQztcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cblxuLyogbGluZSAxOTAsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4jd2lzaGxpc3QtdGFibGUgLnRydW5jYXRlZCAuZGV0YWlscyB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMzM5OUNDOyB9XG5cbi8qIGxpbmUgMTk2LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuI3dpc2hsaXN0LXRhYmxlIHRkW2RhdGEtcndkLWxhYmVsXTpiZWZvcmUge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC8qIGxpbmUgMjA2LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDIxOCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlLmNsZWFuLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cbiAgICAvKiBsaW5lIDIyMiwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgICAjd2lzaGxpc3QtdGFibGUuY2xlYW4tdGFibGUgdGQgdGV4dGFyZWEge1xuICAgICAgaGVpZ2h0OiAxMDBweDsgfVxuICAgIC8qIGxpbmUgMjI2LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAgICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgd2lkdGg6IDExMHB4OyB9XG4gIC8qIGxpbmUgMjMxLCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDI0MSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDI0NSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAvKiBsaW5lIDI0OSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMjU0LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgLml0ZW0tbWFuYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAyNTgsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSB0ciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLyogbGluZSAyNjEsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICAgI3dpc2hsaXN0LXRhYmxlIHRyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDI2Niwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgIHdpZHRoOiA3MHB4OyB9XG4gICAgLyogbGluZSAyNjksIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgaGVpZ2h0OiA3MHB4OyB9XG4gIC8qIGxpbmUgMjc2LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogbGluZSAyODAsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQgLnJlbW92ZS13aGlzaGxpc3QtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cbiAgLyogbGluZSAyODYsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgMjk2LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qIGxpbmUgMzAwLCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSxcbiAgI3dpc2hsaXN0LXRhYmxlIHRoLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMzExLCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdHIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDMxNSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRoLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgMzIwLCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW5mbywgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlLCAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBlbXB0eS1jZWxsczogaGlkZTsgfVxuICAvKiBsaW5lIDMzMSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAvKiBsaW5lIDMzNSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1pbWFnZSBhIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAvKiBsaW5lIDMzOCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgICAgICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIGEgaW1nIHtcbiAgICAgICAgd2lkdGg6IDExM3B4O1xuICAgICAgICBoZWlnaHQ6IDExM3B4OyB9XG4gIC8qIGxpbmUgMzQ1LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSwgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDM0OSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eTpiZWZvcmUsICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlOmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIC8qIGxpbmUgMzU0LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAgICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IC5jYXJ0LWNlbGwsICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlIC5jYXJ0LWNlbGwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC8qIGxpbmUgMzU4LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAgICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IC5wcmljZS1ib3gsICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXByaWNlIC5wcmljZS1ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAvKiBsaW5lIDM2NCwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbiAgI3dpc2hsaXN0LXRhYmxlIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCAuY2FydC1jZWxsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDglOyB9XG4gIC8qIGxpbmUgMzY5LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuICAjd2lzaGxpc3QtdGFibGUgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0ID4gcCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA0OCU7IH1cbiAgLyogbGluZSAzNzUsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXJlbW92ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgLyogbGluZSAzODYsIHNjc3MvbW9kdWxlL193aXNobGlzdC5zY3NzICovXG4gICN3aXNobGlzdC10YWJsZS5jbGVhbi10YWJsZSB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lzaGxpc3QgU2lkZWJhclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzk5LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuLmJsb2NrLXdpc2hsaXN0IC5taW5pLXByb2R1Y3RzLWxpc3QgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuXG4vKiBsaW5lIDQwMywgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbi5ibG9jay13aXNobGlzdCAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi8qIGxpbmUgNDA4LCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuLmJsb2NrLXdpc2hsaXN0IC5wcmljZS1ib3gge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIGxpbmUgNDEzLCBzY3NzL21vZHVsZS9fd2lzaGxpc3Quc2NzcyAqL1xuLmJsb2NrLXdpc2hsaXN0IC5wcmljZS1ib3gsXG4uYmxvY2std2lzaGxpc3QgLnByaWNlLWJveCAucHJpY2UsXG4uYmxvY2std2lzaGxpc3QgLmxpbmstY2FydCB7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4vKiBsaW5lIDQxOSwgc2Nzcy9tb2R1bGUvX3dpc2hsaXN0LnNjc3MgKi9cbi5ibG9jay13aXNobGlzdCAubGluay1jYXJ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNFREVERUQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBNaW5pIGNhcnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4uaGVhZGVyLW1pbmljYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgICAvKiBsaW5lIDMwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC8qIGxpbmUgMzcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCBhLnNraXAtbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7IH1cbiAgLyogbGluZSA0MSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gIC8qIGxpbmUgNDYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAuZW1wdHkge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSA1NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC13cmFwcGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDI3LCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXI6YmVmb3JlLCAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC13cmFwcGVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDM4LCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC8qIGxpbmUgNDQsIHNjc3MvbWl4aW4vX2xvYWRpbmctb3ZlcmxheS5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvb3BjLWFqYXgtbG9hZGVyLmdpZlwiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgLyogbGluZSA1MSwgc2Nzcy9taXhpbi9fbG9hZGluZy1vdmVybGF5LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC13cmFwcGVyLmxvYWRpbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAvKiBsaW5lIDU0LCBzY3NzL21peGluL19sb2FkaW5nLW92ZXJsYXkuc2NzcyAqL1xuICAgICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlci5sb2FkaW5nOmJlZm9yZSwgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlci5sb2FkaW5nOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvKiBsaW5lIDU4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlciAubWluaS1wcm9kdWN0cy1saXN0LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMTlweCk7IH1cbiAgICAgIC8qIGxpbmUgNjAsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LXdyYXBwZXIgLm1pbmktcHJvZHVjdHMtbGlzdC1jb250YWluZXIgLm1pbmktcHJvZHVjdHMtbGlzdCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2OHB4OyB9XG4gIC8qIGxpbmUgNjksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAuYmxvY2stY2FydCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDcyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gIC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC8qIGxpbmUgODMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSAuY2xvc2Uge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjNjM2MzYzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLThweDtcbiAgICAgIHJpZ2h0OiAtM3B4OyB9XG4gIC8qIGxpbmUgOTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMGEwYTBhOyB9XG4gICAgLyogbGluZSAxMDEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pLXByb2R1Y3RzLWxpc3QgbGkge1xuICAgICAgcGFkZGluZzogOHB4IDMwcHggOHB4IDMwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAvKiBsaW5lIDEwOSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgICAgLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IGxpIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTEyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmktcHJvZHVjdHMtbGlzdCBsaSAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMjlweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMjZweDsgfVxuICAgICAgLyogbGluZSAxMjQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmktcHJvZHVjdHMtbGlzdCBsaSAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAvKiBsaW5lIDEyNywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgICAgLmhlYWRlci1taW5pY2FydCAubWluaS1wcm9kdWN0cy1saXN0IGxpLmxhc3Qge1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLyogbGluZSAxMzMsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gICAgLyogbGluZSAxMzUsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgMTQwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgICAuaGVhZGVyLW1pbmljYXJ0IC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLyogbGluZSAxNDYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtcHJvZHVjdC1vcHRpb25zIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC8qIGxpbmUgMTUyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gIC5oZWFkZXItbWluaWNhcnQgLmluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAvKiBsaW5lIDE1OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgIC5oZWFkZXItbWluaWNhcnQgLmluZm8td3JhcHBlciB0aCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgIC8qIGxpbmUgMTYyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAuaW5mby13cmFwcGVyIHRkIHtcbiAgICAgIGNvbG9yOiAjMzM5OUNDO1xuICAgICAgY2xlYXI6IHJpZ2h0OyB9XG4gICAgLyogbGluZSAxNjgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF0eS13cmFwcGVyIHRkIHtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4OyB9XG4gICAgLyogbGluZSAxNzQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF0eSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLyogbGluZSAxODgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF1YW50aXR5LWJ1dHRvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDEwMG1zO1xuICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDBtcztcbiAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IDEwMG1zO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7IH1cbiAgICAgIC8qIGxpbmUgMTk0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgICAuaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF1YW50aXR5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC8qIGxpbmUgMTk4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgICAuaGVhZGVyLW1pbmljYXJ0IC5pbmZvLXdyYXBwZXIgLnF1YW50aXR5LWJ1dHRvbi52aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAvKiBsaW5lIDIwNCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAuaGVhZGVyLW1pbmljYXJ0IC5sYXN0LWxpbmUge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgLyogbGluZSAyMTAsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5sYXN0LWxpbmUgLnJlbW92ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLyogbGluZSAyMTcsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5sYXN0LWxpbmUgLnByaWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAvKiBsaW5lIDIyMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAuaGVhZGVyLW1pbmljYXJ0IC5jb3VudC1pdGVtcyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAvKiBsaW5lIDIzMywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAuaGVhZGVyLW1pbmljYXJ0IC5zdWJ0b3RhbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDBweCAzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAvKiBsaW5lIDI0NSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgIC5oZWFkZXItbWluaWNhcnQgLnN1YnRvdGFsIC5wcmljZSB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC8qIGxpbmUgMjUwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gIC5oZWFkZXItbWluaWNhcnQgLmluZm8taXZhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgLyogbGluZSAyNTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC8qIGxpbmUgMjY2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogMTkwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYmFja2dyb3VuZDogIzBhMGEwYTsgfVxuICAgICAgLyogbGluZSA1Miwgc2Nzcy9taXhpbi9fY3VzdG9tLnNjc3MgKi9cbiAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAvKiBsaW5lIDI3Miwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICAvKiBsaW5lIDI3OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtaW4td2lkdGg6IDE5MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgICAvKiBsaW5lIDI4Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC8qIGxpbmUgMjkwLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gIC8qIGxpbmUgMjk1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gIC5oZWFkZXItbWluaWNhcnQgI21pbmljYXJ0LWVycm9yLW1lc3NhZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogcmVkO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAzMDEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAjbWluaWNhcnQtc3VjY2Vzcy1tZXNzYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IGdyZWVuO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAzMDgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAuamNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgLmhlYWRlci1taW5pY2FydCAuamNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDMxNCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuLmhlYWRlci1taW5pY2FydC5za2lwLWFjdGl2ZSAuYmxvY2stY2FydCxcbi5ibG9jay1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NzFweCkge1xuICAvKiBsaW5lIDMyMCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSAzMjgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCBhLnNraXAtY2FydCB7XG4gICAgei1pbmRleDogMTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSAzMzQsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgIC8qIGxpbmUgMzQyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtd3JhcHBlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VERURFRDsgfVxuICAgIC8qIGxpbmUgMzQ3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAucXVhbnRpdHktYnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgLyogbGluZSAzNTEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAuaGVhZGVyLW1pbmljYXJ0IC5oZWFkZXItbWluaWNhcnQgLmJsb2NrLWNhcnQge1xuICAgICAgcGFkZGluZzogMTVweDsgfVxuICAgIC8qIGxpbmUgMzU1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTlweDsgfVxuICAgIC8qIGxpbmUgMzU5LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzNweDsgfVxuICAgICAgLyogbGluZSAzNjIsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgLyogbGluZSAzNjksIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMzc1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgICAvKiBsaW5lIDM3OSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LWNhcnQtbWluaWNhcnQuc2NzcyAqL1xuICAgICAgICAuaGVhZGVyLW1pbmljYXJ0IC5taW5pY2FydC1hY3Rpb25zIC5jaGVja291dC10eXBlcy5taW5pY2FydCBsaSAucGF5cGFsLWxvZ28gLmJtbF9idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICAgIC8qIGxpbmUgMzg0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gICAgICAgIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyAucGF5cGFsLW9yIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHggNXB4IDEwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0MHB4KSB7XG4gIC8qIGxpbmUgNDAxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNhcnQtbGluayB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSA0MTEsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3IsXG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IGxpIC5wYXlwYWwtbG9nbyAucGF5cGFsLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLyogbGluZSA0MTgsIHNjc3MvbW9kdWxlL19jaGVja291dC1jYXJ0LW1pbmljYXJ0LnNjc3MgKi9cbiAgLmhlYWRlci1taW5pY2FydCAubWluaWNhcnQtYWN0aW9ucyAuY2hlY2tvdXQtdHlwZXMubWluaWNhcnQgbGkgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgNDMxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtY2FydC1taW5pY2FydC5zY3NzICovXG4gIC5oZWFkZXItbWluaWNhcnQgLm1pbmljYXJ0LWFjdGlvbnMgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTZWFyY2ggLSBBdXRvIFN1Z2dlc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMwLCBzY3NzL21vZHVsZS9fc2VhcmNoLnNjc3MgKi9cbi5zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDIwMDsgfVxuICAvKiBsaW5lIDM4LCBzY3NzL21vZHVsZS9fc2VhcmNoLnNjc3MgKi9cbiAgLnNlYXJjaC1hdXRvY29tcGxldGUgdWwge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tcy1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgLW8tYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzk5Q0M7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC8qIGxpbmUgNDgsIHNjc3MvbW9kdWxlL19zZWFyY2guc2NzcyAqL1xuICAgIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjRGNEY0O1xuICAgICAgY29sb3I6ICMzMzk5Q0M7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLyogbGluZSA1Niwgc2Nzcy9tb2R1bGUvX3NlYXJjaC5zY3NzICovXG4gICAgICAuc2VhcmNoLWF1dG9jb21wbGV0ZSB1bCBsaTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMmU4YWI4OyB9XG4gICAgICAvKiBsaW5lIDYwLCBzY3NzL21vZHVsZS9fc2VhcmNoLnNjc3MgKi9cbiAgICAgIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzOTlDQztcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAvKiBsaW5lIDY1LCBzY3NzL21vZHVsZS9fc2VhcmNoLnNjc3MgKi9cbiAgICAgIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpIC5hbW91bnQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAvKiBsaW5lIDcwLCBzY3NzL21vZHVsZS9fc2VhcmNoLnNjc3MgKi9cbiAgICAgIC5zZWFyY2gtYXV0b2NvbXBsZXRlIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC8qIGxpbmUgNzYsIHNjc3MvbW9kdWxlL19zZWFyY2guc2NzcyAqL1xuICAuc2VhcmNoLWF1dG9jb21wbGV0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzMzOTlDQztcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IC03cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gQWR2YW5jZWRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDg3LCBzY3NzL21vZHVsZS9fc2VhcmNoLnNjc3MgKi9cbi5hZHZhbmNlZC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRURFREVEO1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gIC8qIGxpbmUgOTMsIHNjc3MvbW9kdWxlL19zZWFyY2guc2NzcyAqL1xuICAuYWR2YW5jZWQtc2VhcmNoIHNlbGVjdC5tdWx0aXNlbGVjdCBvcHRpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRURFREVEO1xuICAgIHBhZGRpbmc6IDJweCA1cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDEwMSwgc2Nzcy9tb2R1bGUvX3NlYXJjaC5zY3NzICovXG4gIC5hZHZhbmNlZC1zZWFyY2gge1xuICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY2NvdW50IC0gUmV2aWV3c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzIsIHNjc3MvbW9kdWxlL19hY2NvdW50LXJldmlld3Muc2NzcyAqL1xuLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LWltZy1ib3ggcC5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSA0MSwgc2Nzcy9tb2R1bGUvX2FjY291bnQtcmV2aWV3cy5zY3NzICovXG4ucHJvZHVjdC1yZXZpZXcgLnByb2R1Y3QtaW1nLWJveCAucmF0aW5nLWJveCB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi8qIGxpbmUgNDcsIHNjc3MvbW9kdWxlL19hY2NvdW50LXJldmlld3Muc2NzcyAqL1xuLnByb2R1Y3QtcmV2aWV3IC5wcm9kdWN0LWRldGFpbHMgaDIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQztcbiAgY29sb3I6ICMzMzk5Q0M7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiUmFsZXdheVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFZlcmRhbmEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4vKiBsaW5lIDU3LCBzY3NzL21vZHVsZS9fYWNjb3VudC1yZXZpZXdzLnNjc3MgKi9cbi5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAvKiBsaW5lIDYwLCBzY3NzL21vZHVsZS9fYWNjb3VudC1yZXZpZXdzLnNjc3MgKi9cbiAgLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIC8qIGxpbmUgNjQsIHNjc3MvbW9kdWxlL19hY2NvdW50LXJldmlld3Muc2NzcyAqL1xuICAucHJvZHVjdC1yZXZpZXcgLnJhdGluZ3MtdGFibGUgdHIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDczLCBzY3NzL21vZHVsZS9fYWNjb3VudC1yZXZpZXdzLnNjc3MgKi9cbi5wcm9kdWN0LXJldmlldyAucmF0aW5ncy1kZXNjcmlwdGlvbiBkdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIGxpbmUgODMsIHNjc3MvbW9kdWxlL19hY2NvdW50LXJldmlld3Muc2NzcyAqL1xuLnByb2R1Y3QtcmV2aWV3IC5yYXRpbmdzLWRlc2NyaXB0aW9uIGRkIHtcbiAgY29sb3I6ICM3MzczNzM7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLyogbGluZSA5Niwgc2Nzcy9tb2R1bGUvX2FjY291bnQtcmV2aWV3cy5zY3NzICovXG4gIC5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMjZweCkge1xuICAvKiBsaW5lIDEwOCwgc2Nzcy9tb2R1bGUvX2FjY291bnQtcmV2aWV3cy5zY3NzICovXG4gIC5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAvKiBsaW5lIDEyMSwgc2Nzcy9tb2R1bGUvX2FjY291bnQtcmV2aWV3cy5zY3NzICovXG4gIC5wcm9kdWN0LXJldmlldyAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgZmxvYXQ6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDTVMgUGFnZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDM3LCBzY3NzL21vZHVsZS9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC5wYWdlLXRpdGxlIGgxLFxuLmNtcy1wYWdlLXZpZXcgLnBhZ2UtdGl0bGUgaDMsXG4uY21zLXBhZ2UtdmlldyAucGFnZS1oZWFkIGgxLFxuLmNtcy1wYWdlLXZpZXcgLnBhZ2UtaGVhZCBoMyxcbi5jbXMtbm8tcm91dGUgLnBhZ2UtdGl0bGUgaDEsXG4uY21zLW5vLXJvdXRlIC5wYWdlLXRpdGxlIGgzLFxuLmNtcy1uby1yb3V0ZSAucGFnZS1oZWFkIGgxLFxuLmNtcy1uby1yb3V0ZSAucGFnZS1oZWFkIGgzIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIGxpbmUgNDUsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnN0ZCBpbWcsXG4uY21zLW5vLXJvdXRlIC5zdGQgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgNDksIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnN0ZCBwLFxuLmNtcy1uby1yb3V0ZSAuc3RkIHAge1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG5cbi8qIGxpbmUgNTYsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnN0ZCBoMSxcbi5jbXMtbm8tcm91dGUgLnN0ZCBoMSB7XG4gIGNvbG9yOiAjMzM5OUNDOyB9XG5cbi8qIGxpbmUgNjAsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnN0ZCBoMixcbi5jbXMtbm8tcm91dGUgLnN0ZCBoMiB7XG4gIGNvbG9yOiAjMzM5OUNDOyB9XG5cbi8qIGxpbmUgNjQsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnN0ZCBsaSxcbi5jbXMtbm8tcm91dGUgLnN0ZCBsaSB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLyogbGluZSA3Mywgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4uY21zLXBhZ2UtdmlldyAuY29sLWxlZnQ6YWZ0ZXIsXG4uY21zLW5vLXJvdXRlIC5jb2wtbGVmdDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogbGluZSA4Miwgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4uY21zLW5vLXJvdXRlIC5zdGQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA5MSwgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4uY21zLXBhZ2UtdmlldyAuc3RkIC5tZXNzYWdlcyxcbi5jbXMtaG9tZSAuc3RkIC5tZXNzYWdlcyxcbi5jbXMtbm8tcm91dGUgLnN0ZCAubWVzc2FnZXMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC8qIGxpbmUgOTQsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAuc3RkIC5tZXNzYWdlcyB1bCxcbiAgLmNtcy1ob21lIC5zdGQgLm1lc3NhZ2VzIHVsLFxuICAuY21zLW5vLXJvdXRlIC5zdGQgLm1lc3NhZ2VzIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgOTgsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAuc3RkIC5tZXNzYWdlcyBsaSxcbiAgLmNtcy1ob21lIC5zdGQgLm1lc3NhZ2VzIGxpLFxuICAuY21zLW5vLXJvdXRlIC5zdGQgLm1lc3NhZ2VzIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDEyMywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuI2FjY29yZGlvbiAudG9nZ2xlLXRhYnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMTI4LCBzY3NzL21peGluL190b2dnbGUtY29udGVudC5zY3NzICovXG4jYWNjb3JkaW9uID4gZGwgPiBkdCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICM2MzYzNjM7XG4gIGZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtby11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNDQ0NDQ0M7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLyogbGluZSAxMTAsIHNjc3MvbWl4aW4vX3RvZ2dsZS1jb250ZW50LnNjc3MgKi9cbiAgI2FjY29yZGlvbiA+IGRsID4gZHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzMzOTlDQztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAvKiBsaW5lIDExNywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuICAjYWNjb3JkaW9uID4gZGwgPiBkdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4vKiBsaW5lIDEzMywgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuI2FjY29yZGlvbiA+IGRsID4gZGQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci13aWR0aDogMCAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI0NDQ0NDQzsgfVxuXG4vKiBsaW5lIDE0MCwgc2Nzcy9taXhpbi9fdG9nZ2xlLWNvbnRlbnQuc2NzcyAqL1xuI2FjY29yZGlvbiA+IGRsID4gZGQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDsgfVxuXG4vKiBsaW5lIDExMywgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4jYWNjb3JkaW9uIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC8qIGxpbmUgMTE3LCBzY3NzL21vZHVsZS9fY21zLnNjc3MgKi9cbiAgI2FjY29yZGlvbiBsaSAucGx1c2ltYWdlIGgyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLyogbGluZSAxMjcsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuLnBhZ2Utc2l0ZW1hcCAubGlua3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAvKiBsaW5lIDEzMiwgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4gIC5wYWdlLXNpdGVtYXAgLmxpbmtzIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBsaW5lIDEzNSwgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4ucGFnZS1zaXRlbWFwIC5zaXRlbWFwIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC8qIGxpbmUgMTQwLCBzY3NzL21vZHVsZS9fY21zLnNjc3MgKi9cbiAgLnBhZ2Utc2l0ZW1hcCAuc2l0ZW1hcCBsaSB7XG4gICAgbWFyZ2luOiAzcHggMDsgfVxuXG4vKiBsaW5lIDE1MCwgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4uY29udGFjdHMtaW5kZXgtaW5kZXggaDEge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLyogbGluZSAxNTUsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuI2NvbnRhY3RGb3JtIHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gIC8qIGxpbmUgMTU4LCBzY3NzL21vZHVsZS9fY21zLnNjc3MgKi9cbiAgI2NvbnRhY3RGb3JtIGgyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMTYyLCBzY3NzL21vZHVsZS9fY21zLnNjc3MgKi9cbiAgI2NvbnRhY3RGb3JtOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDE2Niwgc2Nzcy9tb2R1bGUvX2Ntcy5zY3NzICovXG4gICNjb250YWN0Rm9ybSAuZmllbGRzZXQgLmxlZ2VuZCArIC5yZXF1aXJlZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAxNzMsIHNjc3MvbW9kdWxlL19jbXMuc2NzcyAqL1xuICAjY29udGFjdEZvcm0ge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaWNpbmcgQ29uZGl0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzIsIHNjc3MvbW9kdWxlL19wcmljaW5nX2NvbmRpdGlvbnMuc2NzcyAqL1xuLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIC5sYWJlbCB7XG4gIGNvbG9yOiAjQ0Y1MDUwO1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiBsaW5lIDQxLCBzY3NzL21vZHVsZS9fcHJpY2luZ19jb25kaXRpb25zLnNjc3MgKi9cbi5tYXAtaW5mbyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogbGluZSA0Niwgc2Nzcy9tb2R1bGUvX3ByaWNpbmdfY29uZGl0aW9ucy5zY3NzICovXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcgLm1hcC1pbmZvIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAvKiBsaW5lIDQ4LCBzY3NzL21vZHVsZS9fcHJpY2luZ19jb25kaXRpb25zLnNjc3MgKi9cbiAgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5tYXAtaW5mbyA+IHNwYW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLyogbGluZSA1Miwgc2Nzcy9tb2R1bGUvX3ByaWNpbmdfY29uZGl0aW9ucy5zY3NzICovXG4gIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubWFwLWluZm8gLnByaWNlLWJveC5tYXAtaW5mbyA+IGEge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb29raWVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMSwgc2Nzcy9tb2R1bGUvX2Nvb2tpZXMuc2NzcyAqL1xuLm5vdGljZS1jb29raWUgLm5vdGljZS1pbm5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgMzQsIHNjc3MvbW9kdWxlL19jb29raWVzLnNjc3MgKi9cbiAgLm5vdGljZS1jb29raWUgLm5vdGljZS1pbm5lcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLyogbGluZSAzOSwgc2Nzcy9tb2R1bGUvX2Nvb2tpZXMuc2NzcyAqL1xuLm5vdGljZS1jb29raWUgLm5vdGljZS10ZXh0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1heC13aWR0aDogOTAlO1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC8qIGxpbmUgNDUsIHNjc3MvbW9kdWxlL19jb29raWVzLnNjc3MgKi9cbiAgLm5vdGljZS1jb29raWUgLm5vdGljZS10ZXh0IHAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNC41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4vKiBsaW5lIDUxLCBzY3NzL21vZHVsZS9fY29va2llcy5zY3NzICovXG4ubm90aWNlLWNvb2tpZSAuYWN0aW9ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1ib3R0b206IDE0LjVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgNjIsIHNjc3MvbW9kdWxlL19jb29raWVzLnNjc3MgKi9cbiAgLm5vdGljZS1jb29raWUgLm5vdGljZS10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDg2JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA3Miwgc2Nzcy9tb2R1bGUvX2Nvb2tpZXMuc2NzcyAqL1xuICAubm90aWNlLWNvb2tpZSB7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLyogbGluZSA3NSwgc2Nzcy9tb2R1bGUvX2Nvb2tpZXMuc2NzcyAqL1xuICAgIC5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDgyJTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MjBweCkge1xuICAvKiBsaW5lIDg2LCBzY3NzL21vZHVsZS9fY29va2llcy5zY3NzICovXG4gIC5ub3RpY2UtY29va2llIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAvKiBsaW5lIDg5LCBzY3NzL21vZHVsZS9fY29va2llcy5zY3NzICovXG4gICAgLm5vdGljZS1jb29raWUgLm5vdGljZS1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEwcHg7IH1cbiAgICAgIC8qIGxpbmUgOTIsIHNjc3MvbW9kdWxlL19jb29raWVzLnNjc3MgKi9cbiAgICAgIC5ub3RpY2UtY29va2llIC5ub3RpY2UtaW5uZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLyogbGluZSA5Nywgc2Nzcy9tb2R1bGUvX2Nvb2tpZXMuc2NzcyAqL1xuICAgIC5ub3RpY2UtY29va2llIC5ub3RpY2UtdGV4dCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLyogbGluZSAxMDMsIHNjc3MvbW9kdWxlL19jb29raWVzLnNjc3MgKi9cbiAgICAubm90aWNlLWNvb2tpZSAuYWN0aW9ucyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogVGFnc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvbW9kdWxlL190YWdzLnNjc3MgKi9cbiNhZGRUYWdGb3JtIGJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiBsaW5lIDM0LCBzY3NzL21vZHVsZS9fdGFncy5zY3NzICovXG4jYWRkVGFnRm9ybSAuZm9ybS1hZGQge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi8qIGxpbmUgMzcsIHNjc3MvbW9kdWxlL190YWdzLnNjc3MgKi9cbi5wcm9kdWN0LXRhZ3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogNXB4IDElIDEwcHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLyogbGluZSA0NSwgc2Nzcy9tb2R1bGUvX3RhZ3Muc2NzcyAqL1xuLnByb2R1Y3QtdGFncyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cblxuLyogbGluZSA0OSwgc2Nzcy9tb2R1bGUvX3RhZ3Muc2NzcyAqL1xuLnByb2R1Y3QtdGFncyBsaS5sYXN0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7IH1cblxuLyogbGluZSA1Miwgc2Nzcy9tb2R1bGUvX3RhZ3Muc2NzcyAqL1xuLnRhZ3MtbGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiBsaW5lIDU3LCBzY3NzL21vZHVsZS9fdGFncy5zY3NzICovXG4udGFncy1saXN0ID4gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIGxpbmUgNjEsIHNjc3MvbW9kdWxlL190YWdzLnNjc3MgKi9cbi5ibG9jay10YWdzIC5hY3Rpb25zID4gYSB7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4vKiBsaW5lIDY1LCBzY3NzL21vZHVsZS9fdGFncy5zY3NzICovXG4ubXktdGFnLWVkaXQgLmJ1dHRvbi5idG4tcmVtb3ZlIHtcbiAgcGFkZGluZzogMDsgfVxuICAvKiBsaW5lIDY4LCBzY3NzL21vZHVsZS9fdGFncy5zY3NzICovXG4gIC5teS10YWctZWRpdCAuYnV0dG9uLmJ0bi1yZW1vdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgNzQsIHNjc3MvbW9kdWxlL190YWdzLnNjc3MgKi9cbiAgLnRhZ3MtbGlzdCA+IGxpLFxuICAudGFncy1saXN0IHtcbiAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhcHRjaGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDI5LCBzY3NzL21vZHVsZS9fY2FwdGNoYS5zY3NzICovXG4uY2FwdGNoYS1ub3RlIHtcbiAgY2xlYXI6IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiA1cHg7IH1cblxuLyogbGluZSAzMywgc2Nzcy9tb2R1bGUvX2NhcHRjaGEuc2NzcyAqL1xuLmNhcHRjaGEtaW1hZ2Uge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI1OHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIGxpbmUgNDEsIHNjc3MvbW9kdWxlL19jYXB0Y2hhLnNjc3MgKi9cbi5jYXB0Y2hhLWltYWdlIC5jYXB0Y2hhLWltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiNmI2YjY7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgNDYsIHNjc3MvbW9kdWxlL19jYXB0Y2hhLnNjc3MgKi9cbi5yZWdpc3RlcmVkLXVzZXJzIC5jYXB0Y2hhLWltYWdlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIGxpbmUgNDcsIHNjc3MvbW9kdWxlL19jYXB0Y2hhLnNjc3MgKi9cbi5jYXB0Y2hhLXJlbG9hZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDsgfVxuXG4vKiBsaW5lIDUzLCBzY3NzL21vZHVsZS9fY2FwdGNoYS5zY3NzICovXG4uY2FwdGNoYS1yZWxvYWQucmVmcmVzaGluZyB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAtbW96LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyOyB9XG5cbi8qIGxpbmUgNTgsIHNjc3MvbW9kdWxlL19jYXB0Y2hhLnNjc3MgKi9cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSAuc2NhZmZvbGQtZm9ybSAuY2FwdGNoYS1pbnB1dC1jb250YWluZXIgbGFiZWw6Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDU5LCBzY3NzL21vZHVsZS9fY2FwdGNoYS5zY3NzICovXG4uY2FwdGNoYS1yZWxvYWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA0cHg7XG4gIHRvcDogNHB4OyB9XG5cbi8qIGxpbmUgNjQsIHNjc3MvbW9kdWxlL19jYXB0Y2hhLnNjc3MgKi9cbi5jYXB0Y2hhLWltZyB7XG4gIGJvcmRlcjogMjBweCBzb2xpZCAjYmJiOyB9XG5cbi8qIGxpbmUgNjUsIHNjc3MvbW9kdWxlL19jYXB0Y2hhLnNjc3MgKi9cbi5jYXB0Y2hhLWlucHV0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLyogbGluZSA2Niwgc2Nzcy9tb2R1bGUvX2NhcHRjaGEuc2NzcyAqL1xuLmNvbnRyb2wubmV3c2xldHRlci1ib3gsIC5jYXB0Y2hhLWlucHV0LWNvbnRhaW5lciwgLmNhcHRjaGEtaW1nLWNvbnRhaW5lciB7XG4gIGZsb2F0OiBub25lO1xuICBjbGVhcjogYm90aDsgfVxuICAvKiBsaW5lIDcwLCBzY3NzL21vZHVsZS9fY2FwdGNoYS5zY3NzICovXG4gIC5jb250cm9sLm5ld3NsZXR0ZXItYm94OmFmdGVyLCAuY2FwdGNoYS1pbnB1dC1jb250YWluZXI6YWZ0ZXIsIC5jYXB0Y2hhLWltZy1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IEJpbGxpbmcgRml4IHRvIHBsYWNlIHRoZSBDYXB0Y2hhIHByb3Blcmx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSA3OCwgc2Nzcy9tb2R1bGUvX2NhcHRjaGEuc2NzcyAqL1xuI2NvLWJpbGxpbmctZm9ybSB1bC5mb3JtLWxpc3QgPiAuY29udHJvbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFjY291bnQgLSBPcmRlcnMsIEludm9pY2VzLCBDcmVkaXQgTWVtb3MuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDM0LCBzY3NzL21vZHVsZS9fYWNjb3VudC1vcmRlcnMuc2NzcyAqL1xuICAuc2FsZXMtb3JkZXItaW52b2ljZSAuc3ViLXRpdGxlLFxuICAuc2FsZXMtb3JkZXItY3JlZGl0bWVtbyAuc3ViLXRpdGxlLFxuICAuc2FsZXMtb3JkZXItc2hpcG1lbnQgLnN1Yi10aXRsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDQwLCBzY3NzL21vZHVsZS9fYWNjb3VudC1vcmRlcnMuc2NzcyAqL1xuICAuc2FsZXMtb3JkZXItaW52b2ljZSAub3JkZXItbGlua3MsXG4gIC5zYWxlcy1vcmRlci1jcmVkaXRtZW1vIC5vcmRlci1saW5rcyxcbiAgLnNhbGVzLW9yZGVyLXNoaXBtZW50IC5vcmRlci1saW5rcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmVjdXJyaW5nIFByb2ZpbGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMiwgc2Nzcy9tb2R1bGUvX3JlY3VycmluZy1wcm9maWxlcy5zY3NzICovXG4jcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IHRoIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAvKiBsaW5lIDM1LCBzY3NzL21vZHVsZS9fcmVjdXJyaW5nLXByb2ZpbGVzLnNjc3MgKi9cbiAgI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB0aCBzcGFuIHtcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMzAsIHNjc3MvbW9kdWxlL19yZWN1cnJpbmctcHJvZmlsZXMuc2NzcyAqL1xuICAjcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAvKiBsaW5lIDQzLCBzY3NzL21vZHVsZS9fcmVjdXJyaW5nLXByb2ZpbGVzLnNjc3MgKi9cbiAgICAjcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IGEge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gICAgLyogbGluZSA0Nywgc2Nzcy9tb2R1bGUvX3JlY3VycmluZy1wcm9maWxlcy5zY3NzICovXG4gICAgI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB0aCxcbiAgICAjcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3IHRkIHtcbiAgICAgIHBhZGRpbmc6IDJweDsgfSB9XG5cbi8qIGxpbmUgNTUsIHNjc3MvbW9kdWxlL19yZWN1cnJpbmctcHJvZmlsZXMuc2NzcyAqL1xuLnJlY3VycmluZy1wcm9maWxlcy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC8qIGxpbmUgNTgsIHNjc3MvbW9kdWxlL19yZWN1cnJpbmctcHJvZmlsZXMuc2NzcyAqL1xuICAucmVjdXJyaW5nLXByb2ZpbGVzLXRpdGxlIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cblxuLyogbGluZSA2Mywgc2Nzcy9tb2R1bGUvX3JlY3VycmluZy1wcm9maWxlcy5zY3NzICovXG5ib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMucmVjdXJyaW5nLXByb2ZpbGVzLXRpdGxlLWJ1dHRvbnMge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAvKiBsaW5lIDYzLCBzY3NzL21vZHVsZS9fcmVjdXJyaW5nLXByb2ZpbGVzLnNjc3MgKi9cbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQgLm15LWFjY291bnQgLnRpdGxlLWJ1dHRvbnMucmVjdXJyaW5nLXByb2ZpbGVzLXRpdGxlLWJ1dHRvbnMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAvKiBsaW5lIDczLCBzY3NzL21vZHVsZS9fcmVjdXJyaW5nLXByb2ZpbGVzLnNjc3MgKi9cbiAgYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIC5idXR0b24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLyogbGluZSA3OSwgc2Nzcy9tb2R1bGUvX3JlY3VycmluZy1wcm9maWxlcy5zY3NzICovXG4ucmVjdXJyaW5nLXByb2ZpbGVzLW1lc3NhZ2VzOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiBsaW5lIDg0LCBzY3NzL21vZHVsZS9fcmVjdXJyaW5nLXByb2ZpbGVzLnNjc3MgKi9cbiNyZWN1cnJpbmdfc3RhcnRfZGF0ZV90cmlnIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEJpbGxpbmcgQWdyZWVtZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzEsIHNjc3MvbW9kdWxlL19iaWxsaW5nLWFncmVlbWVudHMuc2NzcyAqL1xuLmJpbGxpbmctYWdyZWVtZW50cyAuaW5mby1ib3gge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC8qIGxpbmUgMzQsIHNjc3MvbW9kdWxlL19iaWxsaW5nLWFncmVlbWVudHMuc2NzcyAqL1xuICAuYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogbGluZSAzOCwgc2Nzcy9tb2R1bGUvX2JpbGxpbmctYWdyZWVtZW50cy5zY3NzICovXG4gIC5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IC5mb3JtLWxpc3Qge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSA0Mywgc2Nzcy9tb2R1bGUvX2JpbGxpbmctYWdyZWVtZW50cy5zY3NzICovXG4gIC5iaWxsaW5nLWFncmVlbWVudHMgLmluZm8tYm94IC5ib3gtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gIC8qIGxpbmUgNDgsIHNjc3MvbW9kdWxlL19iaWxsaW5nLWFncmVlbWVudHMuc2NzcyAqL1xuICAuYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveCAuYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogN3B4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgLyogbGluZSA0OCwgc2Nzcy9tb2R1bGUvX2JpbGxpbmctYWdyZWVtZW50cy5zY3NzICovXG4gICAgICAuYmlsbGluZy1hZ3JlZW1lbnRzIC5pbmZvLWJveCAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cblxuLyogbGluZSA1OSwgc2Nzcy9tb2R1bGUvX2JpbGxpbmctYWdyZWVtZW50cy5zY3NzICovXG4uYmlsbGluZy1hZ3JlZW1lbnRzICNwYXltZW50X21ldGhvZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDdweDsgfVxuXG4vKiBsaW5lIDY3LCBzY3NzL21vZHVsZS9fYmlsbGluZy1hZ3JlZW1lbnRzLnNjc3MgKi9cbi5iaWxsaW5nLWFncmVlbWVudC12aWV3LWhlYWRlci13cmFwcGVyIC5oZWFkaW5nIHtcbiAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgIC8qIGxpbmUgNjcsIHNjc3MvbW9kdWxlL19iaWxsaW5nLWFncmVlbWVudHMuc2NzcyAqL1xuICAgIC5iaWxsaW5nLWFncmVlbWVudC12aWV3LWhlYWRlci13cmFwcGVyIC5oZWFkaW5nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi8qIGxpbmUgNzcsIHNjc3MvbW9kdWxlL19iaWxsaW5nLWFncmVlbWVudHMuc2NzcyAqL1xuLmJpbGxpbmctYWdyZWVtZW50LWRldGFpbHMgdGQsIC5iaWxsaW5nLWFncmVlbWVudC1kZXRhaWxzIHRoIHtcbiAgcGFkZGluZzogMy41cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDg1LCBzY3NzL21vZHVsZS9fYmlsbGluZy1hZ3JlZW1lbnRzLnNjc3MgKi9cbiAgLmJpbGxpbmctYWdyZWVtZW50cyAuZGF0YS10YWJsZSAuY3JlYXRlZC1hdCxcbiAgLmJpbGxpbmctYWdyZWVtZW50cyAuZGF0YS10YWJsZSAudXBkYXRlZC1hdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFBvcHVsYXIgU2VhcmNoIFRlcm1zIENsb3VkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAzMCwgc2Nzcy9tb2R1bGUvX3BvcHVsYXItdGVybXMuc2NzcyAqL1xuLmNhdGFsb2dzZWFyY2gtdGVybS1wb3B1bGFyIC50YWdzLWxpc3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAzNCwgc2Nzcy9tb2R1bGUvX3BvcHVsYXItdGVybXMuc2NzcyAqL1xuLmNhdGFsb2dzZWFyY2gtdGVybS1wb3B1bGFyIC50YWdzLWxpc3QgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBXaWRnZXRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQWRkIHRvIGNhcnQgYnkgU0tVXG4gKi9cbi8qIGxpbmUgMzcsIHNjc3MvbW9kdWxlL193aWRnZXQuc2NzcyAqL1xuLnNpZGViYXIgLndpZGdldC1hZGRieXNrdSAuc2t1LXRhYmxlIC5pbnB1dC10ZXh0Om5vdCgucXR5KSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgICAvKiBsaW5lIDM3LCBzY3NzL21vZHVsZS9fd2lkZ2V0LnNjc3MgKi9cbiAgICAuc2lkZWJhciAud2lkZ2V0LWFkZGJ5c2t1IC5za3UtdGFibGUgLmlucHV0LXRleHQ6bm90KC5xdHkpIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7IH0gfVxuXG4vKiBsaW5lIDQ5LCBzY3NzL21vZHVsZS9fd2lkZ2V0LnNjc3MgKi9cbi53aWRnZXQge1xuICBjbGVhcjogYm90aDsgfVxuXG4vKiBsaW5lIDUzLCBzY3NzL21vZHVsZS9fd2lkZ2V0LnNjc3MgKi9cbi53aWRnZXQgLnBhZ2VyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSB7XG4gIC8qIGxpbmUgNjQsIHNjc3MvbW9kdWxlL193aWRnZXQuc2NzcyAqL1xuICAuY29sMi1sZWZ0LWxheW91dCAuY29sLW1haW4gLndpZGdldCxcbiAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0LFxuICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQge1xuICAgIC8qIENvbmZpZzogQ29sdW1ucyArIGZsZXhpYmxlIGd1dHRlciAqL1xuICAgIC8qIFVuZG8gdGhyZWUtY29sdW1uIGNvbmZpZyAqL1xuICAgIC8qIFNldCBjb2x1bW4gY29uZmlnICovXG4gICAgLyogQ29uZmlnOiBDb2x1bW5zICsgZmxleGlibGUgZ3V0dGVyICovXG4gICAgLyogVW5kbyB0aHJlZS1jb2x1bW4gY29uZmlnICovXG4gICAgLyogU2V0IGNvbHVtbiBjb25maWcgKi8gfVxuICAgIC8qIGxpbmUgNTQ2LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY29sMi1sZWZ0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpLFxuICAgIC5jb2wzLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLyogbGluZSA1NDksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDNuKzEpLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCgzbisxKSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDU1Miwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChldmVuKSxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAgIC5jb2wzLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChldmVuKSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaSxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gICAgLyogbGluZSA1NjEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGksXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGksXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGkge1xuICAgICAgd2lkdGg6IDIzLjMzMzMzJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU2NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoNG4rMSksXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDRuKzEpLFxuICAgIC5jb2wzLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCg0bisxKSB7XG4gICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC8qIGxpbmUgNTY4LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY29sMi1sZWZ0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCg0biksXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDRuKSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoNG4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC8qIGxpbmUgNTQ2LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY29sMi1sZWZ0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpLFxuICAgIC5jb2wzLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLyogbGluZSA1NDksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDNuKzEpLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCgzbisxKSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDU1Miwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChldmVuKSxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24pLFxuICAgIC5jb2wzLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChldmVuKSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU1OCwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaSxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gICAgLyogbGluZSA1NjEsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGksXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGksXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGkge1xuICAgICAgd2lkdGg6IDE4LjIyMjIyJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU2NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDItbGVmdC1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoNW4rMSksXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDVuKzEpLFxuICAgIC5jb2wzLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCg1bisxKSB7XG4gICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC8qIGxpbmUgNTY4LCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY29sMi1sZWZ0LWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCg1biksXG4gICAgLmNvbDItcmlnaHQtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDVuKSxcbiAgICAuY29sMy1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoNW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA3Mywgc2Nzcy9tb2R1bGUvX3dpZGdldC5zY3NzICovXG4gIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCB7XG4gICAgLyogQ29uZmlnOiBDb2x1bW5zICsgZmxleGlibGUgZ3V0dGVyICovXG4gICAgLyogVW5kbyB0aHJlZS1jb2x1bW4gY29uZmlnICovXG4gICAgLyogU2V0IGNvbHVtbiBjb25maWcgKi9cbiAgICAvKiBDb25maWc6IENvbHVtbnMgKyBmbGV4aWJsZSBndXR0ZXIgKi9cbiAgICAvKiBVbmRvIHRocmVlLWNvbHVtbiBjb25maWcgKi9cbiAgICAvKiBTZXQgY29sdW1uIGNvbmZpZyAqLyB9XG4gICAgLyogbGluZSA1NDYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLyogbGluZSA1NDksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTUyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY29sMS1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC00LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gICAgLyogbGluZSA1NTgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU2MSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGkge1xuICAgICAgd2lkdGg6IDIzLjMzMzMzJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU2NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNC1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgLyogbGluZSA1NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTQtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCg0bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLyogbGluZSA1NDYsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLyogbGluZSA1NDksIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC8qIGxpbmUgNTUyLCBzY3NzL21vZHVsZS9fcHJvZHVjdC1saXN0LnNjc3MgKi9cbiAgICAuY29sMS1sYXlvdXQgLmNvbC1tYWluIC53aWRnZXQgLnByb2R1Y3RzLWdyaWQtLW1heC01LWNvbC13aWRnZXQgPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMjIyMjIlOyB9XG4gICAgLyogbGluZSA1NTgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU2MSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGkge1xuICAgICAgd2lkdGg6IDE4LjIyMjIyJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yMjIyMiU7IH1cbiAgICAvKiBsaW5lIDU2NSwgc2Nzcy9tb2R1bGUvX3Byb2R1Y3QtbGlzdC5zY3NzICovXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiAud2lkZ2V0IC5wcm9kdWN0cy1ncmlkLS1tYXgtNS1jb2wtd2lkZ2V0ID4gbGk6bnRoLWNoaWxkKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgLyogbGluZSA1NjgsIHNjc3MvbW9kdWxlL19wcm9kdWN0LWxpc3Quc2NzcyAqL1xuICAgIC5jb2wxLWxheW91dCAuY29sLW1haW4gLndpZGdldCAucHJvZHVjdHMtZ3JpZC0tbWF4LTUtY29sLXdpZGdldCA+IGxpOm50aC1jaGlsZCg1bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBNdWx0aXBsZSBBZGRyZXNzZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBsaW5lIDMxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAvKiBsaW5lIDM1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNoZWNrb3V0LXByb2dyZXNzID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAxJSA2cHg7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICAvKiBsaW5lIDQ2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gICAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3MgPiBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDsgfVxuICAgIC8qIGxpbmUgNDksIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyA+IGxpLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7IH1cblxuLyogbGluZSA1NCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAucGFnZS10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAvKiBsaW5lIDU4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLnBhZ2UtdGl0bGUgaDEge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9XG4gIC8qIGxpbmUgNjQsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAucGFnZS10aXRsZSAuYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogbGluZSA2OCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAubXVsdGlwbGUtY2hlY2tvdXQgPiBoMiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDE3cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLyogbGluZSA3Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAubWVzc2FnZXMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA3Nywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY29sLTIuY29sLXdpZGUge1xuICB3aWR0aDogNjYlOyB9XG5cbi8qIGxpbmUgODAsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0xLmNvbC1uYXJyb3cge1xuICB3aWR0aDogMzAlOyB9XG5cbi8qIGxpbmUgODMsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmFjdGlvbnMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIGxpbmUgODcsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbmJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmdyYW5kLXRvdGFsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogbGluZSA5Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAjY2hlY2tvdXQtcmV2aWV3LXN1Ym1pdCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKiBsaW5lIDk3LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG5ib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdICNyZXZpZXctYnV0dG9ucy1jb250YWluZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi8qIGxpbmUgMTA0LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1hZGRyZXNzZXMgLmJ0bi1yZW1vdmUyIHtcbiAgdGV4dC1pbmRlbnQ6IC01NTU1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4OyB9XG5cbi8qIGxpbmUgMTEzLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuZ2lmdC1tZXNzYWdlcyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyogbGluZSAxMTYsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0ge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC8qIGxpbmUgMTE4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gaDQge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC8qIGxpbmUgMTIyLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLmZvcm0tbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC8qIGxpbmUgMTI2LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5naWZ0LW1lc3NhZ2VzLWZvcm0gLml0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLyogbGluZSAxMzcsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMSAuYm94LXRpdGxlIGgyLCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTEgLmJveC10aXRsZSBoMywgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0xIC5ib3gtdGl0bGUgaDQsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMiAuYm94LXRpdGxlIGgyLCAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyAuY29sLTIgLmJveC10aXRsZSBoMywgLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0yIC5ib3gtdGl0bGUgaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMSAuYm94LXRpdGxlIGgyLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTEgLmJveC10aXRsZSBoMyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0xIC5ib3gtdGl0bGUgaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMiAuYm94LXRpdGxlIGgyLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTIgLmJveC10aXRsZSBoMyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0yIC5ib3gtdGl0bGUgaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTEgLmJveC10aXRsZSBoMixcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMSAuYm94LXRpdGxlIGgzLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0xIC5ib3gtdGl0bGUgaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTIgLmJveC10aXRsZSBoMixcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMiAuYm94LXRpdGxlIGgzLFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0yIC5ib3gtdGl0bGUgaDQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKiBsaW5lIDE0Niwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcgLmNvbC0xID4gaDQsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMiA+IGg0LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuY29sLTEgPiBoNCxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcgLmNvbC0yID4gaDQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTEgPiBoNCxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLW92ZXJ2aWV3IC5jb2wtMiA+IGg0IHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLyogbGluZSAxNTQsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMSAuYm94LWNvbnRlbnQsIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLXNoaXBwaW5nIC5jb2wtMiAuYm94LWNvbnRlbnQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMSAuYm94LWNvbnRlbnQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1iaWxsaW5nIC5jb2wtMiAuYm94LWNvbnRlbnQsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyAuY29sLTEgLmJveC1jb250ZW50LFxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctb3ZlcnZpZXcgLmNvbC0yIC5ib3gtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKiBsaW5lIDE2Mywgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctYmlsbGluZyAuc3AtbWV0aG9kcyBkdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDE2OSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuI211bHRpc2hpcC1hZGRyZXNzZXMtdGFibGUgPiB0Ym9keSA+IHRyID4gdGQuYS1jZW50ZXIubGFzdCA+IGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi8qIGxpbmUgMTczLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4jcmV2aWV3LW9yZGVyLWZvcm0gPiBkaXY6bnRoLWNoaWxkKDMpID4gZGl2LmRpdmlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDE4MCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5jaGVja291dC1wcm9ncmVzcyBzcGFuIHtcbiAgICB3b3JkLXNwYWNpbmc6IDMwMHB4OyB9XG4gIC8qIGxpbmUgMTg1LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gICNyZXZpZXctb3JkZXItZm9ybSAuY29sLTEsXG4gICNyZXZpZXctb3JkZXItZm9ybSAuY29sLTIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSAxOTgsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgd2lkdGg6IDEycHg7IH1cbiAgLyogbGluZSAyMDIsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3MgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7IH1cbiAgLyogbGluZSAyMDksIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuY2hlY2tvdXQtcHJvZ3Jlc3Mgc3BhbiB7XG4gICAgd29yZC1zcGFjaW5nOiAxcHg7XG4gICAgd2lkdGg6IDEycHg7IH1cbiAgLyogbGluZSAyMTQsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAuYm94LXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDIxOCwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5wYWdlLXRpdGxlIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLyogbGluZSAyMjMsIHNjc3MvbW9kdWxlL19jaGVja291dC1tdWx0aS1hZGRyZXNzLnNjc3MgKi9cbiAgYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSAubGluZWFyaXplLXRhYmxlIHRmb290IHRkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAvKiBsaW5lIDIyNiwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIC5saW5lYXJpemUtdGFibGUgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDIwMHB4OyB9XG4gIC8qIGxpbmUgMjMxLCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0xLmNvbC1uYXJyb3csIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmNvbC0yLmNvbC13aWRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDIzOSwgc2Nzcy9tb2R1bGUvX2NoZWNrb3V0LW11bHRpLWFkZHJlc3Muc2NzcyAqL1xuICAuY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1hZGRyZXNzZXMgLmxpbmVhcml6ZS10YWJsZSB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC8qIGxpbmUgMjQ4LCBzY3NzL21vZHVsZS9fY2hlY2tvdXQtbXVsdGktYWRkcmVzcy5zY3NzICovXG4gIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0gLmJ1dHRvbnMtc2V0IC5iYWNrLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLyogbGluZSAyLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4ucmV0dXJuLW9yZGVyLWxpc3QgLnBhZ2UtdGl0bGUgaDEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogbGluZSA3LCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4ucmV0dXJuLW9yZGVyLWxpc3QgLmRhdGEtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBsaW5lIDEwLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4ucmV0dXJuLW9yZGVyLWxpc3QgLmRhdGEtdGFibGUgLnByaWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjsgfVxuXG4vKiBsaW5lIDEzLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4ucmV0dXJuLW9yZGVyLWxpc3QgLmRhdGEtdGFibGUgLm5vYnIge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG5cbi8qIGxpbmUgMTcsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbi5yZXR1cm4tb3JkZXItbGlzdCAuZGF0YS10YWJsZSAudGFibGUtZm9vdGVyIHNwYW4ge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG5cbi8qIGxpbmUgMjIsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbi5yZXR1cm4tb3JkZXItbGlzdCAuYnRuLXByaW1hcnkge1xuICBtaW4td2lkdGg6IHVuc2V0OyB9XG5cbi8qIGxpbmUgMjYsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbi5yZXR1cm4tb3JkZXItdmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLyogbGluZSAzNCwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAucmV0dXJuLW9yZGVyLXZpZXcgLnBhZ2UtZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLyogbGluZSAzOCwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuI3JldHVybkZvcm0ge1xuICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDQwLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICNyZXR1cm5Gb3JtIGxhYmVsW2Zvcj1yZWFzb25dIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAvKiBsaW5lIDQzLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICNyZXR1cm5Gb3JtICNyZWFzb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC8qIGxpbmUgNDcsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgI3JldHVybkZvcm0gLmZvcm0tbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC8qIGxpbmUgNTEsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgI3JldHVybkZvcm0gLnJldHVybi1pbmZvIHtcbiAgICBtYXJnaW46IDQwcHggYXV0byA1MHB4O1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDsgfVxuICAvKiBsaW5lIDU2LCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICNyZXR1cm5Gb3JtIC5vcmRlci1udW1iZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAvKiBsaW5lIDYwLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICNyZXR1cm5Gb3JtIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7IH1cbiAgICAvKiBsaW5lIDY2LCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICAgI3JldHVybkZvcm0gLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnByb2R1Y3QtY2hlY2sge1xuICAgICAgd2lkdGg6IDUlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgNzIsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgICAjcmV0dXJuRm9ybSAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAucHJvZHVjdC1pbWFnZSB7XG4gICAgICB3aWR0aDogMTUlO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLyogbGluZSA3Niwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAgICNyZXR1cm5Gb3JtIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5wcm9kdWN0LWluZm8ge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIC8qIGxpbmUgODMsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgICAjcmV0dXJuRm9ybSAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAucHJvZHVjdC1vcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgLyogbGluZSA4Niwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAgICNyZXR1cm5Gb3JtIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5wcm9kdWN0LWRpc2NsYWltZXIge1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAvKiBsaW5lIDkwLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICNyZXR1cm5Gb3JtIGJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgOTgsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgI3JldHVybkZvcm0gLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLyogbGluZSAxMDEsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgI3JldHVybkZvcm0gLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnByb2R1Y3QtaW5mbyB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAvKiBsaW5lIDEwNCwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAjcmV0dXJuRm9ybSAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAucHJvZHVjdC1kaXNjbGFpbWVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDEwOCwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAjcmV0dXJuRm9ybSBidXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7IH0gfVxuXG4vKiBsaW5lIDExNSwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuLnJldHVybi1vcmRlci1zdWJtaXR0ZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC8qIGxpbmUgMTIzLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gIC5yZXR1cm4tb3JkZXItc3VibWl0dGVkIC5wYWdlLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIGxpbmUgMTI3LCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4ucmV0dXJuLW9yZGVyLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLyogbGluZSAxMzUsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgLnJldHVybi1vcmRlci1zZWFyY2ggLnBhZ2UtZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLyogbGluZSAxNDIsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgLnJldHVybi1vcmRlci1zZWFyY2ggLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7IH1cbiAgICAvKiBsaW5lIDE0NCwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAgIC5yZXR1cm4tb3JkZXItc2VhcmNoIC5wYWdlLXRpdGxlIGgxIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSAxNDksIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbi5yZXR1cm4tb3JkZXItc2VhcmNoLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC8qIGxpbmUgMTUzLCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gIC5yZXR1cm4tb3JkZXItc2VhcmNoLWZvcm0gbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAvKiBsaW5lIDE1OCwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAucmV0dXJuLW9yZGVyLXNlYXJjaC1mb3JtIC5yZXF1aXJlZCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAvKiBsaW5lIDE2MSwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuICAucmV0dXJuLW9yZGVyLXNlYXJjaC1mb3JtIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC8qIGxpbmUgMTY2LCBzY3NzL21vZHVsZS9fcmVzby5zY3NzICovXG4gICAgLnJldHVybi1vcmRlci1zZWFyY2gtZm9ybSAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4vKiBsaW5lIDE3Miwgc2Nzcy9tb2R1bGUvX3Jlc28uc2NzcyAqL1xuLmJveC1yZXR1cm5zIC5ib3gtaW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLyogbGluZSAxNzQsIHNjc3MvbW9kdWxlL19yZXNvLnNjc3MgKi9cbiAgLmJveC1yZXR1cm5zIC5ib3gtaW5uZXIgLmJ0bi1wcmltYXJ5IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYWxlbmRhciBzdHlsZXMgKHJlc3RvcmUgc3R5bGVzIGZyb20gL2pzL2NhbGVuZGFyKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3Mvb3ZlcnJpZGUvX3BsdWdpbi5zY3NzICovXG5kaXYuY2FsZW5kYXIgdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyB9XG4gIC8qIGxpbmUgMzMsIHNjc3Mvb3ZlcnJpZGUvX3BsdWdpbi5zY3NzICovXG4gIGRpdi5jYWxlbmRhciB0YWJsZSB0ZC5idXR0b24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIb21lcGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaW1hcnkgQmFubmVyXG4gKi9cbi8qIGxpbmUgMzQsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4ubWVkaWFfX2VtYmVkIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSAzNywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLm1lZGlhX19lbWJlZCAudmlkZW8taW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg3MjAgLyAxMjgwICogMTAwJSk7IH1cbiAgICAvKiBsaW5lIDQzLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIC5tZWRpYV9fZW1iZWQgLnZpZGVvLWlubmVyIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDY1LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAubWVkaWFfX2VtYmVkIC52aWRlby1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNzIwIC8gMTI4MCAqIDEwMHZ3KTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC8qIGxpbmUgNjksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgLm1lZGlhX19lbWJlZCAudmlkZW8taW5uZXIgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG5cbi8qIGxpbmUgNzksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4udmlkZW8tY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMTA4MHB4O1xuICBoZWlnaHQ6IHVuc2V0O1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDg0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAudmlkZW8tY29udGFpbmVyIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLyogbGluZSA4Nywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLnZpZGVvLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAzJTtcbiAgICB0b3A6IDUlOyB9XG4gICAgLyogbGluZSA5MSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAudmlkZW8tY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC1zaXplOiAyNXB4OyB9XG4gICAgLyogbGluZSA5NSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAudmlkZW8tY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLyogbGluZSAxMDAsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgLnZpZGVvLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmFjdGlvbi1zZWNvbmRhcnkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB3aWR0aDogMTQ1cHg7IH1cblxuLyogbGluZSAxMDksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG5ib2R5LmNtcy1ob21lIC5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBsaW5lIDExMywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbmJvZHkuY21zLWhvbWUgLmhvbWUtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTA3MHB4OyB9XG4gIC8qIGxpbmUgMTE4LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ob21lLWJsb2NrLWNvbnRhaW5lciAudGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC8qIGxpbmUgMTIxLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ob21lLWJsb2NrLWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAvKiBsaW5lIDEyNCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuaG9tZS1ibG9jay1jb250YWluZXIgLmFjdGlvbi1zZWNvbmRhcnkge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogbGluZSAxMjksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG5ib2R5LmNtcy1ob21lIC52aWRlby1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAxMTAwcHg7XG4gIGhlaWdodDogdW5zZXQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC8qIGxpbmUgMTM0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC52aWRlby1jb250YWluZXIgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDEzNywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAudmlkZW8tY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDMlO1xuICAgIHRvcDogNSU7IH1cbiAgICAvKiBsaW5lIDE0MSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC52aWRlby1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgICAvKiBsaW5lIDE0NSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC52aWRlby1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDM3MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAvKiBsaW5lIDE1MCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC52aWRlby1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5hY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDE0NXB4OyB9XG5cbi8qIGxpbmUgMTU3LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuYm9keS5jbXMtaG9tZSAuc3RvcmUtY29sbGVjdGlvbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNjI2cHg7XG4gIG1heC1oZWlnaHQ6IDk0NXB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgLyogbGluZSAxNjIsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIGJvZHkuY21zLWhvbWUgLnN0b3JlLWNvbGxlY3Rpb24tY29udGFpbmVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC8qIGxpbmUgMTY2LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5zdG9yZS1jb2xsZWN0aW9uLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwJTtcbiAgICB0b3A6IDQlOyB9XG4gICAgLyogbGluZSAxNzAsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuc3RvcmUtY29sbGVjdGlvbi1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLyogbGluZSAxNzMsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuc3RvcmUtY29sbGVjdGlvbi1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC8qIGxpbmUgMTc3LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIGJvZHkuY21zLWhvbWUgLnN0b3JlLWNvbGxlY3Rpb24tY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuYWN0aW9uLXNlY29uZGFyeSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogbGluZSAxODMsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG5ib2R5LmNtcy1ob21lIC5mZWF0dXJlZC1wcm9kdWN0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAvKiBsaW5lIDE4NSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA0MjVweDtcbiAgICBtYXgtd2lkdGg6IDQyNXB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAvKiBsaW5lIDE5MCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTklO1xuICAgIGxlZnQ6IC0xOSU7IH1cbiAgICAvKiBsaW5lIDE5NCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC5mZWF0dXJlZC1wcm9kdWN0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAvKiBsaW5lIDE5Nywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC5mZWF0dXJlZC1wcm9kdWN0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLnN1YnRpdGxlIHtcbiAgICAgIG1heC13aWR0aDogMTg1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLyogbGluZSAyMDEsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5idG4tcHJpbWFyeSB7XG4gICAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxvYXQ6IHVuc2V0OyB9XG5cbi8qIGxpbmUgMjA5LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuYm9keS5jbXMtaG9tZSAudmlsbGEtdG9ycmVzaS1jb250YWluZXIgLmltZy1jb250YWluZXIge1xuICBvcmRlcjogMjtcbiAgbWF4LXdpZHRoOiA4OTBweDsgfVxuXG4vKiBsaW5lIDIxMywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbmJvZHkuY21zLWhvbWUgLnZpbGxhLXRvcnJlc2ktY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gIGZsZXg6IDUwJTtcbiAgcGFkZGluZy1sZWZ0OiAxMzJweDsgfVxuICAvKiBsaW5lIDIxNiwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAudmlsbGEtdG9ycmVzaS1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLyogbGluZSAyMjEsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIGJvZHkuY21zLWhvbWUgLnZpbGxhLXRvcnJlc2ktY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuYWN0aW9uLXNlY29uZGFyeSB7XG4gICAgbWF4LXdpZHRoOiA5MnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDIyNywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbmJvZHkuY21zLWhvbWUgLmJsb2NrLTUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTU2NHB4O1xuICBtYXgtaGVpZ2h0OiA5NjdweDtcbiAgZmxvYXQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYXJibGUucG5nXCIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC8qIGxpbmUgMjM2LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIGhlaWdodDogODclO1xuICAgIGZsZXg6IDUwJTsgfVxuICAgIC8qIGxpbmUgMjQyLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIGJvZHkuY21zLWhvbWUgLmJsb2NrLTUtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC8qIGxpbmUgMjQ1LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIGJvZHkuY21zLWhvbWUgLmJsb2NrLTUtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIG1heC13aWR0aDogMzMwcHg7IH1cbiAgICAvKiBsaW5lIDI0OSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmFjdGlvbi1zZWNvbmRhcnkge1xuICAgICAgbWF4LXdpZHRoOiA5MnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgMjU0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAuaW1ncy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBmbGV4OiA1MCU7IH1cbiAgICAvKiBsaW5lIDI2Miwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAuaW1ncy1jb250YWluZXIgLmltZy1iaWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgIHRvcDogMTklO1xuICAgICAgbGVmdDogMjAlOyB9XG4gICAgLyogbGluZSAyNjgsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgLmltZ3MtY29udGFpbmVyIC5pbWctc21hbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzNCU7IH1cblxuLyogbGluZSAyNzUsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG5ib2R5LmNtcy1ob21lIC5ibG9jay02LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gIC8qIGxpbmUgMjc5LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ibG9jay02LWNvbnRhaW5lciBpbWcge1xuICAgIG1heC13aWR0aDogNjE1cHg7IH1cbiAgLyogbGluZSAyODIsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIGJvZHkuY21zLWhvbWUgLmJsb2NrLTYtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA0OTBweDsgfVxuICAgIC8qIGxpbmUgMjg0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIGJvZHkuY21zLWhvbWUgLmJsb2NrLTYtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLyogbGluZSAyODksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuYmxvY2stNi1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5hY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAgIG1heC13aWR0aDogOTJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDI5Nywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5zbGlkZXNob3cgLmJhbm5lci1tc2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMzAlO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKiBsaW5lIDMwNiwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggZmFsc2UgIzU1NTU1NTsgfVxuXG4vKiBsaW5lIDMxMiwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDM2cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogbGluZSAzMjAsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIGJvZHkuY21zLWhvbWUgLmhvbWUtYmxvY2stY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDgwMHB4OyB9XG4gIC8qIGxpbmUgMzI0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAuaW1ncy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXg6IGluaGVyaXQ7XG4gICAgZmxleDogNzAlOyB9XG4gICAgLyogbGluZSAzMjcsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgLmltZ3MtY29udGFpbmVyIC5pbWctYmlnIHtcbiAgICAgIGxlZnQ6IDclOyB9XG4gICAgLyogbGluZSAzMzAsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgLmltZ3MtY29udGFpbmVyIC5pbWctc21hbGwge1xuICAgICAgbGVmdDogLTIwJTsgfVxuICAvKiBsaW5lIDMzNSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDE5MHB4OyB9XG4gICAgLyogbGluZSAzMzcsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHRvcDogLTMyJTtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgLyogbGluZSAzNDIsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIGJvZHkuY21zLWhvbWUgLnZpbGxhLXRvcnJlc2ktY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgMzUwLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ob21lLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiB1bnNldDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAvKiBsaW5lIDM1NCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC5ob21lLWJsb2NrLWNvbnRhaW5lciAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogOTBweDsgfVxuICAgICAgLyogbGluZSAzNTYsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICBib2R5LmNtcy1ob21lIC5ob21lLWJsb2NrLWNvbnRhaW5lciAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgdG9wOiAtMTklO1xuICAgICAgICBsZWZ0OiAtMTklOyB9XG4gIC8qIGxpbmUgMzYyLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC52aWxsYS10b3JyZXNpLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAvKiBsaW5lIDM2NSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC52aWxsYS10b3JyZXNpLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgICAgZmxleDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAvKiBsaW5lIDM3MSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIge1xuICAgIGhlaWdodDogNTQwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG4gICAgLyogbGluZSAzNzUsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgIC8qIGxpbmUgMzgxLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIGJvZHkuY21zLWhvbWUgLmJsb2NrLTUtY29udGFpbmVyIC5pbWdzLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiB1bnNldDtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgIC8qIGxpbmUgMzg2LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgLmltZ3MtY29udGFpbmVyIC5pbWctYmlnIHtcbiAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI0NXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDsgfVxuICAgICAgLyogbGluZSAzOTMsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAuaW1ncy1jb250YWluZXIgLmltZy1zbWFsbCB7XG4gICAgICAgIG1heC13aWR0aDogMTY3cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE2N3B4O1xuICAgICAgICB0b3A6IDU1JTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTsgfVxuICAvKiBsaW5lIDQwMiwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuYmxvY2stNi1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgNDA0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIGJvZHkuY21zLWhvbWUgLmJsb2NrLTYtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgICAvKiBsaW5lIDQwOCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICBib2R5LmNtcy1ob21lIC5ibG9jay02LWNvbnRhaW5lciBpbWcge1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgNDE4LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAuc2xpZGVzaG93IC5iYW5uZXItbXNnIGgyIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLyogbGluZSA0MjIsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIC5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgLyogbGluZSA0MjksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIGJvZHkuY21zLWhvbWUgLnZpZGVvLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLnN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgNDM1LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5zdG9yZS1jb2xsZWN0aW9uLWNvbnRhaW5lciAuc3VidGl0bGUsIGJvZHkuY21zLWhvbWUgLmZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVyIC5zdWJ0aXRsZSwgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgLnN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDQ0Niwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuaG9tZS1ibG9jay1jb250YWluZXIgLmZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMzBweDsgfVxuICAvKiBsaW5lIDQ1Mywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keS5jbXMtaG9tZSAuYmxvY2stNS1jb250YWluZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDU0MHB4OyB9XG4gIC8qIGxpbmUgNDU2LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICBib2R5LmNtcy1ob21lIC5ibG9jay01LWNvbnRhaW5lciAuaW1nLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgIG1heC1oZWlnaHQ6IDE3MHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDQ2Niwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLnNsaWRlc2hvdyAuYmFubmVyLW1zZyB7XG4gICAgdG9wOiAyMCU7IH1cbiAgLyogbGluZSA0NzAsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIC5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAvKiBsaW5lIDQ3NCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLnNsaWRlc2hvdyAuYmFubmVyLW1zZyBoMiBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByb21vdGlvbiBCYW5uZXIgU2VjdGlvblxuICovXG4vKiBsaW5lIDQ4Mywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5wcm9tb3Mge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIGxpbmUgNDg5LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuLnByb21vczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyogU3BlY2lmeWluZyB0aGUgYm9keSBvbmx5IGluIG9yZGVyIHRvIG92ZXJyaWRlIHRoZSAuc3RkIHVsIGxpIHN0eWxpbmcgKi9cbi8qIGxpbmUgNDk1LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuYm9keSAucHJvbW9zID4gbGkge1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vKiBsaW5lIDUwNCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5wcm9tb3MgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBsaW5lIDUwOCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5wcm9tb3MgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBsaW5lIDUxMywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5wcm9tb3MgYTpob3ZlciB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9ODApO1xuICBvcGFjaXR5OiAwLjg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIGxpbmUgNTE4LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuLnByb21vcyBzcGFuIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDEwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCBmYWxzZSAjNTU1NTU1OyB9XG5cbi8qIGxpbmUgNTMxLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuLnByb21vcyBzdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcxcHgpIHtcbiAgLyogbGluZSA1MzksIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIC5wcm9tb3Mgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC8qIGxpbmUgNTQzLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAucHJvbW9zIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC8qIENvbmZpZzogVGhyZWUgY29sdW1ucyArIGZsZXhpYmxlIGd1dHRlciAqL1xuICAvKiBsaW5lIDU1MCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgYm9keSAucHJvbW9zID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMS43NDYwMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM4MDk1JTsgfVxuICAvKiBsaW5lIDU1Niwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLnByb21vcyA+IGxpOm50aC1jaGlsZCgzbikge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODgwcHgpIHtcbiAgLyogbGluZSA1NjIsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gIC5wcm9tb3Mgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC8qIGxpbmUgNTY2LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAucHJvbW9zIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTmV3IFByb2R1Y3RzIFNlY3Rpb25cbiAqL1xuLyogSGlkaW5nIHRoZSByZXZpZXdzIGNvbnRlbnQgdmlhIENTUyBiZWNhdXNlIHdlIGNhbid0IG1vZGlmeSB0aGUgdGVtcGxhdGUsICovXG4vKiBzaW5jZSBpdCBtYXkgYmUgdXNlZCBpbiBvdGhlciBwbGFjZXMgd2hlcmUgdGhvc2UgZWxlbWVudHMgYXJlIG5lZWRlZCAqL1xuLyogbGluZSA1NzcsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4uY21zLWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzLFxuLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyxcbi5jbXMtaW5kZXgtbm9yb3V0ZSAucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyxcbi5jbXMtaW5kZXgtbm9yb3V0ZSAucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogbGluZSA1ODQsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4uY21zLWluZGV4LWluZGV4IGgyLnN1YnRpdGxlIHtcbiAgcGFkZGluZzogNnB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMzMzk5Q0M7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQ0NDQzsgfVxuXG4vKiBsaW5lIDU5Mywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbi5jbXMtaW5kZXgtbm9yb3V0ZSBoMi5zdWJ0aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTmV3IFByb2R1Y3RzIFNlY3Rpb25cbiAqL1xuLyogbGluZSA2MDEsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4uaG9tZXNlY3Rpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMwcHggMDsgfVxuICAvKiBsaW5lIDYwNSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLmhvbWVzZWN0aW9uIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogODAlOyB9XG4gICAgLyogbGluZSA2MTAsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgLmhvbWVzZWN0aW9uIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXByaW1hcnkge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC8qIGxpbmUgNjE3LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgLmhvbWVzZWN0aW9uIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXByaW1hcnkgLmhvbWVzZWN0aW9uX19pbWdwcmltYXJ5LmhvbWVzZWN0aW9uX19pbWdwcmltYXJ5LS1kZXNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC8qIGxpbmUgNjIzLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIC5ob21lc2VjdGlvbiAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lci1zZWNvbmRhcnkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAgIC8qIGxpbmUgNjMxLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgLmhvbWVzZWN0aW9uIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXNlY29uZGFyeSAuaG9tZXNlY3Rpb25fX2ltZ3NlY29uZGFyeS5ob21lc2VjdGlvbl9faW1nc2Vjb25kYXJ5LS1kZXNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDYzOCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLmhvbWVzZWN0aW9uIC5ob21lc2VjdGlvbl9fdGV4dGNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAvKiBsaW5lIDY0Miwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAuaG9tZXNlY3Rpb24gLmhvbWVzZWN0aW9uX190ZXh0Y29udGFpbmVyIC5ob21lc2VjdGlvbl9fdGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDMwcHggYXV0byAwOyB9XG4gICAgICAvKiBsaW5lIDY0Niwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAgIC5ob21lc2VjdGlvbiAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIgLmhvbWVzZWN0aW9uX190ZXh0IC5ob21lc2VjdGlvbl9fdGV4dC10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMy42cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgICAvKiBsaW5lIDY1NCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAgIC5ob21lc2VjdGlvbiAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIgLmhvbWVzZWN0aW9uX190ZXh0IC5ob21lc2VjdGlvbl9fdGV4dC1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAgIC8qIGxpbmUgNjYzLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgLmhvbWVzZWN0aW9uIC5ob21lc2VjdGlvbl9fdGV4dGNvbnRhaW5lciAuaG9tZXNlY3Rpb25fX3RleHQgLmhvbWVzZWN0aW9uX190ZXh0LWFjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDA7XG4gICAgICAgIHdpZHRoOiAyMDBweDsgfVxuICAvKiBsaW5lIDY3Nywgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLmhvbWVzZWN0aW9uLmhvbWVzZWN0aW9uLS1sZWZ0YWxpZ24gLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC8qIGxpbmUgNjgxLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgIC5ob21lc2VjdGlvbi5ob21lc2VjdGlvbi0tbGVmdGFsaWduIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXNlY29uZGFyeSAuaG9tZXNlY3Rpb25fX2ltZ3NlY29uZGFyeSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAvKiBsaW5lIDcwMiwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgLmhvbWVzZWN0aW9uLmhvbWVzZWN0aW9uLS12aWRlbyB7XG4gICAgcGFkZGluZzogMCAwIDMwcHggMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIC8qIGxpbmUgNzExLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLyogbGluZSA3MTYsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgLmhvbWVzZWN0aW9uOm5vdCguaG9tZXNlY3Rpb24tLXZpZGVvKTpub3QoLmhvbWVzZWN0aW9uLS1mdWxsd2lkdGhpbWcpIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDEgNTUlO1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDsgfVxuICAgICAgLyogbGluZSA3MjIsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItcHJpbWFyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICBoZWlnaHQ6IHVuc2V0OyB9XG4gICAgICAgIC8qIGxpbmUgNzMyLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItcHJpbWFyeSAuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAvKiBsaW5lIDczNSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAgICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItcHJpbWFyeSAuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnkuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnktLWRlc2sge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC8qIGxpbmUgNzQyLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgLmhvbWVzZWN0aW9uOm5vdCguaG9tZXNlY3Rpb24tLXZpZGVvKTpub3QoLmhvbWVzZWN0aW9uLS1mdWxsd2lkdGhpbWcpIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXNlY29uZGFyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICB0cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9XG4gICAgICAgIC8qIGxpbmUgNzUzLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IC5ob21lc2VjdGlvbl9faW1nc2Vjb25kYXJ5IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAvKiBsaW5lIDc1OCwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAgICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IC5ob21lc2VjdGlvbl9faW1nc2Vjb25kYXJ5LmhvbWVzZWN0aW9uX19pbWdzZWNvbmRhcnktLWRlc2sge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvKiBsaW5lIDc2Niwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX190ZXh0Y29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH1cbiAgICAgIC8qIGxpbmUgNzc0LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgLmhvbWVzZWN0aW9uOm5vdCguaG9tZXNlY3Rpb24tLXZpZGVvKTpub3QoLmhvbWVzZWN0aW9uLS1mdWxsd2lkdGhpbWcpIC5ob21lc2VjdGlvbl9fdGV4dGNvbnRhaW5lciAuaG9tZXNlY3Rpb25fX3RleHQge1xuICAgICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICAgLyogbGluZSA3NzcsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICAgIC5ob21lc2VjdGlvbjpub3QoLmhvbWVzZWN0aW9uLS12aWRlbyk6bm90KC5ob21lc2VjdGlvbi0tZnVsbHdpZHRoaW1nKSAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIgLmhvbWVzZWN0aW9uX190ZXh0IC5ob21lc2VjdGlvbl9fdGV4dC10aXRsZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAvKiBsaW5lIDc4MSwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAgICAgLmhvbWVzZWN0aW9uOm5vdCguaG9tZXNlY3Rpb24tLXZpZGVvKTpub3QoLmhvbWVzZWN0aW9uLS1mdWxsd2lkdGhpbWcpIC5ob21lc2VjdGlvbl9fdGV4dGNvbnRhaW5lciAuaG9tZXNlY3Rpb25fX3RleHQgLmhvbWVzZWN0aW9uX190ZXh0LXN1YnRpdGxlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIC8qIGxpbmUgNzg1LCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykgLmhvbWVzZWN0aW9uX190ZXh0Y29udGFpbmVyIC5ob21lc2VjdGlvbl9fdGV4dCAuaG9tZXNlY3Rpb25fX3RleHQtYWN0aW9uIHtcbiAgICAgICAgICBtYXJnaW46IDYwcHggYXV0byAwIDA7IH1cbiAgICAvKiBsaW5lIDc5Miwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykuaG9tZXNlY3Rpb24tLWxlZnRhbGlnbiAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgICAgLyogbGluZSA3OTUsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykuaG9tZXNlY3Rpb24tLWxlZnRhbGlnbiAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lci1wcmltYXJ5IHtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC8qIGxpbmUgODAyLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAgICAgLmhvbWVzZWN0aW9uOm5vdCguaG9tZXNlY3Rpb24tLXZpZGVvKTpub3QoLmhvbWVzZWN0aW9uLS1mdWxsd2lkdGhpbWcpLmhvbWVzZWN0aW9uLS1sZWZ0YWxpZ24gLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IHtcbiAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7IH1cbiAgICAgICAgLyogbGluZSA4MDYsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICAgIC5ob21lc2VjdGlvbjpub3QoLmhvbWVzZWN0aW9uLS12aWRlbyk6bm90KC5ob21lc2VjdGlvbi0tZnVsbHdpZHRoaW1nKS5ob21lc2VjdGlvbi0tbGVmdGFsaWduIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXNlY29uZGFyeSAuaG9tZXNlY3Rpb25fX2ltZ3NlY29uZGFyeSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7IH1cbiAgICAvKiBsaW5lIDgxMiwgc2Nzcy9jb250ZW50L19ob21lLnNjc3MgKi9cbiAgICAuaG9tZXNlY3Rpb246bm90KC5ob21lc2VjdGlvbi0tdmlkZW8pOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykuaG9tZXNlY3Rpb24tLWxlZnRhbGlnbiAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIge1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gIC8qIGxpbmUgODMzLCBzY3NzL2NvbnRlbnQvX2hvbWUuc2NzcyAqL1xuICAuaG9tZXNlY3Rpb24uaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZyAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSA4MzgsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgLmhvbWVzZWN0aW9uLmhvbWVzZWN0aW9uLS1mdWxsd2lkdGhpbWcgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItcHJpbWFyeSAuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLyogbGluZSA4NDEsIHNjc3MvY29udGVudC9faG9tZS5zY3NzICovXG4gICAgICAuaG9tZXNlY3Rpb24uaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZyAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lci1wcmltYXJ5IC5ob21lc2VjdGlvbl9faW1ncHJpbWFyeS5ob21lc2VjdGlvbl9faW1ncHJpbWFyeS0tZGVzayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0ZWdvcnkgTGFuZGluZyBQYWdlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGxpbmUgMzAsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNhdGVnb3J5LWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIGxpbmUgMzQsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNhdGVnb3J5bGFuZGluZ01haW5ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMkUyRTI7XG4gIHBhZGRpbmc6IDdweDsgfVxuXG4vKiBsaW5lIDM5LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRibG9ja3Mge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA0NSwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY2F0YmxvY2tzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB3aWR0aDogMjMlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMi42NjY2NyUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgcGFkZGluZzogMTBweDsgfVxuXG4vKiBsaW5lIDU1LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRibG9ja3MgbGk6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMzMzk5Q0M7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDYwLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgLmNhdGJsb2NrcyBsaSB7XG4gICAgd2lkdGg6IDQ5JSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMiUgIWltcG9ydGFudDsgfVxuICAvKiBsaW5lIDY1LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgLmNhdGJsb2NrcyBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAvKiBsaW5lIDcxLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgLmNhdGJsb2NrcyBsaSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi8qIGxpbmUgNzgsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNhdGJsb2NrcyBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLyogbGluZSA4Miwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY2F0YmxvY2tzIGxpIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA4Nywgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY2F0YmxvY2tzIGxpIGEgc3BhbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3QjdDN0I7XG4gIGZvbnQtZmFtaWx5OiByYWxld2F5O1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIGxpbmUgMTAzLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRibG9ja2xpbmtzIGEge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIGxpbmUgMTA4LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRsYW5kaW5nYm90dG9tUHJvbW9ibG9jayB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UyRTJFMjtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuLyogbGluZSAxMTUsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyBkaXYuY2F0ZWdvcnlsYW5kLWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogbGluZSAxMjYsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyBkaXYuY2F0ZWdvcnlsYW5kLWNhcHRpb24gc3Bhbi5ibHVlLWJpZy10ZXh0IHtcbiAgY29sb3I6ICMzMzk5Q0M7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgcGFkZGluZzogMCAwIDAgOHB4OyB9XG5cbi8qIGxpbmUgMTMzLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4uYmx1ZS1iaWctdGV4dCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDEzNywgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IGRpdi5jYXRlZ29yeWxhbmQtY2FwdGlvbiBzcGFuLnRocmVlLWRvdHMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnX3RocmVlRG90cy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4OyB9XG5cbi8qIGxpbmUgMTQzLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHAuZGVzYyB7XG4gIGZvbnQ6IGl0YWxpYyAxOHB4LzI4cHggR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuICBjb2xvcjogIzY1NjU2NTsgfVxuXG4vKiBsaW5lIDE0OCwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY21zLWhvbWUgI2hvbWVwYWdlLW1haW4tc2xpZGVzIGRpdi5zbGlkZXNfY29udHJvbCBkaXYgZGl2LnNsaWRlc2hvdy1jYXB0aW9uIGEubGluazpob3Zlcixcbi5jbXMtaG9tZSAjaG9tZXBhZ2UtbWFpbi1zbGlkZXMgZGl2LnNsaWRlc19jb250cm9sIGRpdiBkaXYuc2xpZGVzaG93LWNhcHRpb24gc3Bhbi5saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMTE4OUM1OyB9XG5cbi8qIGxpbmUgMTU0LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jbXMtaG9tZSAjaG9tZXBhZ2UtbWFpbi1zbGlkZXMgZGl2LnNsaWRlc19jb250cm9sIGRpdiBkaXYuc2xpZGVzaG93LWNhcHRpb24gc3Bhbi5ibHVlLWJpZy10ZXh0LFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyBkaXYuY2F0ZWdvcnlsYW5kLWNhcHRpb24gc3Bhbi5ibHVlLWJpZy10ZXh0IHtcbiAgY29sb3I6ICMzMzk5Q0M7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgcGFkZGluZzogMCAwIDAgOHB4OyB9XG5cbi8qIGxpbmUgMTYyLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4uYmx1ZS1iaWctdGV4dCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4vKiBsaW5lIDE2Niwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY21zLWhvbWUgI2hvbWVwYWdlLW1haW4tc2xpZGVzIGRpdi5zbGlkZXNfY29udHJvbCBkaXYgZGl2LnNsaWRlc2hvdy1jYXB0aW9uIHNwYW4udGhyZWUtZG90cyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4udGhyZWUtZG90cyB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmdfdGhyZWVEb3RzLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7IH1cblxuLyogbGluZSAxNzMsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNtcy1ob21lICNob21lcGFnZS1tYWluLXNsaWRlcyBkaXYuc2xpZGVzX2NvbnRyb2wgZGl2IGRpdi5zbGlkZXNob3ctY2FwdGlvbiBwLmRlc2MsXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IGRpdi5jYXRlZ29yeWxhbmQtY2FwdGlvbiBwLmRlc2Mge1xuICBmb250OiBpdGFsaWMgMThweC8yOHB4IEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbiAgY29sb3I6ICM2NTY1NjU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUGVyc29uYWxpenphdG8gLSBDb25maWd1cmF0b3JlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbGluZSAxODQsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuLmNhdGVnb3J5LXZhcmlhbnQgLmNhdGVnb3J5LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC8qIGxpbmUgMTg2LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgLmNhdGVnb3J5LXZhcmlhbnQgLmNhdGVnb3J5LXRpdGxlIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi8qIGxpbmUgMTkwLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRlZ29yeS12YXJpYW50IC5jYXRlZ29yeS1kZXNjcmlwdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4vKiBsaW5lIDE5OCwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4uY2F0ZWdvcnktdmFyaWFudCAudmlkZW8tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA0NyU7XG4gIHBvc2l0aW9uOiB1bnNldDtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBtYXJnaW4tbGVmdDogMS41JTsgfVxuICAvKiBsaW5lIDIwNiwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gIC5jYXRlZ29yeS12YXJpYW50IC52aWRlby1jb250YWluZXIgdmlkZW8ge1xuICAgIG1heC1oZWlnaHQ6IDYxNXB4OyB9XG5cbi8qIGxpbmUgMjE3LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDI1JTtcbiAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLWluLW91dDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLyogbGluZSAyMjQsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC8qIGxpbmUgMjI3LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIC5wcm9kdWN0LWltYWdlLCAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbyB7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAvKiBsaW5lIDIzMiwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIHtcbiAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC8qIGxpbmUgMjQzLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC8qIGxpbmUgMjQ2LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvOmhvdmVyIGgyIGEge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgLyogbGluZSAyNDksIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIC5wcm9kdWN0LWluZm86aG92ZXIgdGQgYSB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC8qIGxpbmUgMjU0LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIC5wcm9kdWN0LWluZm8gdGQ6bGFzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAvKiBsaW5lIDI2MCwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpudGgtY2hpbGQoNCksIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLyogbGluZSAyNzEsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAvKiBsaW5lIDI3NCwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAvKiBsaW5lIDI3OSwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC52aWRlby1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSAyOTMsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbyB7XG4gICAgcG9zaXRpb246IHVuc2V0OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NzBweCkge1xuICAvKiBsaW5lIDMwNCwgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAvKiBsaW5lIDMwNywgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIC5pdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAgIC8qIGxpbmUgMzEwLCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIHRyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAgICAgICAvKiBsaW5lIDMxMywgc2Nzcy9jb250ZW50L19jYXRlZ29yeS5zY3NzICovXG4gICAgICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAuaXRlbSAucHJvZHVjdC1pbmZvIHRyIHRkIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC8qIGxpbmUgMzE3LCBzY3NzL2NvbnRlbnQvX2NhdGVnb3J5LnNjc3MgKi9cbiAgICAgICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUgLml0ZW0gLnByb2R1Y3QtaW5mbyB0ciB0ZCBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLyogbGluZSAzMjMsIHNjc3MvY29udGVudC9fY2F0ZWdvcnkuc2NzcyAqL1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24gLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4vKiBsaW5lIDcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC5wYWdlLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDEwLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLXBhZ2UtdmlldyAuYnJlYWRjcnVtYnMge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi8qIGxpbmUgMTYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IGgxIHtcbiAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDI1cHg7XG4gIGNvbG9yOiAjMGEwYTBhICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogbGluZSAyMiwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgaDIge1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzBhMGEwYSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIGxpbmUgMzAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE5cHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi8qIGxpbmUgMzcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC50aXRsZS1zZXJ2aWNlLXNpZGViYXIge1xuICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgY29sb3I6ICMwYTBhMGEgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4vKiBsaW5lIDQ2LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLXBhZ2UtdmlldyB1bC5zZXJ2aWNlLWxpc3QgbGkge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7IH1cblxuLyogbGluZSA1MSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnN0b3JlLWRhdGEge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC8qIGxpbmUgNTMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1wYWdlLXZpZXcgLnN0b3JlLWRhdGEgbGkge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogbGluZSA2MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgI2NvbnRhY3RGb3JtIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiA0NXB4OyB9XG4gIC8qIGxpbmUgNjMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1wYWdlLXZpZXcgI2NvbnRhY3RGb3JtIC5maWVsZHNldCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLyogbGluZSA2Niwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtcGFnZS12aWV3ICNjb250YWN0Rm9ybSAuZmllbGRzZXQgLnJlcXVpcmVkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAvKiBsaW5lIDY5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1wYWdlLXZpZXcgI2NvbnRhY3RGb3JtIC5maWVsZHNldCAuY2hlY2stdGVybXMge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLyogbGluZSA3MSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1wYWdlLXZpZXcgI2NvbnRhY3RGb3JtIC5maWVsZHNldCAuY2hlY2stdGVybXMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLyogbGluZSA3Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAjY29udGFjdEZvcm0gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDc5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1wYWdlLXZpZXcgI2NvbnRhY3RGb3JtIHVsIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAvKiBsaW5lIDgxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLXBhZ2UtdmlldyAjY29udGFjdEZvcm0gdWwgbGkgbGFiZWwge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogbGluZSA4Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG5cbi8qIGxpbmUgOTEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC5zaXplLWd1aWRlLXRpdGxlIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBsaW5lIDk1LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLXBhZ2UtdmlldyAuc2l6ZWd1aWRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAvKiBsaW5lIDk3LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtcGFnZS12aWV3IC5zaXplZ3VpZGUgdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG4gIC8qIGxpbmUgMTAxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtcGFnZS12aWV3IC5zaXplZ3VpZGUgdHIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC8qIGxpbmUgMTA0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1wYWdlLXZpZXcgLnNpemVndWlkZSB0ciAuZmlyc3QtY29sdW1uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICAvKiBsaW5lIDExNSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtcGFnZS12aWV3IC5zaXplZ3VpZGUgdHIgdGgge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBtaW4td2lkdGg6IDUwcHg7IH1cbiAgICAgIC8qIGxpbmUgMTIzLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLXBhZ2UtdmlldyAuc2l6ZWd1aWRlIHRyIHRoOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1pbi13aWR0aDogMTEwcHg7IH1cbiAgICAvKiBsaW5lIDEyNywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtcGFnZS12aWV3IC5zaXplZ3VpZGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY1ZjU7IH1cblxuLyogbGluZSAxMzIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC5wYWdlQ250IHtcbiAgbWF4LXdpZHRoOiA3NjBweDtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW46IGF1dG87IH1cbiAgLyogbGluZSAxMzcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1wYWdlLXZpZXcgLnBhZ2VDbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjsgfVxuICAvKiBsaW5lIDE0MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAucGFnZUNudCAudGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvKiBsaW5lIDE0OCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAucGFnZUNudCBoMi50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC8qIGxpbmUgMTUyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtcGFnZS12aWV3IC5wYWdlQ250LmNvbnRhdHRpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAvKiBsaW5lIDE1NCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtcGFnZS12aWV3IC5wYWdlQ250LmNvbnRhdHRpID4gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XG4gICAgLyogbGluZSAxNTksIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLXBhZ2UtdmlldyAucGFnZUNudC5jb250YXR0aSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cblxuLyogbGluZSAxNjgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC5tYXBvdXRlciAuZ21hcF9jYW52YXMge1xuICB3aWR0aDogMTAwJTsgfVxuICAvKiBsaW5lIDE3MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAubWFwb3V0ZXIgLmdtYXBfY2FudmFzICNnbWFwX2NhbnZhcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNjQ2cHg7IH1cblxuLyogbGluZSAxNzcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtcGFnZS12aWV3IC5pdWJfY29udGVudCBwLCAuY21zLXBhZ2UtdmlldyAuaXViZW5kYV9sZWdhbF9kb2N1bWVudCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuXG4vKiBsaW5lIDE4NCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLml1Yl9jb250ZW50IGgxIHN0cm9uZywgLmNtcy1wYWdlLXZpZXcgLml1YmVuZGFfbGVnYWxfZG9jdW1lbnQgaDEgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4vKiBsaW5lIDE4Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1wYWdlLXZpZXcgLml1Yl9jb250ZW50IGgyLCAuY21zLXBhZ2UtdmlldyAuaXViX2NvbnRlbnQgaDMsIC5jbXMtcGFnZS12aWV3IC5pdWJlbmRhX2xlZ2FsX2RvY3VtZW50IGgyLCAuY21zLXBhZ2UtdmlldyAuaXViZW5kYV9sZWdhbF9kb2N1bWVudCBoMyB7XG4gIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgMjAxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtcGFnZS12aWV3ICNjb250YWN0Rm9ybSAuZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMjA0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtcGFnZS12aWV3ICNjb250YWN0Rm9ybSAuYnV0dG9ucy1zZXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMjA3LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1wYWdlLXZpZXcgI2NvbnRhY3RGb3JtIC5idXR0b25zLXNldCBidXR0b24uYnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gIC8qIGxpbmUgMjEyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtcGFnZS12aWV3ICNjb250YWN0Rm9ybSAucmVxdWlyZWQge1xuICAgIGZvbnQtc2l6ZTogMTFweDsgfSB9XG5cbi8qIGxpbmUgMjI0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLWJsb2NrIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBjb2xvcjogIzBhMGEwYSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogbGluZSAyMzAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtYmxvY2sgLnN1YnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgbGluZS1oZWlnaHQ6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7IH1cblxuLyogbGluZSAyMzYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtYmxvY2sgLnBhcmFncmFwaCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG4gIC8qIGxpbmUgMjQxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2sgLnBhcmFncmFwaCAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC8qIGxpbmUgMjQ1LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2sgLnBhcmFncmFwaCBwIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKiBsaW5lIDI1MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1ibG9jayAuY21zLWJsb2NrX19tb2JpbGVpbWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGxpbmUgMjU1LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLWJsb2NrLnBpY3R1cmUtdGV4dC1jZW50ZXIge1xuICBtYXJnaW46IDAgMCA5MHB4IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgMjU5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2sucGljdHVyZS10ZXh0LWNlbnRlciAudGV4dC1jZW50ZXIge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgLyogbGluZSAyNjQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWJsb2NrLnBpY3R1cmUtdGV4dC1jZW50ZXIgLnRleHQtY2VudGVyIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi8qIGxpbmUgMjY5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLWJsb2NrLmNvbDItaW1nLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiA5JTsgfVxuICAvKiBsaW5lIDI3MSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQgLmNvbC0xIGltZyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2LjUlOyB9XG4gIC8qIGxpbmUgMjc1LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sLTIucGFyYWdyYXBoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLyogbGluZSAyODYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQgLmNvbC0yLnBhcmFncmFwaCAucGFyYWdyYXBoLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAvKiBsaW5lIDI5MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1ibG9jay5jb2wyLWltZy10ZXh0IC5jb2wtMi5wYXJhZ3JhcGggLnBhcmFncmFwaC1jb250YWluZXIgLnRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02JTsgfVxuICAgICAgLyogbGluZSAyOTQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sLTIucGFyYWdyYXBoIC5wYXJhZ3JhcGgtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTAlOyB9XG4gIC8qIGxpbmUgMzAyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dC5sYXJnZXItaW1nIC5jb2wtMSB7XG4gICAgd2lkdGg6IDUxJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLyogbGluZSAzMDcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQubGFyZ2VyLWltZyAuY29sLTEgaW1nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDsgfVxuICAvKiBsaW5lIDMxMSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQubGFyZ2VyLWltZyAuY29sLTIge1xuICAgIHdpZHRoOiA0OSU7XG4gICAgcGFkZGluZy1sZWZ0OiA4JTsgfVxuICAgIC8qIGxpbmUgMzE0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1ibG9jay5jb2wyLWltZy10ZXh0Lmxhcmdlci1pbWcgLmNvbC0yIC5zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTE0cHg7XG4gICAgICB0b3A6IHVuc2V0OyB9XG4gICAgLyogbGluZSAzMTgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQubGFyZ2VyLWltZyAuY29sLTIgLnRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IC04NnB4O1xuICAgICAgdG9wOiB1bnNldDsgfVxuXG4vKiBsaW5lIDMyNSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1ibG9jay52aWRlby1jb250YWluZXItYm94ZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDE3JTsgfVxuICAvKiBsaW5lIDMyOCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWJsb2NrLnZpZGVvLWNvbnRhaW5lci1ib3hlZCB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxNTY1cHg7IH1cbiAgLyogbGluZSAzMzIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jay52aWRlby1jb250YWluZXItYm94ZWQgLnRleHQtbGVmdCB7XG4gICAgd2lkdGg6IDE1NjVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAvKiBsaW5lIDMzNywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYmxvY2sudmlkZW8tY29udGFpbmVyLWJveGVkIC50ZXh0LWxlZnQgLnN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDglO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC8qIGxpbmUgMzQxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1ibG9jay52aWRlby1jb250YWluZXItYm94ZWQgLnRleHQtbGVmdCAucGFyYWdyYXBoIHtcbiAgICAgIG1heC13aWR0aDogOTMwcHg7IH1cblxuLyogbGluZSAzNDYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtYmxvY2subGluay10ZXh0LWNlbnRlciB7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgLyogbGluZSAzNDgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jay5saW5rLXRleHQtY2VudGVyIC50ZXh0LWNlbnRlciB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgICAvKiBsaW5lIDM1Mywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYmxvY2subGluay10ZXh0LWNlbnRlciAudGV4dC1jZW50ZXIgLnBhcmFncmFwaCB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH1cblxuLyogbGluZSAzNjIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtYmxvY2sgLmNtcy1ibG9ja19fbW9iaWxlaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSAzNjYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtYmxvY2sgLmNtcy1ibG9ja19fZGVza2ltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTgwcHgpIHtcbiAgLyogbGluZSAzNzQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jay5jb2wyLWltZy10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAvKiBsaW5lIDM3Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sMi1zZXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLyogbGluZSAzODMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0xIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAxIDUwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgIC8qIGxpbmUgMzkyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0xIC5jbXMtYmxvY2tfX2Rlc2tpbWcge1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgLyogbGluZSAzOTgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yLnBhcmFncmFwaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgIHBhZGRpbmc6IHVuc2V0O1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLyogbGluZSA0MTAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgLmNtcy1ibG9jay5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTIucGFyYWdyYXBoIC5wYXJhZ3JhcGgtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAvKiBsaW5lIDQxOSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yLnBhcmFncmFwaCAucGFyYWdyYXBoLWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0OyB9XG4gICAgICAgICAgLyogbGluZSA0MjUsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMi5wYXJhZ3JhcGggLnBhcmFncmFwaC1jb250YWluZXIgLnRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7IH1cbiAgLyogbGluZSA0MzYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jay5waWN0dXJlLXRleHQtY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsgfVxuICAgIC8qIGxpbmUgNDM5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1ibG9jay5waWN0dXJlLXRleHQtY2VudGVyIC50ZXh0LWNlbnRlciB7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC8qIGxpbmUgNDQ0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7IH1cbiAgLyogbGluZSA0NDksIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jay52aWRlby1jb250YWluZXItYm94ZWQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSA0NTgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jayAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLyogbGluZSA0NjEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jayAuY21zLWJsb2NrX19tb2JpbGVpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIGxpbmUgNDY0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2sgLmNtcy1ibG9ja19fZGVza2ltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDQ2OCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH1cbiAgICAvKiBsaW5lIDQ3MSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sLTEge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC8qIGxpbmUgNDczLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQgLmNvbC0xIGltZyB7XG4gICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLyogbGluZSA0NzksIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQgLmNvbC0yLnBhcmFncmFwaCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLyogbGluZSA0ODIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sLTIucGFyYWdyYXBoIC5wYXJhZ3JhcGgtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgIC8qIGxpbmUgNDg1LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAgIC5jbXMtYmxvY2suY29sMi1pbWctdGV4dCAuY29sLTIucGFyYWdyYXBoIC5wYXJhZ3JhcGgtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICAvKiBsaW5lIDQ5MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQgLmNvbC0yLnBhcmFncmFwaCAucGFyYWdyYXBoLWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDsgfVxuICAgIC8qIGxpbmUgNDk2LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1ibG9jay5jb2wyLWltZy10ZXh0Lmxhcmdlci1pbWcgLmNvbC0xIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSA0OTksIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWJsb2NrLmNvbDItaW1nLXRleHQubGFyZ2VyLWltZyAuY29sLTIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAvKiBsaW5lIDUwMiwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1ibG9jay5jb2wyLWltZy10ZXh0Lmxhcmdlci1pbWcgLmNvbC0yIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLyogbGluZSA1MDgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1ibG9jay5waWN0dXJlLXRleHQtY2VudGVyIHtcbiAgICBtYXJnaW46IDAgMCA5MHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgNTE3LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYmxvY2subGluay10ZXh0LWNlbnRlciAudGV4dC1jZW50ZXIgLnN1YnRpdGxlLmJ0bi1zZWNvbmRhcnkge1xuICAgIHBhZGRpbmc6IDVweCA0MCU7IH0gfVxuXG4vKiBsaW5lIDUyNywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy10ZWNub2xvZ2lhIC5wYWdlLWhlYWRlciwgLmNtcy10ZWNobm9sb2d5IC5wYWdlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4vKiBsaW5lIDUzMCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy10ZWNub2xvZ2lhIC5jb2wtbWFpbiwgLmNtcy10ZWNobm9sb2d5IC5jb2wtbWFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBsaW5lIDUzMywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy10ZWNub2xvZ2lhIC5hcnRpY2xlcy1jb250YWluZXIsIC5jbXMtdGVjaG5vbG9neSAuYXJ0aWNsZXMtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC8qIGxpbmUgNTQwLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtdGVjbm9sb2dpYSAuYXJ0aWNsZXMtY29udGFpbmVyIC5hcnRpY2xlLCAuY21zLXRlY2hub2xvZ3kgLmFydGljbGVzLWNvbnRhaW5lciAuYXJ0aWNsZSB7XG4gICAgZmxleC1iYXNpczogNDklO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAvKiBsaW5lIDU0Mywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtdGVjbm9sb2dpYSAuYXJ0aWNsZXMtY29udGFpbmVyIC5hcnRpY2xlIC50aXRsZSwgLmNtcy10ZWNobm9sb2d5IC5hcnRpY2xlcy1jb250YWluZXIgLmFydGljbGUgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC8qIGxpbmUgNTQ5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy10ZWNub2xvZ2lhIC5hcnRpY2xlcy1jb250YWluZXIgLmFydGljbGUgLnN1YnRpdGxlLCAuY21zLXRlY2hub2xvZ3kgLmFydGljbGVzLWNvbnRhaW5lciAuYXJ0aWNsZSAuc3VidGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLyogbGluZSA1NTUsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLXRlY25vbG9naWEgLmFydGljbGVzLWNvbnRhaW5lciAuYXJ0aWNsZSAuY29udGVudCwgLmNtcy10ZWNobm9sb2d5IC5hcnRpY2xlcy1jb250YWluZXIgLmFydGljbGUgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAvKiBsaW5lIDU2MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtdGVjbm9sb2dpYSAuYXJ0aWNsZXMtY29udGFpbmVyIC5hcnRpY2xlOmhvdmVyLCAuY21zLXRlY2hub2xvZ3kgLmFydGljbGVzLWNvbnRhaW5lciAuYXJ0aWNsZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogbGluZSA1NjYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtdGVjbm9sb2dpYSAuc2lkZWJhciwgLmNtcy10ZWNobm9sb2d5IC5zaWRlYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC8qIGxpbmUgNTcxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtdGVjbm9sb2dpYSAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2ssIC5jbXMtdGVjaG5vbG9neSAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmVmZWZlOyB9XG4gICAgLyogbGluZSA1NzYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLXRlY25vbG9naWEgLnNpZGViYXIgLmNtcy1jb250ZW50LWJsb2NrOmJlZm9yZSwgLmNtcy10ZWNobm9sb2d5IC5zaWRlYmFyIC5jbXMtY29udGVudC1ibG9jazpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgLyogbGluZSA1ODEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLXRlY25vbG9naWEgLnNpZGViYXIgLmNtcy1jb250ZW50LWJsb2NrIC5jb250ZW50LCAuY21zLXRlY2hub2xvZ3kgLnNpZGViYXIgLmNtcy1jb250ZW50LWJsb2NrIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgICAvKiBsaW5lIDU4OSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy10ZWNub2xvZ2lhIC5zaWRlYmFyIC5jbXMtY29udGVudC1ibG9jayAuY29udGVudCAudGl0bGUsIC5jbXMtdGVjaG5vbG9neSAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2sgLmNvbnRlbnQgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zdHlsZTogMTlweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgLyogbGluZSA1OTMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtdGVjbm9sb2dpYSAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2sgLmNvbnRlbnQgLnN1YnRpdGxlLCAuY21zLXRlY2hub2xvZ3kgLnNpZGViYXIgLmNtcy1jb250ZW50LWJsb2NrIC5jb250ZW50IC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgLyogbGluZSA1OTgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtdGVjbm9sb2dpYSAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2sgLmNvbnRlbnQgLnBhcmFncmFwaCwgLmNtcy10ZWNobm9sb2d5IC5zaWRlYmFyIC5jbXMtY29udGVudC1ibG9jayAuY29udGVudCAucGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICAgLyogbGluZSA2MDIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtdGVjbm9sb2dpYSAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2sgLmNvbnRlbnQgLmJ1dHRvbiwgLmNtcy10ZWNobm9sb2d5IC5zaWRlYmFyIC5jbXMtY29udGVudC1ibG9jayAuY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZTsgfVxuXG4vKiBsaW5lIDYxMCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmFydGljbGUtY29udGVudCB7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC8qIGxpbmUgNjEzLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5hcnRpY2xlLWNvbnRlbnQgLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLyogbGluZSA2MTksIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmFydGljbGUtY29udGVudCAuc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAvKiBsaW5lIDYyNSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuYXJ0aWNsZS1jb250ZW50IC5jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKiBsaW5lIDYzMSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLm1vYmlsZS1jbXMtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA2MzMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLm1vYmlsZS1jbXMtY29udGVudCAuY2xvc2UtdGFiIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4vKiBsaW5lIDY0Miwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuI2Ntcy1wYWdlLWNvbnRlbnQgdmlkZW8sIC5tb2JpbGUtY21zLWNvbnRlbnQgdmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogbGluZSA2NDUsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiNjbXMtcGFnZS1jb250ZW50ICNzbGlkZXItaW1nLCAjY21zLXBhZ2UtY29udGVudCAjc2xpZGVyLWltZy1tb2JpbGUsIC5tb2JpbGUtY21zLWNvbnRlbnQgI3NsaWRlci1pbWcsIC5tb2JpbGUtY21zLWNvbnRlbnQgI3NsaWRlci1pbWctbW9iaWxlIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC8qIGxpbmUgNjUwLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICNjbXMtcGFnZS1jb250ZW50ICNzbGlkZXItaW1nIC5zbGljay10cmFjayBpbWcsICNjbXMtcGFnZS1jb250ZW50ICNzbGlkZXItaW1nLW1vYmlsZSAuc2xpY2stdHJhY2sgaW1nLCAubW9iaWxlLWNtcy1jb250ZW50ICNzbGlkZXItaW1nIC5zbGljay10cmFjayBpbWcsIC5tb2JpbGUtY21zLWNvbnRlbnQgI3NsaWRlci1pbWctbW9iaWxlIC5zbGljay10cmFjayBpbWcge1xuICAgIG1heC13aWR0aDogNTE1cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgNjU2LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICNjbXMtcGFnZS1jb250ZW50ICNzbGlkZXItaW1nIGJ1dHRvbiwgI2Ntcy1wYWdlLWNvbnRlbnQgI3NsaWRlci1pbWctbW9iaWxlIGJ1dHRvbiwgLm1vYmlsZS1jbXMtY29udGVudCAjc2xpZGVyLWltZyBidXR0b24sIC5tb2JpbGUtY21zLWNvbnRlbnQgI3NsaWRlci1pbWctbW9iaWxlIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC8qIGxpbmUgNjYxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgI2Ntcy1wYWdlLWNvbnRlbnQgI3NsaWRlci1pbWcgYnV0dG9uLnNsaWNrLW5leHQsICNjbXMtcGFnZS1jb250ZW50ICNzbGlkZXItaW1nLW1vYmlsZSBidXR0b24uc2xpY2stbmV4dCwgLm1vYmlsZS1jbXMtY29udGVudCAjc2xpZGVyLWltZyBidXR0b24uc2xpY2stbmV4dCwgLm1vYmlsZS1jbXMtY29udGVudCAjc2xpZGVyLWltZy1tb2JpbGUgYnV0dG9uLnNsaWNrLW5leHQge1xuICAgICAgcmlnaHQ6IDAlOyB9XG5cbi8qIGxpbmUgNjY3LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4jY21zLXBhZ2UtY29udGVudCAuY21zLWJsb2NrIC50ZXh0LWxlZnQsIC5tb2JpbGUtY21zLWNvbnRlbnQgLmNtcy1ibG9jayAudGV4dC1sZWZ0IHtcbiAgbWFyZ2luLXRvcDogNzBweDsgfVxuICAvKiBsaW5lIDY2OSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAjY21zLXBhZ2UtY29udGVudCAuY21zLWJsb2NrIC50ZXh0LWxlZnQgLnRpdGxlLCAubW9iaWxlLWNtcy1jb250ZW50IC5jbXMtYmxvY2sgLnRleHQtbGVmdCAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLyogbGluZSA2NzIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgI2Ntcy1wYWdlLWNvbnRlbnQgLmNtcy1ibG9jayAudGV4dC1sZWZ0IC5wYXJhZ3JhcGggcCwgLm1vYmlsZS1jbXMtY29udGVudCAuY21zLWJsb2NrIC50ZXh0LWxlZnQgLnBhcmFncmFwaCBwIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KSB7XG4gIC8qIGxpbmUgNjgyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtdGVjbm9sb2dpYSAuY29sLWxlZnQuc2lkZWJhciwgLmNtcy10ZWNobm9sb2d5IC5jb2wtbGVmdC5zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDFzLCBoZWlnaHQgMXM7XG4gICAgd2lsbC1jaGFuZ2U6IHdpZHRoOyB9XG4gIC8qIGxpbmUgNjg4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5tb2JpbGUtY21zLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMTVweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA2OTQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy10ZWNub2xvZ2lhIC5hcnRpY2xlcy1jb250YWluZXIgLmFydGljbGUsIC5jbXMtdGVjaG5vbG9neSAuYXJ0aWNsZXMtY29udGFpbmVyIC5hcnRpY2xlIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAvKiBsaW5lIDcwMiwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuc2lkZWJhciAuY21zLWNvbnRlbnQtYmxvY2sgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAvKiBsaW5lIDcwOCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAjc2xpZGVyLWltZy1tb2JpbGUgLnNsaWNrLWFycm93IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAvKiBsaW5lIDcxNSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICNzbGlkZXItaW1nLW1vYmlsZSAuc2xpY2stYXJyb3cuYXJyb3ctbmV4dCB7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgLyogbGluZSA3MTcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICNzbGlkZXItaW1nLW1vYmlsZSAuc2xpY2stYXJyb3cuYXJyb3ctbmV4dCBkaXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuICAgIC8qIGxpbmUgNzIyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgI3NsaWRlci1pbWctbW9iaWxlIC5zbGljay1hcnJvdyBkaXYge1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9XG5cbi8qIGxpbmUgNzM5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLW5ld3NsZXR0ZXIgLmJyZWFkY3J1bWJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBsaW5lIDc0Miwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmNtcy1uZXdzbGV0dGVyIC5zdGQge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG1hcmdpbi1yaWdodDogLTUwdnc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLyogbGluZSA3NDYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLmltZy1jb250YWluZXIge1xuICAgIGZsZXgtYmFzaXM6IDM4JTsgfVxuICAgIC8qIGxpbmUgNzQ4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLmltZy1jb250YWluZXIgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgNzU0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtbmV3c2xldHRlciAuc3RkIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgZmxleC1iYXNpczogNjIlOyB9XG4gICAgLyogbGluZSA3NTYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLW5ld3NsZXR0ZXIgLnN0ZCAudGV4dC1jb250YWluZXIgPiBkaXYge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAvKiBsaW5lIDc2MCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLnRleHQtY29udGFpbmVyID4gZGl2IC50aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLyogbGluZSA3NjYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtbmV3c2xldHRlciAuc3RkIC50ZXh0LWNvbnRhaW5lciA+IGRpdiAuc3VidGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgLyogbGluZSA3NzMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtbmV3c2xldHRlciAuc3RkIC50ZXh0LWNvbnRhaW5lciA+IGRpdiAuYmxvY2stc3Vic2NyaWJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWF4LXdpZHRoOiAyOTJweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICAgLyogbGluZSA3NzcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLnRleHQtY29udGFpbmVyID4gZGl2IC5ibG9jay1zdWJzY3JpYmUgPiBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICAgIC8qIGxpbmUgNzgxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAgIC5jbXMtbmV3c2xldHRlciAuc3RkIC50ZXh0LWNvbnRhaW5lciA+IGRpdiAuYmxvY2stc3Vic2NyaWJlIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgIC8qIGxpbmUgNzg0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAgIC5jbXMtbmV3c2xldHRlciAuc3RkIC50ZXh0LWNvbnRhaW5lciA+IGRpdiAuYmxvY2stc3Vic2NyaWJlIC5jaGVjay10ZXJtcyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgICAgICAvKiBsaW5lIDc4Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgICAuY21zLW5ld3NsZXR0ZXIgLnN0ZCAudGV4dC1jb250YWluZXIgPiBkaXYgLmJsb2NrLXN1YnNjcmliZSAuYWN0aW9ucyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSA4MDAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLmltZy1jb250YWluZXIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDgwMiwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtbmV3c2xldHRlciAuc3RkIC5pbWctY29udGFpbmVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9XG4gIC8qIGxpbmUgODA2LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtbmV3c2xldHRlciAuc3RkIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcwcHgpIHtcbiAgLyogbGluZSA4MTQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1uZXdzbGV0dGVyIC5zdGQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgODE2LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAvKiBsaW5lIDgxOSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLnRleHQtY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLyogbGluZSA4MjEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLnRleHQtY29udGFpbmVyID4gZGl2IC50aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgLyogbGluZSA4MjYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgLmNtcy1uZXdzbGV0dGVyIC5zdGQgLnRleHQtY29udGFpbmVyID4gZGl2IC5jb250ZW50IGlucHV0W3R5cGU9ZW1haWxdIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qIGxpbmUgODQyLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLWFzc2lzdGFuY2UgLnNpZGViYXIgLnNlcnZpY2UtbGlzdCBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC8qIGxpbmUgODQ1LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYXNzaXN0YW5jZSAuc2lkZWJhciAuc2VydmljZS1saXN0IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDMuNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi8qIGxpbmUgODU4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLWFzc2lzdGFuY2UgLnN0ZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzBhMGEwYTtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG4gIC8qIGxpbmUgODYxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAvKiBsaW5lIDg2Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGg6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvKiBsaW5lIDg3MSwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGggLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLyogbGluZSA4ODIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoIC5zdG9yZS1kYXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAvKiBsaW5lIDg4Niwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGggLnN0b3JlLWRhdGEgbGkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgIC8qIGxpbmUgODk0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoIC5zdG9yZS1kYXRhIGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7IH1cbiAgICAvKiBsaW5lIDkwMCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGggLmFzc2lzdGFuY2UtYXZhaWxhYmxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLyogbGluZSA5MDYsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoIC5zdG9yZS1kYXRhIGxpIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAvKiBsaW5lIDkxMCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGggaDIudGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzLjZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLyogbGluZSA5MjEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoIC50aXRsZS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDkzMCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWFzc2lzdGFuY2UgLnNpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSA5MzMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1hc3Npc3RhbmNlIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiB7XG4gICAgZmxvYXQ6IHVuc2V0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIGxpbmUgOTM3LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtYXNzaXN0YW5jZSAuc3RkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLyogbGluZSA5NDAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiA3MHB4IGF1dG8gMDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH1cbiAgICAvKiBsaW5lIDk0Niwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGggLnRpdGxlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBhMGEwYTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzLjZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgOTU5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1hc3Npc3RhbmNlIC5zdGQgLnBhcmFncmFwaCBoMi50aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAvKiBsaW5lIDk2Mywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtYXNzaXN0YW5jZSAuc3RkIC5wYXJhZ3JhcGggLmFzc2lzdGFuY2UtYXZhaWxhYmxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgIC8qIGxpbmUgOTY3LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1hc3Npc3RhbmNlIC5zdGQgLnBhcmFncmFwaCAuc3RvcmUtZGF0YSBsaSB7XG4gICAgICBmb250LXNpemU6IDExcHg7IH1cbiAgICAgIC8qIGxpbmUgOTY5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoIC5zdG9yZS1kYXRhIGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKiBsaW5lIDk3Nywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWFzc2lzdGFuY2UgLnN0ZCAucGFyYWdyYXBoIGgyLnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4vKiBsaW5lIDk4Miwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuLmFzc2lzdGFuY2Utc2VjdGlvbnMge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAvKiBsaW5lIDk4Mywgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuYXNzaXN0YW5jZS1zZWN0aW9ucyAudGl0bGUtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC8qIGxpbmUgOTk0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5hc3Npc3RhbmNlLXNlY3Rpb25zIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8qIGxpbmUgMTAwMiwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuYXNzaXN0YW5jZS1zZWN0aW9ucyBoMi50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBsaW5lIDEwMTUsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbi5jbXMtbGF2b3JhLWNvbi1ub2kgLnBhZ2UtdGl0bGUsIC5jbXMtd29yay13aXRoLXVzIC5wYWdlLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAvKiBsaW5lIDEwMjAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgLmNtcy1sYXZvcmEtY29uLW5vaSAucGFnZS10aXRsZSBoMSwgLmNtcy13b3JrLXdpdGgtdXMgLnBhZ2UtdGl0bGUgaDEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogbGluZSAxMDI0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4uY21zLWxhdm9yYS1jb24tbm9pIC5zdGQsIC5jbXMtd29yay13aXRoLXVzIC5zdGQge1xuICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC8qIGxpbmUgMTAyOCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3Qge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogNjUlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gICAgLyogbGluZSAxMDM2LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5sZWZ0LCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5sZWZ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYTBhMGE7IH1cbiAgICAgIC8qIGxpbmUgMTA0NCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5sZWZ0IC5pbmZvLCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5sZWZ0IC5pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2lkdGg6IDQ5JTsgfVxuICAgICAgLyogbGluZSAxMDQ5LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmxlZnQgLmlucHV0ZmlsZSwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5wdXRmaWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTA1Miwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmxlZnQgLmlucHV0ZmlsZSA+IGltZywgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5wdXRmaWxlID4gaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICB0b3A6IDhweDsgfVxuICAgIC8qIGxpbmUgMTA2Miwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAuY2hlY2stdGVybXMsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmNoZWNrLXRlcm1zIHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAvKiBsaW5lIDEwNjcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAuY2hlY2stdGVybXMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5jaGVjay10ZXJtcyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgLyogbGluZSAxMDcxLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmNoZWNrLXRlcm1zIC5pbnB1dC1ib3gsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmNoZWNrLXRlcm1zIC5pbnB1dC1ib3gge1xuICAgICAgICB3aWR0aDogdW5zZXQ7IH1cbiAgICAgIC8qIGxpbmUgMTA3NCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5jaGVjay10ZXJtcyAudmFsaWRhdGlvbi1hZHZpY2UsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmNoZWNrLXRlcm1zIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgIGJvdHRvbTogLTE4cHg7IH1cbiAgICAvKiBsaW5lIDEwNzgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgPiBwLnJlcXVpcmVkLCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0ID4gcC5yZXF1aXJlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgIC8qIGxpbmUgMTA4NCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAuYnV0dG9uLWNvbnRhaW5lciwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgICAgLyogbGluZSAxMDg4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmJ1dHRvbi1jb250YWluZXIgLmJ0bi1wcmltYXJ5LCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5idXR0b24tY29udGFpbmVyIC5idG4tcHJpbWFyeSB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAvKiBsaW5lIDEwOTQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5idXR0b24tY29udGFpbmVyIC5idG4tcHJpbWFyeTpob3ZlciwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAuYnV0dG9uLWNvbnRhaW5lciAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAvKiBsaW5lIDExMDAsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLnNlbGVjdCwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAuc2VsZWN0IHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH1cbiAgICAvKiBsaW5lIDExMDMsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmlucHV0LWJveCwgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5zZWxlY3QsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmlucHV0LWJveCwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAuc2VsZWN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB3aWR0aDogNDklOyB9XG4gICAgLyogbGluZSAxMTA4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0ICNjdXN0b21lcl9jdiwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAjY3VzdG9tZXJfY3Yge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDExMTEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLnZhbGlkYXRpb24tYWR2aWNlLCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLyogbGluZSAxMTIwLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnBhZ2UtdGl0bGUgaDEsIC5jbXMtd29yay13aXRoLXVzIC5wYWdlLXRpdGxlIGgxIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLyogbGluZSAxMTIzLCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCB7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG4gIC8qIGxpbmUgMTEyNiwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAxMTI4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5sZWZ0LCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5sZWZ0IHtcbiAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAvKiBsaW5lIDExMzIsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5wdXQtYm94LCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5sZWZ0IC5pbnB1dC1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAvKiBsaW5lIDExMzQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5sZWZ0IC5pbnB1dC1ib3ggaW5wdXRbdHlwZT10ZXh0XSwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5wdXQtYm94IGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAvKiBsaW5lIDExMzgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5mbywgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5mbyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC8qIGxpbmUgMTE0Miwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAgICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5sZWZ0IC5pbmZvLCAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmxlZnQgLnNlbGVjdCwgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0IC5sZWZ0IC5pbnB1dGZpbGUsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmxlZnQgLmluZm8sIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmxlZnQgLnNlbGVjdCwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCAubGVmdCAuaW5wdXRmaWxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgICAvKiBsaW5lIDExNDcsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmNoZWNrLXRlcm1zLCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC5jaGVjay10ZXJtcyB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAvKiBsaW5lIDExNTEsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLmJ1dHRvbi1jb250YWluZXIsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgICAvKiBsaW5lIDExNTQsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAuYnV0dG9uLWNvbnRhaW5lciBidXR0b24sIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICAgICAgLyogbGluZSAxMTU4LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgICAgIC5jbXMtbGF2b3JhLWNvbi1ub2kgLnN0ZCAjcmVxdWVzdCAuYnV0dG9uLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5jbXMtd29yay13aXRoLXVzIC5zdGQgI3JlcXVlc3QgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLyogbGluZSAxMTY0LCBzY3NzL2NvbnRlbnQvX2Ntcy5zY3NzICovXG4gICAgLmNtcy1sYXZvcmEtY29uLW5vaSAuc3RkICNyZXF1ZXN0ID4gcC5yZXF1aXJlZCwgLmNtcy13b3JrLXdpdGgtdXMgLnN0ZCAjcmVxdWVzdCA+IHAucmVxdWlyZWQge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAvKiBsaW5lIDExNjgsIHNjc3MvY29udGVudC9fY21zLnNjc3MgKi9cbiAgICAuY21zLWxhdm9yYS1jb24tbm9pIC5zdGQgI3JlcXVlc3QgLnZhbGlkYXRpb24tYWR2aWNlLCAuY21zLXdvcmstd2l0aC11cyAuc3RkICNyZXF1ZXN0IC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICBmb250LXNpemU6IDExcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC8qIGxpbmUgMTE3OCwgc2Nzcy9jb250ZW50L19jbXMuc2NzcyAqL1xuICAuY21zLXBhZ2UtdmlldyAubWFwb3V0ZXIgLmdtYXBfY2FudmFzICNnbWFwX2NhbnZhcyB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG5cbi8qIGxpbmUgMiwgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLyogbGluZSA2LCBzY3NzL2NvbnRlbnQvX3Byb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0xIHtcbiAgICB3aWR0aDogNTUlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAvKiBsaW5lIDksIHNjc3MvY29udGVudC9fcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY29zdHVtLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMSBpbWcge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC8qIGxpbmUgMTMsIHNjc3MvY29udGVudC9fcHJvZHVjdC5zY3NzICovXG4gICAgLnByb2R1Y3QtY29zdHVtLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMSAudGl0bGUsIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTEgLnN1YnRpdGxlLCAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0xIHAge1xuICAgICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JTsgfVxuICAvKiBsaW5lIDIwLCBzY3NzL2NvbnRlbnQvX3Byb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogNDUlO1xuICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICBwYWRkaW5nLWxlZnQ6IDglOyB9XG4gICAgLyogbGluZSAyNCwgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yIC50aXRsZSwgLnByb2R1Y3QtY29zdHVtLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMiAuc3VidGl0bGUsIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTIgcCB7XG4gICAgICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG4gICAgLyogbGluZSAyNywgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yLmltZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyogbGluZSAzMiwgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY29zdHVtLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMiAudGl0bGUsIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTIgLnN1YnRpdGxlLCAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yIHAsIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTEgLnRpdGxlLCAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0xIC5zdWJ0aXRsZSwgLnByb2R1Y3QtY29zdHVtLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMSBwIHtcbiAgICBwb3NpdGlvbjogdW5zZXQ7IH1cbiAgLyogbGluZSAzNSwgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbiAgLnByb2R1Y3QtY29zdHVtLmNvbDItaW1nLXRleHQgLmNvbDItc2V0IC5jb2wtMiAuc3VidGl0bGUsIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTEgLnN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC8qIGxpbmUgMzgsIHNjc3MvY29udGVudC9fcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTIgLnRpdGxlLCAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0xIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAvKiBsaW5lIDQxLCBzY3NzL2NvbnRlbnQvX3Byb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb3N0dW0uY29sMi1pbWctdGV4dCAuY29sMi1zZXQgLmNvbC0yIHAsIC5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IC5jb2wyLXNldCAuY29sLTEgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG5cbi8qIGxpbmUgNDgsIHNjc3MvY29udGVudC9fcHJvZHVjdC5zY3NzICovXG4ucHJvZHVjdC1jb3N0dW0udmlkZW8tY29udGFpbmVyLWJveGVkIC50ZXh0LWxlZnQge1xuICBtYXJnaW4tbGVmdDogNTUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuICAvKiBsaW5lIDUxLCBzY3NzL2NvbnRlbnQvX3Byb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb3N0dW0udmlkZW8tY29udGFpbmVyLWJveGVkIC50ZXh0LWxlZnQgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC8qIGxpbmUgNTQsIHNjc3MvY29udGVudC9fcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWNvc3R1bS52aWRlby1jb250YWluZXItYm94ZWQgLnRleHQtbGVmdCAucGFyYWdyYXBoIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICAgLyogbGluZSA1NSwgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbiAgICAucHJvZHVjdC1jb3N0dW0udmlkZW8tY29udGFpbmVyLWJveGVkIC50ZXh0LWxlZnQgLnBhcmFncmFwaCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyogbGluZSA2MSwgc2Nzcy9jb250ZW50L19wcm9kdWN0LnNjc3MgKi9cbi5wcm9kdWN0LWNvc3R1bS52aWRlby1jb250YWluZXItYm94ZWQgdmlkZW8ge1xuICBtYXgtd2lkdGg6IDY1JTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDEyJTsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAvKiBsaW5lIDcwLCBzY3NzL2NvbnRlbnQvX3Byb2R1Y3Quc2NzcyAqL1xuICAucHJvZHVjdC1jb3N0dW0udmlkZW8tY29udGFpbmVyLWJveGVkIC50ZXh0LWxlZnQge1xuICAgIG1heC13aWR0aDogNDUlOyB9XG4gIC8qIGxpbmUgNzMsIHNjc3MvY29udGVudC9fcHJvZHVjdC5zY3NzICovXG4gIC5wcm9kdWN0LWNvc3R1bS52aWRlby1jb250YWluZXItYm94ZWQgdmlkZW8ge1xuICAgIGZsb2F0OiB1bnNldDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLyogbGluZSA5LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmltYWdlcy1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLyogbGluZSAxMiwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmltYWdlcy1jb250YWluZXIgI3RocmVlc2l4dHkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgIG1heC1oZWlnaHQ6IDc1MHB4OyB9XG5cbi8qIGxpbmUgMTksIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4uY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAuaW5pdGlhbHMtZGV0YWlscy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAvKiBsaW5lIDIzLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAuaW5pdGlhbHMtZGV0YWlscy1jb250YWluZXIgLmZyb250LWltZy1kZXRhaWwge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7IH1cbiAgLyogbGluZSAyNywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmluaXRpYWxzLWRldGFpbHMtY29udGFpbmVyIC5iYWNrLWltZy1kZXRhaWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC8qIGxpbmUgMjksIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmluaXRpYWxzLWRldGFpbHMtY29udGFpbmVyIC5iYWNrLWltZy1kZXRhaWwgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAgICAgLyogbGluZSAzMiwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciAuYmFjay1pbWctZGV0YWlsIGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDsgfVxuICAgIC8qIGxpbmUgMzYsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmluaXRpYWxzLWRldGFpbHMtY29udGFpbmVyIC5iYWNrLWltZy1kZXRhaWwudmlzaWJsZS1kZXRhaWwge1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiA1MDBweDsgfVxuXG4vKiBsaW5lIDQ2LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgLyogbGluZSA0OSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGEwYTBhOyB9XG4gICAgLyogbGluZSA1Mywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jayAuYWN0aW9ucy1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDU3LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudG9wLWJsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzBhMGEwYTsgfVxuICAgIC8qIGxpbmUgNjAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnRvcC1ibG9jayAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLyogbGluZSA2NCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudG9wLWJsb2NrIC5wcmljZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLyogbGluZSA3MSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC50b3AtYmxvY2sgLnByaWNlIC5zeW1ib2wge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLyogbGluZSA3NCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC50b3AtYmxvY2sgLnByaWNlIC52YWx1ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAgICAgLyogbGluZSA3Nywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC50b3AtYmxvY2sgLnByaWNlIC5pbmZvLWl2YSB7XG4gICAgICAgIHdpZHRoOiAzMDAlO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNTFweDsgfVxuICAgIC8qIGxpbmUgODQsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnRvcC1ibG9jayAuZGVsaXZlcnlfdGltZV9kYXRlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAvKiBsaW5lIDkyLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG4gIC8qIGxpbmUgOTksIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG4gIC8qIGxpbmUgMTA1LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudGFibGUtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC8qIGxpbmUgMTA5LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC50YWJsZS1yb3cgLmlkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtaW4td2lkdGg6IDg1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLyogbGluZSAxMTQsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnRhYmxlLXJvdyAudmFsdWVzIHtcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLyogbGluZSAxMTksIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudGFibGUtcm93IC52YWx1ZXMgLnZhbHVlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTIyLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudGFibGUtcm93IC52YWx1ZXMgLnZhbHVlIGxhYmVsIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0NXB4OyB9XG4gICAgICAgIC8qIGxpbmUgMTI2LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudGFibGUtcm93IC52YWx1ZXMgLnZhbHVlOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAvKiBsaW5lIDEzMiwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLyogbGluZSAxMzUsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBhMGEwYTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAvKiBsaW5lIDEzOSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogaW5pdGlhbDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAvKiBsaW5lIDE0NSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gIC8qIGxpbmUgMTUwLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuaW5pdGlhbHMtYmxvY2sge1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLyogbGluZSAxNTMsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmluaXRpYWxzLWJsb2NrIC5sZXR0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAvKiBsaW5lIDE1Nywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5pbml0aWFscy1ibG9jayAubGV0dGVycyAubGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAgICAgICAvKiBsaW5lIDE2Mywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmluaXRpYWxzLWJsb2NrIC5sZXR0ZXJzIC5sZXR0ZXIgbGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAvKiBsaW5lIDE2Nywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmluaXRpYWxzLWJsb2NrIC5sZXR0ZXJzIC5sZXR0ZXIgaW5wdXQge1xuICAgICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAvKiBsaW5lIDE3NSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmluaXRpYWxzLWJsb2NrIC5sZXR0ZXJzIC5sZXR0ZXIgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICAvKiBsaW5lIDE3OSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmluaXRpYWxzLWJsb2NrIC5sZXR0ZXJzIC5sZXR0ZXIgLnN1Z2dlc3Rpb24ge1xuICAgICAgICAgIGNvbG9yOiAjREYyODBBOyB9XG4gICAgLyogbGluZSAxODQsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmluaXRpYWxzLWJsb2NrIC5zdWdnZXN0aW9uLWluaXRpYWxzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvKiBsaW5lIDE4Nywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuaW5pdGlhbHMtYmxvY2sgLnZhbGlkYXRpb24tbGV0dGVyLWFkdmljZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC8qIGxpbmUgMTkzLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5pbml0aWFscy1ibG9jayAuaW5pdGlhbHMtZGV0YWlscy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBsaW5lIDE5Nywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnNpemUtYmxvY2sge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC8qIGxpbmUgMjAyLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC50aXRsZSA+IGEge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLyogbGluZSAyMDcsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnNpemUtYmxvY2sgLnZhbHVlcyBsYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgLyogbGluZSAyMTEsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnNpemUtYmxvY2sgLnZhbHVlcyAuc2l6ZS1zZXBhcmF0b3Ige1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAvKiBsaW5lIDIxMywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC52YWx1ZXMgLnNpemUtc2VwYXJhdG9yOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICBtYXJnaW46IDAgNXB4OyB9XG4gICAgICAvKiBsaW5lIDIxNywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC52YWx1ZXMgLnNpemUtc2VwYXJhdG9yOmxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLyogbGluZSAyMjIsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnNpemUtYmxvY2sgLnBvcHVwLW92ZXJsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwNDI7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gICAgLyogbGluZSAyMzQsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnNpemUtYmxvY2sgLnBvcHVwLXNpemUtZ3VpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwNDM7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC8qIGxpbmUgMjQ0LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLnNpemUtYmxvY2sgLnBvcHVwLXNpemUtZ3VpZGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLyogbGluZSAyNTAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuc2l6ZS1ibG9jayAucG9wdXAtc2l6ZS1ndWlkZSAuY2xvc2Vwb3B1cCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZS1pY29uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAvKiBsaW5lIDI2Miwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5wb3B1cC1zaXplLWd1aWRlICNzaXplLWd1aWRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB6LWluZGV4OiAxMDQ1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH1cbiAgICAgICAgLyogbGluZSAyNzQsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5wb3B1cC1zaXplLWd1aWRlICNzaXplLWd1aWRlIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC8qIGxpbmUgMjgwLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5zaXplLWd1aWRlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC8qIGxpbmUgMjg4LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5zaXplZ3VpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgLyogbGluZSAyOTAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuc2l6ZS1ibG9jayAuc2l6ZWd1aWRlIHRhYmxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgICAvKiBsaW5lIDI5NCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5zaXplZ3VpZGUgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgIC8qIGxpbmUgMjk3LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuc2l6ZS1ibG9jayAuc2l6ZWd1aWRlIHRyIC5maXJzdC1jb2x1bW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgIC8qIGxpbmUgMzA4LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuc2l6ZS1ibG9jayAuc2l6ZWd1aWRlIHRyIHRoIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgIG1pbi13aWR0aDogNTBweDsgfVxuICAgICAgICAgIC8qIGxpbmUgMzE2LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5zaXplZ3VpZGUgdHIgdGg6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7IH1cbiAgICAgICAgLyogbGluZSAzMjAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5zaXplLWJsb2NrIC5zaXplZ3VpZGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmNWY1OyB9XG4gIC8qIGxpbmUgMzI3LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuYnV0dG9ucyAuYnRuLWNhcnQge1xuICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgIC8qIGxpbmUgMzMwLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5idXR0b25zIC5idG4tY2FydC5ub3QtY2xpY2thYmxlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC8qIGxpbmUgMzM0LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuYnV0dG9ucyAudG9wLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKiBSRVNQT05TSVZFICoqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAvKiBsaW5lIDM0NSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmltYWdlcy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLyogbGluZSAzNDksIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmltYWdlcy1jb250YWluZXIgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3cge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAvKiBsaW5lIDM1Niwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5pbWFnZXMtY29udGFpbmVyIC5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93IGRpdiB7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgIC8qIGxpbmUgMzY3LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5pbWFnZXMtY29udGFpbmVyIC5zbGljay1zbGlkZXIgLmFycm93LXByZXYge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC8qIGxpbmUgMzcwLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5pbWFnZXMtY29udGFpbmVyIC5zbGljay1zbGlkZXIgLmFycm93LW5leHQge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC8qIGxpbmUgMzcyLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLmltYWdlcy1jb250YWluZXIgLnNsaWNrLXNsaWRlciAuYXJyb3ctbmV4dCBkaXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDsgfVxuICAgIC8qIGxpbmUgMzc4LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5pbWFnZXMtY29udGFpbmVyIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC8qIGxpbmUgMzgyLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAvKiBsaW5lIDM4NCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAudG9wLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgLyogbGluZSAzODgsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAvKiBsaW5lIDM5Nywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5hY3Rpb25zLW1vYmlsZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC8qIGxpbmUgNDA1LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jayAuYWN0aW9ucy1tb2JpbGUgYSwgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLmFjdGlvbnMtbW9iaWxlIGJ1dHRvbiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gICAgICAgICAgLyogbGluZSA0MTYsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLmFjdGlvbnMtbW9iaWxlIGE6aG92ZXIsIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5hY3Rpb25zLW1vYmlsZSBidXR0b246aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICAgICAgLyogbGluZSA0MjAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLmFjdGlvbnMtbW9iaWxlIGEucHJldiwgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLmFjdGlvbnMtbW9iaWxlIGJ1dHRvbi5wcmV2IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAgICAgICAvKiBsaW5lIDQyNCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5hY3Rpb25zLW1vYmlsZSBhLnByZXY6aG92ZXIsIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5hY3Rpb25zLW1vYmlsZSBidXR0b24ucHJldjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAvKiBsaW5lIDQzNCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5vcHRpb25zLXRhYmxlIHtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAvKiBsaW5lIDQzNiwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLm9wdGlvbnMtdGFibGUgLnRhYmxlLXJvdyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAvKiBsaW5lIDQzOCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jayAub3B0aW9ucy10YWJsZSAudGFibGUtcm93OmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IHVuc2V0OyB9XG4gICAgICAgICAgLyogbGluZSA0NDksIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLm9wdGlvbnMtdGFibGUgLnRhYmxlLXJvdyAudmFsdWVzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgICAgIC8qIGxpbmUgNDU0LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jayAub3B0aW9ucy10YWJsZSAuc2xpY2stYXJyb3cge1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAvKiBsaW5lIDQ2MSwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2sgLm9wdGlvbnMtdGFibGUgLm1hdC1hcnJvdy1uZXh0IHtcbiAgICAgICAgICByaWdodDogMDsgfVxuICAgICAgICAgIC8qIGxpbmUgNDYzLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5vcHRpb25zLXRhYmxlIC5tYXQtYXJyb3ctbmV4dDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnPic7IH1cbiAgICAgICAgLyogbGluZSA0NjcsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5vcHRpb25zLXRhYmxlIC5tYXQtYXJyb3ctcHJldiB7XG4gICAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAgIC8qIGxpbmUgNDY5LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrIC5vcHRpb25zLXRhYmxlIC5tYXQtYXJyb3ctcHJldjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnPCc7IH1cbiAgICAgIC8qIGxpbmUgNDc1LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmN1c3RvbWl6ZXItYmxvY2suaW5pdGlhbHMtYmxvY2sgLnN1Z2dlc3Rpb24taW5pdGlhbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjsgfVxuICAgICAgLyogbGluZSA0ODEsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jay5pbml0aWFscy1ibG9jayAubGV0dGVycyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAgIC8qIGxpbmUgNDg0LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jay5pbml0aWFscy1ibG9jayAubGV0dGVycyAubGV0dGVyIC5zdWdnZXN0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA2MHB4OyB9XG4gICAgICAvKiBsaW5lIDQ5MCwgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrLmluaXRpYWxzLWJsb2NrIC52YWxpZGF0aW9uLWxldHRlci1hZHZpY2Uge1xuICAgICAgICBib3R0b206IHVuc2V0OyB9XG4gICAgICAvKiBsaW5lIDQ5Mywgc2Nzcy9jb250ZW50L19jdXN0b21pemVyLnNjc3MgKi9cbiAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrLmluaXRpYWxzLWJsb2NrIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLyogbGluZSA0OTUsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrLmluaXRpYWxzLWJsb2NrIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciAuZnJvbnQtaW1nLWRldGFpbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLyogbGluZSA1MDAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jay5jdXJyZW50LXN0ZXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC8qIGxpbmUgNTA0LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC8qIGxpbmUgNTA2LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmJ1dHRvbnMgLnRvcC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgLyogbGluZSA1MTAsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gICAgICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5idXR0b25zIC50b3AtYmxvY2sgLnByaWNlIHtcbiAgICAgICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAgIC8qIGxpbmUgNTE0LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuYnV0dG9ucyAudG9wLWJsb2NrIC5kZWxpdmVyeV90aW1lX2RhdGUge1xuICAgICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAgIC8qIGxpbmUgNTE5LCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgICAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXggLnByb2R1Y3QtaW5mby1jb250YWluZXIgLmJ1dHRvbnMuY3VycmVudC1zdGVwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XG4gIC8qIGxpbmUgNTMxLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAuY29zbW8tY3VzdG9taXplci1pbmRleC1pbmRleCAucHJvZHVjdC1pbmZvLWNvbnRhaW5lciAuY3VzdG9taXplci1ibG9jay5pbml0aWFscy1ibG9jayAuaW5pdGlhbHMtZGV0YWlscy1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC8qIGxpbmUgNTMzLCBzY3NzL2NvbnRlbnQvX2N1c3RvbWl6ZXIuc2NzcyAqL1xuICAgIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5jdXN0b21pemVyLWJsb2NrLmluaXRpYWxzLWJsb2NrIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciAuYmFjay1pbWctZGV0YWlsLnZpc2libGUtZGV0YWlsIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLyogbGluZSA1NDcsIHNjc3MvY29udGVudC9fY3VzdG9taXplci5zY3NzICovXG4gIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IC5wcm9kdWN0LWluZm8tY29udGFpbmVyIC5pbml0aWFscy1ibG9jayAubGV0dGVycyAubGV0dGVyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4OyB9IH1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wYXNzIERlZmF1bHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQm9yZGVyIFJhZGl1c1xuXG4kZGVmYXVsdC1ib3JkZXItcmFkaXVzOiA1cHg7XG5cbi8vIFRyYW5zaXRpb25cblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBsaW5lYXI7XG4kZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5OiAwO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByaW1hcnkgQnJlYWsgUG9pbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gVGhlc2Ugc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgYnAgKG1heC13aWR0aCwgeHgpIG1peGluXG4vLyB3aGVyZSBhIG1pbi13aWR0aCBpcyB1c2VkLCByZW1lbWJlciB0byArMSB0byBicmVhayBjb3JyZWN0bHkuXG4vLyBJZiB0aGVzZSBhcmUgY2hhbmdlZCwgdGhleSBtdXN0IGFsc28gYmUgdXBkYXRlZCBpbiBhcHAuanNcblxuJGJwLXhzbWFsbDogNDc5cHg7XG4kYnAtc21hbGw6IDU5OXB4O1xuLy8gZGEgcXVpIGluIHN1IG1vYmlsZVxuJGJwLW1lZGl1bTogNzcwcHg7XG4kYnAtbGFyZ2U6IDk3OXB4O1xuJGJwLXhsYXJnZTogMTE5OXB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJhc2UgVmFsdWVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU3BhY2luZ1xuXG4kZ2FwOiAxMHB4O1xuXG4kdHJpbTogMzBweDtcbi8vIFRoaXMgd2lsbCBnZXQgYXBwbGllZCBvbiB2aWV3cG9ydHMgc21hbGxlciB0aGFuIDQ4MHB4XG4kdHJpbS1zbWFsbDogMTVweDtcbiR0cmltLWRlc2t0b3A6IDUwcHg7XG5cbi8vIFBhZGRpbmcgdGhhdCB3aWxsIGdldCBhcHBsaWVkIHRvIGNvbnRlbnQgYXJlYXNcbiRib3gtc3BhY2luZy1sYXJnZTogMjBweDtcblxuLy8gU3RhbmRhcmQgcGFkZGluZyBhcm91bmQgYm94IGVsZW1lbnRzIHN1Y2ggYXMgYmFubmVyIG1lc3NhZ2VzLCBldGNcbiRib3gtc3BhY2luZzogMTBweDtcblxuLy8gU3RhbmRhcmQgc3BhY2luZyBiZXR3ZWVuIGVsZW1lbnRzIHdpdGhpbiBhIGJveCwgc3VjaCBhcyBcIkFkZCB0byBjYXJ0XCIsIFwiUHJpY2UgYm94XCIsIGV0Y1xuJGVsZW1lbnQtc3BhY2luZzogN3B4O1xuXG4vLyBIZWFkZXIgbWFyZ2luXG4kaGVhZGVyLW1hcmdpbi1ib3R0b20tZGVza3RvcDogNTBweDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbS1tb2JpbGU6IDE1cHg7XG5cbi8vIEZvb3RlciBtYXJnaW5cblxuJGZvb3Rlci1tYXJnaW46IDMwcHg7XG4kbWFyZ2luLWZyb20tZm9vdGVyOiA2NXB4O1xuXG4vLyBob21lIGxlZnQgbWFyZ2luXG5cbiRob21lLWxlZnQtbWFyZ2luOiAxMjVweDtcblxuLy8gRGltZW5zaW9uc1xuXG4kbWF4LWNvbnRlbnQtd2lkdGg6IDE4NDBweDtcbiRtYXgtY29udGFpbmVyLXdpZHRoOiAkdHJpbSArICRtYXgtY29udGVudC13aWR0aCArICR0cmltO1xuJG1heC1zdGQtZm9ybWF0dGVkLXdpZHRoOiA1MGVtO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJyYW5kIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFVzdWFsbHkgbm90IHVzZWQgZGlyZWN0bHkgaW4gU2FzcyBwYXJ0aWFscy5cbi8vIE9ubHkgdXNlZCB0byBkZWZpbmUgY29udGV4dC1iYXNlZCBjb2xvciB2YXJzIGluIHRoaXMgZmlsZS5cblxuJGMtYmx1ZTogIzMzOTlDQztcbiRjLWdyZWVuOiAjMTFCNDAwO1xuJGMtcGluazogI0Q4NTM3ODtcbiRjLW9yYW5nZTogI0YzNzkzQjtcbiRjLXJlZDogI0NGNTA1MDtcbiRjLXllbGxvdzogI0ZGREQxNTtcbiRjLWJsYWNrOiAjMDAwMDAwO1xuJGMtZ3JheTogIzMzMzMzMztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCYXNlIENvbG9yc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRleHRcblxuJGMtdGV4dDogIzYzNjM2MztcbiRjLXRleHQtZ3JheTogI0EwQTBBMDtcbiRjLXRleHQtd2hpdGU6ICNFNkU2RTY7XG4vLyBQcmltYXJ5IGZvbnQgY29sb3IgZm9yIGhlYWRpbmdzIGFuZCBvdGhlciBub24tbGluayB0ZXh0XG4kYy10ZXh0LXByaW1hcnk6ICRjLWJsdWU7XG5cblxuLy8gSW50ZXJhY3Rpb25cblxuJGMtYWN0aW9uOiAkYy1ibHVlO1xuJGMtc3RpbXVsdXM6IGRhcmtlbigkYy1ibHVlLCAxNSUpO1xuJGMtc3VidGxlOiAjQTBBMEEwO1xuXG4vLyBOb3RpZmljYXRpb25zXG5cbiRjLWRhbmdlcjogI0RGMjgwQTtcbiRjLWRhbmdlci1iYWNrZ3JvdW5kOiAjRkFFQkU3O1xuXG4kYy1zdWNjZXNzOiAkYy1ncmVlbjtcbiRjLXN1Y2Nlc3MtYmFja2dyb3VuZDogI0VGRjVFQTtcblxuJGMtd2FybjogI0UyNjcwMztcbiRjLXdhcm4tYmFja2dyb3VuZDogI0Y5RUJFNjtcblxuJGMtZGFyazogIzY3NjE1NztcblxuLy8gR2xvYmFsIEVsZW1lbnRzXG5cbiRjLWRpdmlkZXItYm9yZGVyOiAjRUNFQ0VDO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVsZW1lbnQgQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQnV0dG9uc1xuXG4kYy1idXR0b246ICRjLWJsdWU7XG4kYy1idXR0b24taG92ZXI6IGRhcmtlbigkYy1ibHVlLCA1JSk7XG4kYy1idXR0b24tYWN0aXZlOiBkYXJrZW4oJGMtYmx1ZSwgMTAlKTtcblxuLy8gU2Vjb25kYXJ5IEJ1dHRvbnNcblxuJGMtYnV0dG9uLXNlY29uZGFyeTogI0RERERERDtcbiRjLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXI6IGRhcmtlbigjRERERERELCA1JSk7XG4kYy1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZTogZGFya2VuKCNEREREREQsIDEwJSk7XG5cbiRjLWJ1dHRvbi1zdWJ0bGU6ICNFQ0VDRUM7XG5cbi8vIEZvcm1zXG5cbiRjLWlucHV0LWJvcmRlcjogI0MwQzBDMDtcbiRjLWlucHV0LWJvcmRlci1mb2N1czogJGMtYmx1ZTtcblxuJGMtaW5wdXQtcGxhY2Vob2xkZXI6ICRjLXRleHQtZ3JheTtcbiRjLWlucHV0LXRleHQ6ICRjLXRleHQ7XG5cbiRjLWZpZWxkc2V0LWJvcmRlcjogI0NDQ0NDQztcbiRjLWZpZWxkc2V0LWJvcmRlci1saWdodDogI0VERURFRDtcblxuLy8gSGVhZGluZ3NcblxuJGMtaDE6ICRjLWJsdWU7XG4kYy1oMjogJGMtdGV4dDtcbiRjLWgzOiAkYy10ZXh0O1xuJGMtaDQ6ICRjLXRleHQ7XG4kYy1oNTogJGMtdGV4dDtcbiRjLWg2OiAkYy10ZXh0O1xuXG4vLyBMaW5rXG4kYy1saW5rOiAkYy1hY3Rpb247XG4kYy1saW5rLWhvdmVyOiBkYXJrZW4oJGMtYWN0aW9uLCA1JSk7XG4kYy1saW5rLWZvY3VzOiAkYy1hY3Rpb247XG4kYy1saW5rLWFjdGl2ZTogZGFya2VuKCRjLWFjdGlvbiwgKDUlIC8gMikpO1xuXG4vLyBNb2R1bGUgKGdlbmVyaWMpXG5cbiRjLW1vZHVsZS1iYWNrZ3JvdW5kOiAjRjRGNEY0O1xuJGMtbW9kdWxlLWJhY2tncm91bmQtaG92ZXI6IHNoYWRlKCRjLW1vZHVsZS1iYWNrZ3JvdW5kLCAzJSk7XG4kYy1tb2R1bGUtYmFja2dyb3VuZC1zZWNvbmRhcnk6ICNFQUY4RkY7XG4kYy1tb2R1bGUtYmFja2dyb3VuZC1kYXJrOiAjQUFBQUFBO1xuLy8gVGhpcyBzaG91bGQgYmUgYXBwbGllZCB3aGVuZXZlciB0aGUgYm9yZGVyIGlzIHN1cnJvdW5kaW5nIGEgd2hpdGUgZWxlbWVudCBhbmQvb3IgaXMgZGlyZWN0bHkgc2hvd2luZyBvbiB3aGl0ZS5cbiRjLW1vZHVsZS1ib3JkZXI6ICNDQ0NDQ0M7XG4vLyBUaGlzIHNob3VsZCBiZSBhcHBsaWVkIHdoZW5ldmVyIHRoZSBib3JkZXIgaXMgd3JhcHBpbmcgYW4gZWxlbWVudCB3aXRoICRjLW1vZHVsZS1iYWNrZ3JvdW5kXG4kYy1tb2R1bGUtYm9yZGVyLWxpZ2h0OiAjRURFREVEO1xuJGMtbW9kdWxlLWJvcmRlci1kYXJrOiAjNzc3Nzc3O1xuJGMtbW9kdWxlLWJvcmRlci1oaWdobGlnaHQ6ICRjLWJsdWU7XG5cblxuLy8gVGFibGVcblxuJGMtdGFibGUtYmFja2dyb3VuZDogI0Y0RjRGNDtcbiRjLXRhYmxlLWJvcmRlcjogIzcwNzA3MDtcblxuJGMtdGFibGUtemVicmEtb2RkOiAjRjhGN0Y1O1xuJGMtdGFibGUtemVicmEtZXZlbjogI0VFRURFRDtcblxuLy8gVGFic1xuXG4kYy10YWJzLWJhY2tncm91bmQ6ICNGMEYwRjA7XG5cbi8vIEVtYWlsXG4kYy1lbWFpbC1iYWNrZ3JvdW5kOiAjRUJFQkVCO1xuJGMtZW1haWwtYmFja2dyb3VuZC1zZWNvbmRhcnk6ICNFMUYwRjg7XG4kYy1lbWFpbC1ib3JkZXI6ICNDM0NFRDQ7XG4kYy1lbWFpbC1hY3Rpb246ICMzNjk2QzI7XG4kYy1lbWFpbC1jZWxsOiAjRjFGMUYxO1xuJGMtZW1haWwtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZDogI0ZGRkREOTtcbiRjLWVtYWlsLWhpZ2hsaWdodGVkLWJvcmRlcjogI0ZGRjc0QztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUeXBvZ3JhcGh5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR29vZ2xlIFdlYiBGb250IHN0eWxlc2hlZXQgaXMgaW5jbHVkZWQgdmlhIGxheW91dCBYTUxcblxuLy8gRm9udCBTdGFja3NcblxuJGYtc3RhY2stc2FuczogJ0hlbHZldGljYSBOZXVlJywgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZi1zdGFjay1zZXJpZjogR2VvcmdpYSwgVGltZXMsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcbiRmLXN0YWNrLXNwZWNpYWw6ICdSYWxld2F5JywgJ0hlbHZldGljYSBOZXVlJywgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRmLXN0YWNrLWRlZmF1bHQ6ICRmLXN0YWNrLXNhbnM7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogUmluZ3NpZGU7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1JpbmdzaWRlLUJvb2sub3RmKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSG9lZmxlciBUZXh0JztcbiAgc3JjOiB1cmwoLi4vZm9udHMvaG9lZmxlcnRleHQtcm9tYW4td2ViZm9udC50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSG9lZmxlciBUZXh0JztcbiAgc3JjOiB1cmwoLi4vZm9udHMvaG9lZmxlcnRleHQtaXRhbGljLXdlYmZvbnQudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuJGYtcGFyYWdyYXBoOiAnSG9lZmxlciBUZXh0Jywgc2VyaWY7XG4kZi10aXRsZTogJ1JpbmdzaWRlJywgc2Fucy1zZXJpZjtcblxuLy8gRm9udCBTaXplc1xuXG4kZi1zaXplLXh4eGw6IDI1cHg7XG4kZi1zaXplLXh4bDogMTlweDtcbiRmLXNpemUteGw6IDE2cHg7XG4kZi1zaXplLWw6IDE1cHg7XG5cbiRmLXNpemU6IDE0cHg7XG5cbiRmLXNpemUtczogMTNweDtcbiRmLXNpemUteHM6IDEycHg7XG4kZi1zaXplLXh4czogMTFweDtcblxuLy8gRm9udCBXZWlnaHRzXG5cbiRmLXdlaWdodC1yZWd1bGFyOiAzMDA7XG5cbi8vIEJhc2UgTWVhc3VyZXNcblxuJGItbGluZS1oZWlnaHQ6IDEuNTtcbiRiLW1hcmdpbi1ib3R0b206IDEuNWVtO1xuXG4vLyBJbnB1dCBib3ggbWF4IHdpZHRoXG5cbiRib3gtbWF4LXdpZHRoOiA0MDBweDtcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuNFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBCcmVha3BvaW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1xLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG4kbXEtZml4ZWQtdmFsdWU6IDEwMjRweCAhZGVmYXVsdDtcblxuQG1peGluIGJwKCRmZWF0dXJlLCAkdmFsdWUpIHtcbiAgICAvLyBTZXQgZ2xvYmFsIGRldmljZSBwYXJhbVxuICAgICRtZWRpYTogb25seSBzY3JlZW47XG5cbiAgICAvLyBNZWRpYSBxdWVyaWVzIHN1cHBvcnRlZFxuICAgIEBpZiAkbXEtc3VwcG9ydCA9PSB0cnVlIHtcblxuICAgICAgICBAbWVkaWEgI3skbWVkaWF9IGFuZCAoJGZlYXR1cmU6ICR2YWx1ZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZWRpYSBxdWVyaWVzIG5vdCBzdXBwb3J0ZWRcbiAgICB9IEBlbHNlIHtcblxuICAgICAgICBAaWYgJGZlYXR1cmUgPT0gJ21pbi13aWR0aCcge1xuICAgICAgICAgICAgQGlmICR2YWx1ZSA8PSAkbXEtZml4ZWQtdmFsdWUge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIGlmICRmZWF0dXJlID09ICdtYXgtd2lkdGgnIHtcbiAgICAgICAgICAgIEBpZiAkdmFsdWUgPj0gJG1xLWZpeGVkLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vKlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVXNhZ2UgZXhhbXBsZTpcbi8vIEZvciBJRSBzZXQgJG1xLXN1cHBvcnQgdG8gZmFsc2UuXG4vLyBTZXQgdGhlIGZpeGVkIHZhbHVlLlxuLy8gVGhlbiB1c2UgbWl4aW5zIHRvIHRlc3Qgd2hldGhlciBzdHlsZXMgc2hvdWxkIGJlIGFwcGxpZWQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtcS1zdXBwb3J0OiBmYWxzZTtcbiRtcS1maXhlZC12YWx1ZTogMTAyNDtcblxuLy8gUmVuZGVycyBhdCBmaXhlZCB2YWx1ZVxuQGluY2x1ZGUgYnAgKG1pbi13aWR0aCwgMzAwcHgpIHsgXG4gICAgZGl2IHsgY29sb3I6IzAwMDsgfVxufVxuXG4vLyBEb2Vzbid0IHJlbmRlciB3aXRob3V0IE1RIHN1cHBvcnRcbkBpbmNsdWRlIGJwIChtaW4td2lkdGgsIDEyMDBweCkgeyBcbiAgICBkaXYgeyBjb2xvcjojRkZGOyB9XG59XG5cbi8vIERvZXNuJ3QgcmVuZGVyIHdpdGhvdXQgTVEgc3VwcG9ydFxuQGluY2x1ZGUgYnAgKG1heC13aWR0aCwgMzAwcHgpIHsgXG4gICAgZGl2IHsgY29sb3I6IzQ0NDsgfVxufVxuXG4vLyBSZW5kZXJzIGF0IGZpeGVkIHZhbHVlXG5AaW5jbHVkZSBicCAobWF4LXdpZHRoLCAxMjAwcHgpIHsgXG4gICAgZGl2IHsgY29sb3I6Izg4ODsgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgQ29sb3JWYXJpYWJsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIFZlbmRvclByZWZpeFxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzIxOTllOCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG4gIFxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCBcIi4jeyRjb2x1bW59XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkLXpmLXNpemUpO1xuXG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyB7XG4gICAgLmNvbHVtbnMge1xuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfG51bGx9ICRndXR0ZXIgW251bGxdIC0gR3V0dGVyIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyB0aGUgbWFyZ2lucy4gU2V0IHRvIGBudWxsYCB0byByZWZlciB0byB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIHtcbiAgICAkZ3V0dGVyOiAoJC16Zi16ZXJvLWJyZWFrcG9pbnQ6ICRndXR0ZXIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBDbGVhcmZpeFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRoaXMgbWl4aW4gaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCB0byBhbiA6YWZ0ZXIgcHNldWRvLWNsYXNzLiBFeGFtcGxlOlxuLy8gICY6YWZ0ZXIge1xuLy8gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vICB9XG5AbWl4aW4gY2xlYXJmaXgge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCwgJGJvZHktZm9udC1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmQ7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigJMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyBcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMXB4OyAvLyBQcmV2ZW50cyBtYXJnaW4gY29sbGFwc2luZywgd2hpY2ggd291bGQgcmV2ZWFsIHRoZSBib3ggc2hhZG93IG9mIHRoZSB3cmFwcGVyXG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjIuMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29ycmVjdHMgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIENvcnJlY3RzIGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLypcbiAqIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgZm9yIGBoaWRkZW5gIGF0dHJpYnV0ZSBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0cyBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50cyBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKlxuICogUmVtb3ZlcyBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3NlcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZHJlc3NlcyBgaDFgIGZvbnQgc2l6ZXMgd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGluIEZpcmVmb3ggNCssXG4gKiBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzksIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuXG4vKlxuICogQ29ycmVjdHMgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZXMgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLypcbiAqIFNldHMgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xuXG5xIHtcbiAgICBxdW90ZXM6IFwiXFwyMDFDXCIgXCJcXDIwMURcIiBcIlxcMjAxOFwiIFwiXFwyMDE5XCI7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmVzIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0cyBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzZXMgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLypcbiAqIDEuIENvcnJlY3RzIGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQ29ycmVjdHMgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0cyBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWVcbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKlxuICogQWRkcmVzc2VzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3RzIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLypcbiAqIDEuIEFkZHJlc3NlcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZXMgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLypcbiAqIDEuIEFkZHJlc3NlcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3NlcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKlxuICogUmVtb3ZlcyBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmVzIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIDEuIFJlbW92ZXMgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LlxuICogMi4gSW1wcm92ZXMgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSZXNldFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuaHRtbCB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiBibGFjaygwKTsgLyogUHJldmVudCB0YXAgaGlnaGxpZ2h0IG9uIGlPUy9BbmRyb2lkICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiBQcmV2ZW50IGF1dG9tYXRpYyBzY2FsaW5nIG9uIGlPUyAqL1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5odG1sLFxuYm9keSxcbmltZyxcbmZpZWxkc2V0LFxuYWJicixcbmFjcm9ueW0ge1xuICAgIGJvcmRlcjogMDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxudGgsXG5jb2RlLFxuY2l0ZSxcbmNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbn1cblxuLy8gU3RhbmRhcmQgb3V0bGluZS1vZmZzZXQgaW4gQ2hyb21lIGFuZCBtYWtlIHRoZSBzZWFyY2ggaW5wdXQgc2FtZSBhcyB0ZXh0IGlucHV0XG5pbnB1dDpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBSZXNldHRpbmcgTm9ybWFsaXplIHNvIHRoYXQgc2VhcmNoIGlucHV0cyBiZWhhdmUgdGhlIHNhbWUgYXMgdGV4dCBpbnB1dHNcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciBDU1MzIHByb3BlcnRpZXMgYW5kXG4vLyB0aGVpciBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRhbCBDU1MyIHByb3BlcnRpZXMgd2hlblxuLy8gdGhlIGltcGxlbWVudGF0aW9ucyBhcmUgaWRlbnRpY2FsIGV4Y2VwdCBmb3IgdGhlIHByb3BlcnR5XG4vLyBwcmVmaXguXG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAtd2Via2l0LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgIC1raHRtbC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgIC1tb3otI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAgICAgLW1zLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAtby0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgICAgICAgI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG59XG5cbi8vIFNhbWUgYXMgZXhwZXJpbWVudGFsKCksIGJ1dCBmb3IgY2FzZXMgd2hlbiB0aGUgcHJvcGVydHkgaXMgdGhlIHNhbWUgYW5kIHRoZSB2YWx1ZSBpcyB2ZW5kb3JpemVkXG5AbWl4aW4gZXhwZXJpbWVudGFsLXZhbHVlKCRwcm9wZXJ0eSwgJHZhbHVlLFxuICAkbW96ICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsXG4gICR3ZWJraXQgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LFxuICAkbyAgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLFxuICAkbXMgICAgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCxcbiAgJGtodG1sICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCxcbiAgJG9mZmljaWFsIDogdHJ1ZVxuKSB7XG4gIEBpZiAkd2Via2l0ICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAjeyRwcm9wZXJ0eX0gOiAtd2Via2l0LSN7JHZhbHVlfTsgfVxuICBAaWYgJGtodG1sICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwgICAgIHsgI3skcHJvcGVydHl9IDogIC1raHRtbC0jeyR2YWx1ZX07IH1cbiAgQGlmICRtb3ogICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICN7JHByb3BlcnR5fSA6ICAgIC1tb3otI3skdmFsdWV9OyB9XG4gIEBpZiAkbXMgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQgeyAjeyRwcm9wZXJ0eX0gOiAgICAgLW1zLSN7JHZhbHVlfTsgfVxuICBAaWYgJG8gICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAtby0jeyR2YWx1ZX07IH1cbiAgQGlmICRvZmZpY2lhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgICAgI3skdmFsdWV9OyB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRnVuY3Rpb24gLSBCbGFja1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBmdW5jdGlvbiBibGFjayAoJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIHJnYmEoMCwgMCwgMCwgJG9wYWNpdHkpO1xufVxuXG5AZnVuY3Rpb24gYmxhY2stZmFsbGJhY2sgKCRvcGFjaXR5KSB7XG4gICAgQHJldHVybiBsaWdodGVuKCMwMDAwMDAsICgxIC0gJG9wYWNpdHkpKTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyBaRU5ERVNLIENIQVRcbi56RVdpZGdldC1sYXVuY2hlci56RVdpZGdldC1sYXVuY2hlci0tYWN0aXZlIHtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi8vIENyZWRpdHMgcG9wdXBcblxuI2NyZWRpdHMtcG9wdXAge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQmFzZSBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYWdlIHtcbiAgICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogdW5zZXQ7XG4gICAgfVxuICAgIC5tYXNrLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDk5ODtcbiAgICB9XG4gICAgLmJsb2NrLXZpZXdlZCwgLmJsb2NrLXJlb3JkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuQC1vLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG5Admlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cbi8vIFByZXZlbnQgMzAwbXMgZGVsYXkgaW4gSUUgb24gdG91Y2ggZGV2aWNlc1xuYSwgYnV0dG9uIHtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRhYmxlLFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiLWxpbmUtaGVpZ2h0O1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbm9sLFxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi53cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4ucGFnZSB7XG4gICAgcGFkZGluZzogMCAkdHJpbS1kZXNrdG9wO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMjZweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogODVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJHRyaW0tc21hbGw7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUeXBvZ3JhcGh5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLmgxIHsgQGluY2x1ZGUgaDE7IH1cblxuaDIsIC5oMiB7IEBpbmNsdWRlIGgyOyB9XG5cbmgzLCAuaDMgeyBAaW5jbHVkZSBoMzsgfVxuXG5oNCwgLmg0IHsgQGluY2x1ZGUgaDQ7IH1cblxuaDUsIC5oNSB7IEBpbmNsdWRlIGg1OyB9XG5cbmg2LCAuaDYgeyBAaW5jbHVkZSBoNjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTaGFyZWQgQ2xhc3Nlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkZHJlc3MtbGlzdCBhZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5hdmFpbGFiaWxpdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmF2YWlsYWJpbGl0eSAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hdmFpbGFiaWxpdHkuaW4tc3RvY2sge1xuICAgIGNvbG9yOiAkYy1zdWNjZXNzO1xufVxuXG4uYXZhaWxhYmlsaXR5LmF2YWlsYWJsZS1zb29uLFxuLmF2YWlsYWJpbGl0eS5vdXQtb2Ytc3RvY2sge1xuICAgIGNvbG9yOiAkYy1kYW5nZXI7XG59XG5cbi5hdmFpbGFiaWxpdHktb25seSB7XG4gICAgY29sb3I6ICRjLWRhbmdlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBhZ2UgVGl0bGVzXG4gKi9cblxuLnBhZ2UtdGl0bGUgaDEsXG4ucGFnZS10aXRsZSBoMixcbi5wcm9kdWN0LW5hbWUgaDEsXG4ucHJvZHVjdC1uYW1lIC5oMSB7XG4gICAgQGluY2x1ZGUgcGFnZVRpdGxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBCbG9jayBNb2R1bGVcbiAqL1xuXG4uYmxvY2ssXG4uY29sLWxlZnQtZmlyc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jb2wtbGVmdC1maXJzdCAuYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYmxvY2stdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICBoMixcbiAgICBoMyxcbiAgICBzdHJvbmcge1xuICAgICAgICBAaW5jbHVkZSBoNDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgfVxufVxuXG4vLyBPbiBhY2NvdW50IHBhZ2VzLCBkb24ndCByZW1vdmUgdGhlIHRvcCBib3JkZXIgaW4gb3JkZXIgdG8gY3JlYXRlIHNlcGFyYXRpb24gYmV0d2VlbiBibG9jayBhbmQgLmJsb2NrLWFjY291bnRcbmJvZHk6bm90KC5jdXN0b21lci1hY2NvdW50KSAuYmxvY2s6Zmlyc3QtY2hpbGQgLmJsb2NrLXRpdGxlIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uYmxvY2stc3VidGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG59XG5cbi5ibG9jay1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5ibG9jay1jb250ZW50LnVucGFkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uYmxvY2stY29udGVudCBsaS5pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAkYm94LXNwYWNpbmcgOXB4O1xufVxuXG4uYmxvY2stY29udGVudCBsaS5pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ibG9jayAuYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAkYm94LXNwYWNpbmcgMCAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5jb2wtbGVmdCxcbi5jb2wtcmlnaHQge1xuICAgIC8vIEFsaWduIHRoZSB2ZXJ0aWNhbCBoZWlnaHQgb2YgdGhlIGFuY2hvciB0byBsaW5lIHVwIHdpdGggdGhlIGJ1dHRvblxuICAgIC5ibG9jayAuYWN0aW9ucyAuYnV0dG9uIH4gYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLnNpZGViYXIge1xuICAgICAgICAvLyBEb24ndCBhcHBseSB0byBsYXllcmVkIG5hdiwgc2luY2UgaXQgZ2V0cyBzcGVjaWFsIHRyZWF0bWVudFxuICAgICAgICAuYmxvY2s6bm90KC5ibG9jay1sYXllcmVkLW5hdikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICA+IHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbkR0QmFzZSgncmlnaHQnLCAkYy1tb2R1bGUtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICA+IHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb25EdEJhc2UoJ2Rvd24nLCAkYy1tb2R1bGUtYm9yZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhpcyBzZWxlY3RvciBpcyBoaWdobHkgZmlja2xlLCBiZWNhdXNlIGlmIGEgZGl2IGdldHMgYWRkZWQgYmVuZWF0aCB0aGUgbGFzdCBub3JtYWwgYmxvY2sgaW4gYSBzaWRlYmFyLFxuICAgICAgICAvLyBpdCB3aWxsIGJyZWFrLiBIb3dldmVyIGl0IGlzIHRoZSBzaW1wbGVzdCBzb2x1dGlvbiB0byBhcHBseWluZyB0aGlzIHRyaXZpYWwgc3R5bGUuXG4gICAgICAgIC5ibG9jazpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY29uZGFyeSBOYXZpZ2F0aW9uXG4gKi9cblxuLmJsb2NrLWFjY291bnQsXG4uYmxvY2stY21zLW1lbnUge1xuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIG1hcmdpbjogN3B4IDA7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQnV0dG9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU2Vjb25kYXJ5IEJ1dHRvbnMgKi9cbi5jYXJ0IC5idXR0b25zLXNldCAuYnV0dG9uLFxuLmNhcnQtdGFibGUgLmJ1dHRvbixcbi5zaWRlYmFyIC5hY3Rpb25zIC5idXR0b24sXG4uYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRjLWJ1dHRvbi1zZWNvbmRhcnk7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgcGFkZGluZzogN3B4IDE1cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmU7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4uc2lkZWJhciAuYWN0aW9ucyBidXR0b24uYnV0dG9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKiBQcmltYXJ5IEJ1dHRvbnMgKi9cblxuLmJ1dHRvbixcbi5jYXJ0LXRhYmxlIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uLFxuI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuYnV0dG9uLFxuLmZvb3RlciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYy1idXR0b247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLyogRGlzYWJsZWQgLSBjbGFzcyBmb3IgYW5jaG9yLCBzdGF0ZSBmb3IgZm9ybSBlbGVtZW50cyAqL1xuLmJ1dHRvbi5kaXNhYmxlZCxcbi5idXR0b246ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNDOEM4Qzg7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEFkamFjZW50IGJ1dHRvbnMgKi9cbi5idXR0b24gKyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4vLyBUaGlzIG1peGluIGdldHMgYXBwbGllZCB0byBlbGVtZW50cyB0aGF0IGFyZSBvbmx5IGJ1dHRvbnMgb24gc21hcnRwaG9uZXMgKG9yIHNvbWV0aW1lcyB0YWJsZXRzKSwgc3VjaCBhcyBsYXllcmVkXG4vLyBuYXYgbGlua3Mgb3IgY2hlY2tib3ggbGFiZWxzLlxuLy8gQnVpbGRpbmcgdGhpcyBhcyBhIG1peGluIChyYXRoZXIgdGhhbiBhbiBleHRlbmRhYmxlIGNsYXNzKSBzaW5jZSBpdCB3aWxsIGJlIGluY2x1ZGVkIHdpdGhpbiBtcSBicmVha3BvaW50cywgYW5kXG4vLyBleHRlbmRpbmcgZG9lc24ndCB3b3JrIHdpdGhpbiBtZWRpYSBxdWVyaWVzOiBodHRwOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL2ZpbGUuU0FTU19SRUZFUkVOQ0UuaHRtbCNfaW5fZGlyZWN0aXZlc1xuQG1peGluIHRvdWNoLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbn1cblxuLmJ1dHRvbjIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5idXR0b24yOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uYnV0dG9uMiBzcGFuLFxuLmJ1dHRvbjIgc3BhbiBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYy1zdGltdWx1cztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5jb2wyLXNldCAuYnV0dG9ucy1zZXQge1xuICAgICAgICAuYnV0dG9uLFxuICAgICAgICAuYnV0dG9uMiB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJhY2stbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgLmJhY2stbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYXlwYWwgQnV0dG9uXG4gKi9cblxuLnBheXBhbC1sb2dvLnBheXBhbC1hZnRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYXlwYWwtYWZ0ZXIgLnBheXBhbC1vciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYXlwYWwtb3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIG1hcmdpbjogMHB4IDEwcHggNXB4O1xufVxuXG4ucGF5cGFsLWFmdGVyIC5wYXlwYWwtYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnBheXBhbC1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG59XG5cbi5wYXlwYWwtYnV0dG9uIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDc0MHB4KSB7XG4gICAgLnBheXBhbC1vciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5wYXlwYWwtbG9nbyxcbiAgICAucGF5cGFsLW9yLFxuICAgIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnV0dG9uIFNldHNcbiAqL1xuXG4uYnV0dG9ucy1zZXQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogJGJveC1zcGFjaW5nIDAgMDtcbiAgICBwYWRkaW5nLXRvcDogJGJveC1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgcC5yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIC5iYWNrLWxpbmsge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIH1cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG4gICAgYnV0dG9uLmJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIGJ1dHRvbi5idXR0b24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJY29uc1xuICovXG5cbi5pY29uLXNwcml0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29uX3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgQGluY2x1ZGUgaW1hZ2UtcmVwbGFjZW1lbnQ7XG59XG5cbkBpbmNsdWRlIGlmLW1pbi1yZXNvbHV0aW9uKDIpIHtcbiAgICAuaWNvbi1zcHJpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25fc3ByaXRlQDJ4LnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHggMTAwMHB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnJlYWRjcnVtYnNcbiAqL1xuXG4uYnJlYWRjcnVtYnMge1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL21hcmdpbjogLTE1cHggMCAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5icmVhZGNydW1icyBsaSB7XG4gICAgLy9mbG9hdDogbGVmdDtcbiAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyZWFkY3J1bWJzIGEge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uYnJlYWRjcnVtYnMgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYnJlYWRjcnVtYnMgc3BhbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCA3cHg7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQnV0dG9uIC0gUmVtb3ZlIC8gUHJldmlvdXNcbiAqL1xuXG4uYnRuLXJlbW92ZSxcbi5idG4tcHJldmlvdXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogSGlkZSB0ZXh0ICovXG4gICAgZm9udDogMC8wIGE7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtYWN0aW9uO1xuICAgIH1cbn1cblxuLmJ0bi1yZW1vdmUge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnWCc7XG4gICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgJGYtc3RhY2stc2FucztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLmJ0bi1yZW1vdmUyIHtcbiAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAkaWNvbi1wYWRkaW5nOiAzcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNHB4IC02NTBweCsycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8vIEFkZGluZyB0aGlzIHNvIHRoYXQgdGhlIGJ1dHRvbiB3aWxsIHNob3cgYXQgdGhlIHRvcCBvZiB0aGUgY2FydCByb3dzLCByYXRoZXIgdGhhbiBhdCB0aGUgYmFzZWxpbmVcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcbiAgICB9XG59XG5cbi5idG4tcHJldmlvdXMge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShsZWZ0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgfVxuICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShsZWZ0LCA0cHgsICNGRkZGRkYpO1xuICAgIH1cbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHksXG4ubWluaS1wcm9kdWN0cy1saXN0LFxuI2NvbXBhcmUtaXRlbXMge1xuXG4gICAgLmJ0bi1yZW1vdmUsXG4gICAgLmJ0bi1wcmV2aW91cyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENoZWNrb3V0IEFncmVlbWVudHNcbiAqL1xuXG4uY2hlY2tvdXQtYWdyZWVtZW50cyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNoZWNrb3V0LWFncmVlbWVudHMgLmFncmVlbWVudC1jb250ZW50IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC13aWR0aDogNjcwcHg7XG4gICAgbWF4LWhlaWdodDogMTI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIENWViBTZWN1cml0eSBDb2RlXG4gKi9cblxuLmN2di13aGF0LWlzLXRoaXMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDb250YWluZXJcbiAqL1xuXG4ubWFpbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6ICRtYXgtY29udGFpbmVyLXdpZHRoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBDb2x1bW4gTGF5b3V0c1xuICovXG5cbi5tYWluOmFmdGVyLFxuLmNvbC13cmFwcGVyOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmNvbC1sZWZ0LFxuLmNvbC1yaWdodCxcbi5jb2wtbWFpbiB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4uY29sLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDI0MHB4Lzk2MHB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG4gICAgY2xlYXI6IGxlZnQ7XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uY29sLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjQwcHgvOTYwcHgpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uY29sLW1haW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDcyMHB4Lzk2MHB4KTtcbn1cblxuLmNvbDEtbGF5b3V0IHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG4gICAgfVxufVxuXG4uY29sMi1sZWZ0LWxheW91dCB7XG4gICAgLmNvbC1tYWluIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvKiBSZW1vdmUgdGhlIDE1cHggcGFkZGluZyAqL1xuICAgIH1cbn1cblxuLmNvbDItcmlnaHQtbGF5b3V0IHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IC8qIFJlbW92ZSB0aGUgMTVweCBwYWRkaW5nICovXG4gICAgfVxufVxuXG4uY29sMy1sYXlvdXQge1xuICAgIC5jb2wtcmlnaHQge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyMDBweC85NjBweCk7XG4gICAgfVxuXG4gICAgLmNvbC13cmFwcGVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDc2MHB4Lzk2MHB4KTtcblxuICAgICAgICAuY29sLW1haW4ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNTYwcHgvNzYwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDIwMHB4Lzc2MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAxMDAwcHgpIHtcbiAgICAuY29sMy1sYXlvdXQge1xuICAgICAgICAuY29sLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjQwcHgvOTYwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC13cmFwcGVyIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuY29sLW1haW4ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSg3MjBweC85NjBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtbGVmdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjQwcHgvOTYwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuY29sLWxlZnQsXG4gICAgLmNvbC1yaWdodCxcbiAgICAuY29sLW1haW4sXG4gICAgLmNvbDEtbGF5b3V0IC5jb2wtbGVmdCxcbiAgICAuY29sMS1sYXlvdXQgLmNvbC1yaWdodCxcbiAgICAuY29sMS1sYXlvdXQgLmNvbC1tYWluLFxuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbGVmdCxcbiAgICAuY29sMi1sZWZ0LWxheW91dCAuY29sLXJpZ2h0LFxuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbixcbiAgICAuY29sMi1yaWdodC1sYXlvdXQgLmNvbC1sZWZ0LFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLXJpZ2h0LFxuICAgIC5jb2wyLXJpZ2h0LWxheW91dCAuY29sLW1haW4sXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLWxlZnQsXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtcmlnaHQsXG4gICAgLmNvbDMtbGF5b3V0IC5jb2wtd3JhcHBlciAuY29sLW1haW4ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyAvLyBTaW5jZSBjb2x1bW5zIGFyZSBzdGFja2VkLCB3ZSB3YW50IHRoZXJlIHRvIGJlIHZlcnRpY2FsIHNwYWNpbmdcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5jb2wzLWxheW91dCAuY29sLXdyYXBwZXIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbC1tYWluIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5jb2wtbWFpbiAuY29sLWxlZnQge1xuICAgICAgICBwYWRkaW5nOiAwOyAvKiBPbiBwcm9kdWN0IGxpc3RpbmcgcGFnZXMsIHRoZSBsZWZ0IGNvbHVtbiBnZXRzIG1vdmVkIGluc2lkZSBjb2wtbWFpbiBvbiBzbWFsbCB2aWV3cG9ydHMgKi9cbiAgICB9XG59XG5cbi8qIENvbnRlbnQgQ29sdW1ucyAqL1xuXG4uY29sMi1zZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNvbC0xLFxuICAgIC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZy1sYXJnZTtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtMSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXJyb3cge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgIH1cblxuICAgIC53aWRlIHtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUb3AgQ29udGFpbmVyXG4gKi9cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAudG9wLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250YWluZXItd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwICR0cmltO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogR2xvYmFsIFNpdGUgTm90aWNlXG4gKi9cblxuLmdsb2JhbC1zaXRlLW5vdGljZSB7XG4gICAgYmFja2dyb3VuZDogJGMtZGFyaztcbiAgICBjb2xvcjogJGMtdGV4dC13aGl0ZTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuXG4gICAgLm5vdGljZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtY29udGVudC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmLXNpemUteHhzO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogKDQwcHggLSAkZi1zaXplLXh4cykgLyAyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDQwcHggLSAkZi1zaXplLXh4cykgLyAyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9kZW1vLWxvZ28ucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9tb3Rpb25hbCBNZXNzYWdlIEJhbm5lclxuICovXG5cbi5wcm9tby1tc2cge1xuICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogJGJveC1zcGFjaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEdyaWRcbiAqL1xuXG4uZ3JpZDphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIE1lc3NhZ2VzXG4gKi9cbi5zdWNjZXNzIHtcbiAgICBjb2xvcjogJGMtc3VjY2Vzcztcbn1cblxuLmVycm9yIHtcbiAgICBjb2xvcjogJGMtZGFuZ2VyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubm90aWNlIHtcbiAgICBjb2xvcjogJGMtd2FybjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWVzc2FnZXNcbiAqL1xuXG4ubWVzc2FnZXMge1xuICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbi5tZXNzYWdlcyBsaSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweCA3cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbn1cblxuLm1lc3NhZ2VzIGxpIGxpOmJlZm9yZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xufVxuXG4ubWVzc2FnZXMgLmVycm9yLW1zZyBsaSB7XG4gICAgY29sb3I6ICRjLWJsYWNrO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGMtZGFuZ2VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWRhbmdlci1iYWNrZ3JvdW5kO1xufVxuXG4ubWVzc2FnZXMgLmVycm9yLW1zZyBsaTpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA2cHgsICRjLWRhbmdlcik7XG59XG5cbi5tZXNzYWdlcyAubm90aWNlLW1zZyBsaSB7XG4gICAgY29sb3I6ICRjLWJsYWNrO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGMtd2FybjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13YXJuLWJhY2tncm91bmQ7XG59XG5cbi5tZXNzYWdlcyAubm90aWNlLW1zZyBsaTpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA2cHgsICRjLXdhcm4pO1xufVxuXG4ubWVzc2FnZXMgLnN1Y2Nlc3MtbXNnIGxpIHtcbiAgICBjb2xvcjogJGMtYmxhY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYy1zdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbn1cblxuLm1lc3NhZ2VzIC5zdWNjZXNzLW1zZyBsaTpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA2cHgsICRjLXN1Y2Nlc3MpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA5MTVweCkge1xuXG4gICAgLm9yZGVyLWxpc3QtZ3JpZCAuY29sLTEge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgIH1cblxuICAgIC5vcmRlci1saXN0LWdyaWQgLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAub3JkZXItbGlzdC1ncmlkIC5jb2wtMyB7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUGFnZSBQb3B1cFxuICovXG5cbi5wYWdlLXBvcHVwIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGFnZS1wb3B1cCBoMSB7XG4gICAgbWFyZ2luOiAwIDAgMC41ZW07XG4gICAgZm9udC1zaXplOiAzNnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQYXltZW50IE1ldGhvZHNcbiAqL1xuXG4ucGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucGF5bWVudC1tZXRob2RzIGR0IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyBkZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5wYXltZW50LW1ldGhvZHMgLmZvcm0tbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMTVweCAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUodXAsIDEwcHgsICRjLW1vZHVsZS1ib3JkZXIpO1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0OmFmdGVyIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZSh1cCwgMTBweCwgJGMtbW9kdWxlLWJhY2tncm91bmQpO1xuICAgIHRvcDogLTEwcHg7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLnBheW1lbnQtbWV0aG9kcyAuZm9ybS1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsZWFzZSBXYWl0IChMb2FkaW5nIEluZGljYXRvcilcbiAqL1xuXG4ucGxlYXNlLXdhaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIFByZXZlbnQgdGhlIGxpbmVicmVhayBpbiB0aGUgSFRNTCBmcm9tIGNhdXNpbmcgbGF5b3V0IGlzc3VlcyAqL1xuXG4gICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB3aWR0aDogMjRweDsgLy8gQWN0dWFsIGltYWdlIGlzIDQ4cHgsIHRoZXJlYnkgc3VwcG9ydGluZyBoaS1yZXMgc2NyZWVuc1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3RhbmRhcmRcbiAqL1xuXG4ucHJpY2UtYm94IHtcbiAgICBtYXJnaW46ICRlbGVtZW50LXNwYWNpbmcgMDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2Fucztcbn1cblxuLnByaWNlLWJveCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJpY2Utbm90aWNlIHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xufVxuXG4ucHJpY2UtYm94IC5wcmljZSB7XG4gICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG59XG5cbi5wcmljZS1ib3ggLnByaWNlLFxuLnByaWNlIHtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2Fucztcbn1cblxuLnByaWNlLWJveCAucHJpY2UtbGFiZWwge1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbn1cblxuLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBjb2xvcjogJGMtdGV4dC1wcmltYXJ5O1xuICAgIGRpc3BsYXk6IGJsb2NrOyAvKiBXZSB3YW50IHRoaXMgdG8gc2hvdyBvbiBpdHMgb3duIGxpbmUsIG90aGVyd2lzZSB0aGUgbGF5b3V0IGxvb2tzIGZ1bmt5ICovXG5cbiAgICAubGFiZWwge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpY2UgQm94IC0gU3BlY2lhbFxuICovXG5cbi5wcmljZS1ib3ggLm9sZC1wcmljZSxcbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLnByaWNlLWJveCAub2xkLXByaWNlIHtcbiAgICAucHJpY2Uge1xuICAgICAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICB9XG59XG5cbi5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2Uge1xuICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG5cbiAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICBjb2xvcjogI0Q4NEQzQztcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFByaWNlIEJveCAtIFRheGVzXG4gKi9cblxuLnByaWNlLWJveCAucHJpY2UtZXhjbHVkaW5nLXRheCxcbi5wcmljZS1ib3ggLnByaWNlLWluY2x1ZGluZy10YXgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zcGFuLndlZWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaWVyIFByaWNlc1xuICovXG5cbi5wcm9kdWN0LXByaWNpbmcsXG4udGllci1wcmljZXMsXG4udGllci1wcmljZXMtZ3JvdXBlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI0ZCRjRERTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTJENEM3O1xuICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG5cbiAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG4gICAgLmJlbmVmaXQge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICAgIC5wcmljZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSXRlbSBPcHRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaXRlbS1vcHRpb25zIHtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgIH1cbn1cblxuLnRydW5jYXRlZCxcbi50cnVuY2F0ZWQgYS5kb3RzIHtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5cbi50cnVuY2F0ZWQgYS5kZXRhaWxzIHtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi50cnVuY2F0ZWQgLnRydW5jYXRlZF9mdWxsX3ZhbHVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzAwO1xufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1hY3Rpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiAgICB0b3A6IDIxcHg7XG4gICAgbGVmdDogLTEwMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWFjdGlvbik7XG4gICAgICAgIGxlZnQ6ICgxMDBweCArIC0zcHgpO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgfVxufVxuXG4udHJ1bmNhdGVkIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSAuaXRlbS1vcHRpb25zID4gcCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50cnVuY2F0ZWQgLnNob3cgLml0ZW0tb3B0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuXG4gICAgLnRydW5jYXRlZCB7XG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcblxuICAgICAgICBhLmRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50cnVuY2F0ZWRfZnVsbF92YWx1ZSB7XG4gICAgICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcmludGVyIEZyaWVuZGx5IFBhZ2VcbiAqL1xuXG4ucGFnZS1wcmludCB7XG4gICAgd2lkdGg6IDYuNWluO1xuICAgIG1hcmdpbjogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBBZGQgdG8gbGlua3NcbiAqL1xuXG4uYWRkLXRvLWxpbmtzIHtcbiAgICBtYXJnaW46ICRlbGVtZW50LXNwYWNpbmcgMDtcblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDBweCAzcHggM3B4O1xuICAgIH1cbn1cblxuLmFkZC10by1saW5rcyAuc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kdWN0IEltYWdlXG4gKi9cblxuLnByb2R1Y3QtaW1hZ2UsXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZTpub3QoLnpvb20tYXZhaWxhYmxlKTpob3ZlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG59XG5cbkBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICBib2R5IC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxufVxuXG4ubm8tdG91Y2ggLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlci1oaWdobGlnaHQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFJhdGluZ3NcbiAqL1xuXG4ucmF0aW5ncyB7XG4gICAgbWFyZ2luOiA3cHggMDtcblxuICAgIC5yYXRpbmctYm94LFxuICAgIC5yYXRpbmctbGlua3Mge1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgIH1cblxuICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjE1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5yYXRpbmctYm94IC5yYXRpbmcge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02MDBweDtcbiAgICB9XG4gICAgLmFtb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xuICAgIH1cblxuICAgIC5yYXRpbmctbGlua3Mge1xuICAgICAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFN0YW5kYXJkIEZvcm1hdHRlZCBUZXh0IEJsb2NrXG4gKi9cblxuLnN0ZCBwIHtcbiAgICBtYXJnaW46IDAgMCAkYi1tYXJnaW4tYm90dG9tO1xufVxuXG4uc3RkIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsIG91dHNpZGU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGItbWFyZ2luLWJvdHRvbTtcbn1cblxuLnN0ZCBvbCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJlbTtcbn1cblxuLnN0ZCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYyBvdXRzaWRlO1xuICAgIG1hcmdpbi1ib3R0b206ICRiLW1hcmdpbi1ib3R0b207XG59XG5cbi5zdGQgdWwgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAyZW07XG59XG5cbi5zdGQgLm5vdGUge1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFRhYnNcbiAqL1xuXG4udGFicyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUb29sYmFyXG4gKi9cblxuLnRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4IDBweCAxMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLnBhZ2VyLW5vLXRvb2xiYXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbn1cblxuLy8gVGhpcyB3aWxsIGFwcGx5IHRvIHRoZSBib3R0b20gdG9vbGJhclxuLnBhZ2VyLW5vLXRvb2xiYXIgfiAucGFnZXItbm8tdG9vbGJhciB7XG4gICAgbWFyZ2luLXRvcDogJGJveC1zcGFjaW5nO1xufVxuXG4udG9vbGJhcixcbi5wYWdlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgY29sb3I6ICRjLXRleHQ7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xufVxuXG4udG9vbGJhciBsYWJlbCxcbi5wYWdlci1uby10b29sYmFyIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQ6IDhweDtcblxuLnNvcnRlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb3J0ZXIgPiAuc29ydC1ieSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgLnNvcnQtYnktc3dpdGNoZXIge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgIH1cbiAgICAuc29ydC1ieS1zd2l0Y2hlci0tYXNjIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCs0cHggKC01NTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCs0cHggKC01NTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc29ydC1ieS1zd2l0Y2hlci0tZGVzYyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtNTc1cHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHgrNHB4ICgtNTc1cHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb3J0ZXIgPiAudmlldy1tb2RlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuZ3JpZCxcbiAgICAubGlzdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICB9XG4gICAgLmdyaWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCAoLTUwMHB4KyR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQpO1xuICAgIH1cbiAgICBzdHJvbmcuZ3JpZCxcbiAgICBhLmdyaWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0ICgtNTAwcHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCk7XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgICAgLy8gV2Ugd2FudCB0aGUgaWNvbiB0byBsaW5lIHVwIHdpdGggdGhlIGNvbnRhaW5lciB3aWR0aCwgc28gd2UgYXJlIGFkZGluZyAzcHhcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCszcHggKC01MjVweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICB9XG4gICAgc3Ryb25nLmxpc3QsXG4gICAgYS5saXN0OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHgrJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldCszcHggKC01MjVweCskdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0KTtcbiAgICB9XG59XG5cbi5wYWdlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmID4gLmNvdW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5hbW91bnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICB9XG5cbiAgICAubGltaXRlciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICAgICAgICYgPiBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hbW91bnQsXG4gICAgLmxpbWl0ZXIsXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxufVxuXG4ucGFnZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5wYWdlcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYWdlcyBhLFxuLnBhZ2VzIC5jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xufVxuXG4ucGFnZXMgLmN1cnJlbnQsXG4ucGFnZXMgLmN1cnJlbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wYWdlcyAubmV4dCxcbi5wYWdlcyAucHJldmlvdXMge1xuICAgIC8vIE5ldyBIUDVCUCB0ZWNobmlxdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdjOWUwM2RkYTRlNDYzZmIwZDRkYjVhNWY4MmQ3XG4gICAgZm9udDogMC8wIGE7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1hY3Rpb247XG4gICAgfVxufVxuXG4ucGFnZXMgLm5leHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgfVxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgJGMtc3RpbXVsdXMpO1xuICAgIH1cbn1cblxuLnBhZ2VzIC5wcmV2aW91cyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShsZWZ0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIH1cbiAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGxlZnQsIDRweCwgJGMtc3RpbXVsdXMpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLy8gT25seSBoaWRlIHRoZSBcImFtb3VudFwiIGVsZW1lbnQgaWYgcGFnZSBoYXMgcGFnaW5hdGlvbiBBTkQgaXMgaW5zaWRlIG9mIHRvb2xiYXIgKHNpbmNlIHdlIG9ubHkgd2FudCBpdCBoaWRpbmcgb24gcHJvZHVjdCBsaXN0aW5nKVxuICAgIC8vIE90aGVyd2lzZSBzaG93IHRoZSBhbW91bnQgc2luY2UgdGhlcmUgaXMgcGxlbnR5IG9mIHNwYWNlXG4gICAgLnBhZ2VyIC5hbW91bnQtLWhhcy1wYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBhZ2VzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGVyZSBhcmUgNSsgcGFnZXMsIGl0IGlzIGltcG9ydGFudCB0byBoaWRlIHRoaXMgbGFiZWwgaW4gb3JkZXIgdG8gbm90IGJyZWFrIHRvIHRocmVlIGxpbmVzXG4gICAgLmxpbWl0ZXIgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLy8gT25lIG9uZSBjb2x1bW4gbGF5b3V0cywgdGhlIHRvb2xiYXIgZG9lc24ndCBoYXZlIHRvIGJyZWFrIHVudGlsIGEgc21hbGxlciB2aWV3cG9ydFxuICAgIC5jb2wxLWxheW91dCB7XG4gICAgICAgIC5zb3J0ZXIsXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlciB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY291bnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG5cbiAgICAuY29sMi1sZWZ0LWxheW91dCxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQsXG4gICAgLmNvbDMtbGF5b3V0IHtcbiAgICAgICAgLnNvcnRlcixcbiAgICAgICAgLnBhZ2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb3VudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAxMjc5cHgpIHtcblxuICAgIC50b29sYmFyIC52aWV3LW1vZGUgPiBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYXggLSBGdWxsIFRheCBTdW1tYXJ5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlLFxuI3Nob3BwaW5nLWNhcnQtdG90YWxzLXRhYmxlLFxuYm9keS5jdXN0b21lci1hY2NvdW50IC5kYXRhLXRhYmxlIHtcbiAgICAuc3VtbWFyeS1jb2xsYXBzZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGRvd24sIDdweCwgJGMtYmx1ZSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoZG93biwgN3B4LCAkYy1zdGltdWx1cyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1kZXRhaWxzIHtcbiAgICAgICAgLnN1bW1hcnktY29sbGFwc2Uge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLWJsdWUpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHVwLCA3cHgsICRjLXN0aW11bHVzKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ2VudGVyIHRoZSBhcnJvdywgYXMgdGhlIGZvbnQgaXMgbGFyZ2VyIGluIHRmb290XG4jc2hvcHBpbmctY2FydC10b3RhbHMtdGFibGUgdGZvb3QgdGQgLnN1bW1hcnktY29sbGFwc2Uge1xuICAgICY6YmVmb3JlLFxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTWFnZW50byBIZWxwZXJzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmEtcmlnaHQsXG4uYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubm9icixcbi5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFByaW50IFN0eWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhZ2UtcHJpbnQgLnByaW50LWhlYWQge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG59XG5cbi5wYWdlLXByaW50IC5wcmludC1oZWFkIC5sb2dvIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBBY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnRuLXByaW1hcnkge1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMHB4IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgY29sb3I6ICRibGFjayA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxufVxuLmJ0bi1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGFjdGlvbi1zZWNvbmRhcnk7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgI2NyZWRpdHMtcG9wdXAgdWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpID4gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuN2VtO1xuICAgIGNvbG9yOiAkYy1oMTtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgZm9udC13ZWlnaHQ6ICRmLXdlaWdodC1yZWd1bGFyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5AbWl4aW4gaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAkYy1oMztcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWl4aW4gaDQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAkYy1oNDtcbiAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1peGluIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogJGMtaDU7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiBoNiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBjb2xvcjogJGMtaDY7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtaXhpbiBwYWdlVGl0bGUoKSB7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgIGZvbnQtd2VpZ2h0OiAkZi13ZWlnaHQtcmVndWxhcjtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiAtIE5vdCBTZWxlY3RhYmxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG5vdC1zZWxlY3RhYmxlIHtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG5AbWl4aW4gdGFicygpIHtcbiAgICAudG9nZ2xlLXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRyaW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkuY3VycmVudCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLmN1cnJlbnQgc3BhbixcbiAgICAgICAgbGk6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICAvL2NvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiBkdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICA+IGRkLmN1cnJlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhY2NvcmRpb25EdEJhc2UoJGFycm93LWRpcmVjdGlvbjogJ2Rvd24nLCAkYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyKSB7XG4gICAgQGluY2x1ZGUgaDQ7XG4gICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZzogN3B4IDEwcHggN3B4IDI0cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKCN7JGFycm93LWRpcmVjdGlvbn0sIDRweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbn1cblxuQG1peGluIGFjY29yZGlvbigpIHtcbiAgICAudG9nZ2xlLXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgID4gZGwge1xuICAgICAgICA+IGR0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbkR0QmFzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYWNjb3JkaW9uQ29sbGFwc2UoKSB7XG4gICAgPiBkbCB7XG4gICAgICAgID4gZHQge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gZGQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjb3JkaW9uLW9wZW4ge1xuICAgICAgICA+IGRsIHtcbiAgICAgICAgICAgID4gZHQge1xuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShkb3duLCA0cHgsICRjLWFjdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRkLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIC0gVHJpYW5nbGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbjogdXAsICRzaXplOiA1cHgsICRjb2xvcjogIzAwMDAwMCkge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjb2xvcnMgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvY29yZS9saWIvY29tcGFzcy9jb3JlL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY29sb3JzLnJiXG4vL1xuXG4vLyBhIGdlbmVyaWNpemVkIHZlcnNpb24gb2YgbGlnaHRlbi9kYXJrZW4gc28gdGhhdCBuZWdhdGl2ZSB2YWx1ZXMgY2FuIGJlIHVzZWQuXG5AZnVuY3Rpb24gYWRqdXN0LWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGFkanVzdC1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIGxpZ2h0bmVzcyBieSBzb21lIHBlcmNlbnRhZ2UuXG4vLyBJZiB0aGUgYW1vdW50IGlzIG5lZ2F0aXZlLCB0aGUgY29sb3IgaXMgc2NhbGVkIGRhcmtlciwgaWYgcG9zaXRpdmUsIGl0IGlzIHNjYWxlZCBsaWdodGVyLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgbGlnaHQgb3IgZGFyayBjb2xvciB1bmxlc3MgdGhlIGFtb3VudCBpcyAxMDAlLlxuQGZ1bmN0aW9uIHNjYWxlLWxpZ2h0bmVzcygkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGFtb3VudCk7XG59XG5cbi8vIGEgZ2VuZXJpY2l6ZWQgdmVyc2lvbiBvZiBzYXR1cmF0ZS9kZXNhdHVyYXRlIHNvIHRoYXQgbmVnYXRpdmUgdmFsdWVzIGNhbiBiZSB1c2VkLlxuQGZ1bmN0aW9uIGFkanVzdC1zYXR1cmF0aW9uKCRjb2xvciwgJGFtb3VudCkge1xuICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG4vLyBTY2FsZXMgYSBjb2xvcidzIHNhdHVyYXRpb24gYnkgc29tZSBwZXJjZW50YWdlLlxuLy8gSWYgdGhlIGFtb3VudCBpcyBuZWdhdGl2ZSwgdGhlIGNvbG9yIGlzIGRlc2F0dXJhdGVkLCBpZiBwb3NpdGl2ZSwgaXQgaXMgc2F0dXJhdGVkLlxuLy8gVGhpcyB3aWxsIG5ldmVyIHJldHVybiBhIHB1cmUgc2F0dXJhdGVkIG9yIGRlc2F0dXJhdGVkIGNvbG9yIHVubGVzcyB0aGUgYW1vdW50IGlzIDEwMCUuXG5AZnVuY3Rpb24gc2NhbGUtc2F0dXJhdGlvbigkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJHNhdHVyYXRpb246ICRhbW91bnQpO1xufVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgIEByZXR1cm4gbWl4KCMwMDAwMDAsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gICAgQHJldHVybiBtaXgoI2ZmZmZmZiwgJGNvbG9yLCAkcGVyY2VudGFnZSk7XG59XG5cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiAtIEltYWdlIFJlcGxhY2VtZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gaHR0cDovL3d3dy56ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50L1xuLy8gaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL2Fub3RoZXItY3NzLWltYWdlLXJlcGxhY2VtZW50LXRlY2huaXF1ZS9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy8xMDA1I2lzc3VlY29tbWVudC00OTQ3NzAyXG5cbkBtaXhpbiBpbWFnZS1yZXBsYWNlbWVudCB7XG4gICAgLy8gTm90ZTogdGhpcyB0ZWNobmlxdWUgaGFzIGlzc3VlcyBvbiBBbmRyb2lkIDMueFxuICAgIC8vIEFuIGFsdGVybmF0aXZlIHRoYXQgcmVxdWlyZXMgdGhlIDpiZWZvcmUgZ2VuZXJhdGVkIGNvbnRlbnQgd2FzIGFkZGVkIHRvIEg1QlBcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL2Nzcy9tYWluLmNzc1xuXG4gICAgLy9jb2xvcjp0cmFuc3BhcmVudDsgZm9udDowLzAgYTsgdGV4dC1zaGFkb3c6bm9uZTsgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuXG4gICAgLy8gVGhlIHNpbXBsZXN0IG9wdGlvbiByZW1haW5zIHVzaW5nIHRleHQtaW5kZW50Oi05OTk5cHggZGVzcGl0ZSB0aGUgcGVyZm9ybWFuY2UgZHJhd2JhY2tcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cblxuLy8gVW5kbyB0aGUgcmVwbGFjZW1lbnQgZm9yIGNoaWxkIGVsZW1lbnRzXG5cbkBtaXhpbiBpbWFnZS1yZXBsYWNlbWVudC1vdmVycmlkZSB7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBJZi1SZXNvbHV0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRnJvbSBodHRwOi8vYmxvZy4xNGlzbGFuZHMuY29tL3Bvc3QvMzcyNTk2MDMyNDYvc2Fzcy1yZXNvbHV0aW9uLW1peGluXG5cbkBtaXhpbiBpZi1taW4tcmVzb2x1dGlvbigkZHBweCkge1xuICAgIEBpbmNsdWRlIGlmLXJlc29sdXRpb24obWluLCAkZHBweCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBpZi1tYXgtcmVzb2x1dGlvbigkZHBweCkge1xuICAgIEBpbmNsdWRlIGlmLXJlc29sdXRpb24obWF4LCAkZHBweCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBpZi1yZXNvbHV0aW9uKCRwcmVmaXgsICRkcHB4KSB7XG4gICAgLy8gMXB4ID0gOTZkcGlcbiAgICAkZHBpOiAkZHBweCAqIDk2O1xuICAgIEBtZWRpYVxuICAgICgtd2Via2l0LSN7JHByZWZpeH0tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRkcHB4fSksXG4gICAgKCAgICN7JHByZWZpeH0tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICN7JGRwcHh9KSxcbiAgICAoICAgICAtby0jeyRwcmVmaXh9LWRldmljZS1waXhlbC1yYXRpbzogI3skZHBweCoyfS8yKSxcbiAgICAoICAgICAgICAjeyRwcmVmaXh9LWRldmljZS1waXhlbC1yYXRpbzogI3skZHBweH0pLFxuICAgICggICAgICAgICAgICAgICAgI3skcHJlZml4fS1yZXNvbHV0aW9uOiAjeyRkcGl9ZHBpKSxcbiAgICAoICAgICAgICAgICAgICAgICN7JHByZWZpeH0tcmVzb2x1dGlvbjogI3skZHBweH1kcHB4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVXNhZ2UgZXhhbXBsZTpcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vLyBSZW5kZXJzIG9uIHNjcmVlbnMgd2l0aCA+PSAyIHJlc29sdXRpb25cbi8vQGluY2x1ZGUgaWYtbWluLXJlc29sdXRpb24gKDIpIHtcbi8vICAgIGRpdiB7IGNvbG9yOiMwMDA7IH1cbi8vfVxuLy9cbi8vLy8gUmVuZGVycyBvbiBzY3JlZW5zIHdpdGggPj0gMS41IHJlc29sdXRpb25cbi8vQGluY2x1ZGUgaWYtbWluLXJlc29sdXRpb24gKDEuNSkge1xuLy8gICAgZGl2IHsgY29sb3I6IzAwMDsgfVxuLy99XG4vL1xuLy8vLyBSZW5kZXJzIG9uIHNjcmVlbnMgd2l0aCA8PSAxLjUgcmVzb2x1dGlvblxuLy9AaW5jbHVkZSBpZi1tYXgtcmVzb2x1dGlvbiAoMS41KSB7XG4vLyAgICBkaXYgeyBjb2xvcjojMDAwOyB9XG4vL31cbi8vXG4vLy8vIFJlbmRlcnMgb24gc2NyZWVucyB3aXRoIDw9IDIgcmVzb2x1dGlvblxuLy9AaW5jbHVkZSBpZi1tYXgtcmVzb2x1dGlvbiAoMikge1xuLy8gICAgZGl2IHsgY29sb3I6IzAwMDsgfVxuLy99XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiwiQG1peGluIHBhZ2UtZnVsbC13aWR0aCgpIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xufVxuXG5AbWl4aW4gYmxvY2staXRhbGljLXRpdGxlKCkge1xuICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHhsO1xufVxuXG5AbWl4aW4gYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlKCkge1xuICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGxldHRlci1zcGFjaW5nOiAxLjgycHg7XG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5AbWl4aW4gcGFyYWdyYXBoLWJsb2NrLXRpdGxlKCkge1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuQG1peGluIGFjdGlvbi1zZWNvbmRhcnkoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgY29sb3I6ICRibGFjaztcbiAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHdpZHRoOiAxNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBhY3Rpb24tcHJpbWFyeSgpIHtcbiAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICBjb2xvcjogJGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIENTUyBvcGFjaXR5LiBUYWtlcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEgYXMgdGhlIGFyZ3VtZW50LCBlLmcuIDAuNSBmb3IgNTAlIG9wYWNpdHkuXG4vL1xuLy8gICAgIEBwYXJhbSAkb3BhY2l0eVxuLy8gICAgICAgICBBIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsIHdoZXJlIDAgaXMgdHJhbnNwYXJlbnQgYW5kIDEgaXMgb3BhcXVlLlxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gIH1cbiAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IHRyYW5zcGFyZW50LlxuQG1peGluIHRyYW5zcGFyZW50IHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuXG4vLyBNYWtlIGFuIGVsZW1lbnQgY29tcGxldGVseSBvcGFxdWUuXG5AbWl4aW4gb3BhcXVlIHsgQGluY2x1ZGUgb3BhY2l0eSgxKTsgfVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBGT1JNUyAtIENPTU1PTlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogRmllbGRzZXRzXG4gKi9cblxuLmZpZWxkc2V0IHtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuICAgIHAucmVxdWlyZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxufVxuXG4uZmllbGRzZXQgKyAuZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6ICgkZ2FwIC8gMik7XG59XG5cbmZvcm0gLmxlZ2VuZCB7XG4gICAgLy9AaW5jbHVkZSBoMztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG59XG5cbmZvcm0gLmJ1dHRvbnMtc2V0IHtcbiAgICBtYXgtd2lkdGg6ICRib3gtbWF4LXdpZHRoO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJbnB1dCBCb3hcbiAqL1xuXG4uaW5wdXQtYm94IHtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxubGkuY2VudGluZWwtbG9nb3MgZGl2LmlucHV0LWJveCAge1xuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cblxuLyogRm9yIGFkamFjZW50IHNlbGVjdCBpbnB1dHMuICovXG4vKiBFeGFtcGxlOiBjcmVkaXQgY2FyZCBleHBpcmF0aW9uIG1vbnRoIGFuZCB5ZWFyLiAqL1xuLmlucHV0LWJveCAudi1maXgge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTGFiZWxzXG4gKi9cblxuZm9ybSBsYWJlbCB7XG4gICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xufVxuXG5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBAaW5jbHVkZSBub3Qtc2VsZWN0YWJsZTtcbn1cblxubGFiZWwucmVxdWlyZWQ6YWZ0ZXIsXG5zcGFuLnJlcXVpcmVkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnIConO1xuICAgIC8vY29sb3I6ICRjLWRhbmdlcjtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xufVxuXG5sYWJlbC5yZXF1aXJlZCBlbSxcbnNwYW4ucmVxdWlyZWQgZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEhpbnRzXG4gKi9cblxuLmlucHV0LWhpbnQge1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWxlY3RcbiAqL1xuXG5zZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuc2VsZWN0ICsgc2VsZWN0IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgICB3aWR0aDogMjcwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVGV4dGFyZWFcbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXRzXG4gKi9cblxuLmlucHV0LXRleHQge1xuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWlucHV0LWJvcmRlci1mb2N1cztcbiAgICB9XG59XG5cbi5pbnB1dC10ZXh0LnZhbGlkYXRpb24tZmFpbGVkIHtcbiAgICBib3JkZXItY29sb3I6ICRjLWRhbmdlcjtcbn1cblxuLy8gQ29sb3IgdGhlIG91dGxpbmUgZm9yIGZvY3VzZWQgZmllbGRzIGluIENocm9tZSwgb3IgZWxzZSB0aGUgZGVmYXVsdCBibHVlIGRyb3ducyBvdXQgdGhlIDFweCByZWQgYm9yZGVyXG4uaW5wdXQtdGV4dC52YWxpZGF0aW9uLWZhaWxlZDpmb2N1cyB7XG4gICAgb3V0bGluZS1jb2xvcjogdGludCgkYy1kYW5nZXIsIDUwJSk7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG59XG5cbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1zZWFyY2hdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXRleHRdIHtcbiAgICAvL3dpZHRoOiAoMjMwcHggKyAxMzVweCk7XG4gICAgd2lkdGg6ICRib3gtbWF4LXdpZHRoO1xuICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiBPbmx5IHNob3cgb24gaVBob25lcyAobm90IGlQYWRzIG9yIGFueSBvdGhlciBkZXZpY2UpICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA1NjhweCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgICBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0sXG4gICAgaW5wdXRbdHlwZT1udW1iZXJdLFxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICAgIGlucHV0W3R5cGU9dGVsXSxcbiAgICBpbnB1dFt0eXBlPXRleHRdLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgLyogUHJldmVudCBmcm9tIHpvb21pbmcgb24gZm9jdXMgKi9cbiAgICB9XG59XG5cbi5pZTggLmlucHV0LXRleHQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogSW5wdXRzIC0gUXVhbnRpdHlcbiAqL1xuXG5pbnB1dFt0eXBlPW51bWJlcl0ucXR5LFxuaW5wdXRbdHlwZT10ZXh0XS5xdHkge1xuICAgIHdpZHRoOiAzZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGMtaW5wdXQtcGxhY2Vob2xkZXI7XG59XG5cbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkYy1pbnB1dC1wbGFjZWhvbGRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ2hlY2tib3ggQW5kIFJhZGlvXG4gKi9cblxuLmNoZWNrYm94LFxuLnJhZGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNoZWNrYm94ICsgbGFiZWwsXG4ucmFkaW8gKyBsYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgcGFkZGluZzogMCAwIDAgOHB4O1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFZhbGlkYXRpb25cbiAqL1xuXG5wLnJlcXVpcmVkLFxuLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgY29sb3I6ICRjLWRhbmdlcjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBGb3JtIExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb3JtLWxpc3Qge1xuICAgIG1heC13aWR0aDogJGJveC1tYXgtd2lkdGg7XG4gICAgJiA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHdpZHRoOiAoMjMwcHggKyAxMzVweCk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaW5wdXQtcmFuZ2UgLmlucHV0LXRleHQge1xuICAgICAgICB3aWR0aDogNzRweDtcbiAgICB9XG5cbiAgICAuZmllbGQsXG4gICAgLndpZGUsXG4gICAgLmNvbnRyb2wge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuLyogVHVybiB0aGUgbGFiZWwgb2YgY29udHJvbHMgKHJhZGlvL2NoZWNrYm94KSBpbnRvIGEgYnV0dG9uIHN0eWxlIHRoYXQgd3JhcHMgdGhlIGlucHV0ICovXG4uZm9ybS1saXN0IC5jb250cm9sLFxuLnNwLW1ldGhvZHMgZHQsXG4jY2hlY2tvdXQtc2hpcHBpbmctbWV0aG9kLWxvYWQgLnNwLW1ldGhvZHMgZGQsXG4jY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQsXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCB7XG5cbiAgICBkaXYuaW5wdXQtYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5yYWRpbyxcbiAgICBpbnB1dC5jaGVja2JveCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdG91Y2gtYnV0dG9uO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweCA2cHggMjBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogV2hlbiBhIGxhYmVsIGlzIG5leHQgdG8gYW4gaW5wdXQgdGhhdCBpcyBzZXQgdG8gbm90IGRpc3BsYXksIHdlIHNob3VsZCBzdHlsZSB0aGUgbGFiZWwgaW4gYSBub24tY2xpY2thYmxlIHN0YXRlICovXG4gICAgLm5vLWRpc3BsYXkgKyBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsYWJlbCxcbi5jb2wyLXNldCAuZm9ybS1saXN0IC5jb250cm9sIGxhYmVsIHtcbiAgICBtaW4td2lkdGg6IGluaGVyaXQ7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbC5yZW1lbWJlci1tZS1ib3gge1xuICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWluLXdpZHRoOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLmZvcm0tbGlzdCAuY29udHJvbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICB9XG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIH1cbiAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5mb3JtIHtcbiAgICAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTZWxlY3QgMlxuICovXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xuICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VsZWN0Mi1yZXN1bHRzPi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICAgICAgICAvLy5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIC8vICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC8vfVxuICAgIH1cbn1cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9cGFzc3dvcmRdLCBpbnB1dFt0eXBlPXRlbF0sIGlucHV0W3R5cGU9ZmF4XSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBJbmxpbmUgUmFkaW8gQm94XG4gKi9cblxuLnJhZGlvLWJveCB7XG4gICAgJi5pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5yYWRpby1idXR0b24ge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgfVxuICAgIC5yYWRpby1idXR0b24gbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFRhYmxlIEhlbHBlcnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oaWRlLXRoIHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogRGF0YSBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlLWNhcHRpb24ge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5kYXRhLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmRhdGEtdGFibGUgdGQsXG4uZGF0YS10YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZGF0YS10YWJsZSB0aCB7XG4gICAgYmFja2dyb3VuZDogJGMtdGFibGUtYmFja2dyb3VuZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbn1cblxuLmRhdGEtdGFibGUgdGhlYWQgdGgsXG4uZGF0YS10YWJsZSB0Ym9keSB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXRhYmxlLWJvcmRlcjtcbn1cblxuLmRhdGEtdGFibGUgdGJvZHkgdGQsXG4uZGF0YS10YWJsZSB0Zm9vdCB0ZCB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG59XG5cbi5kYXRhLXRhYmxlIHRmb290IHRyIHtcbiAgICAvL2JhY2tncm91bmQ6ICRjLXRhYmxlLWJhY2tncm91bmQ7XG59XG5cbi5kYXRhLXRhYmxlIHRib2R5IHRkIC5pdGVtLW9wdGlvbnMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICBkdDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdlbmVyaWMgSW5mbyBUYWJsZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmluZm8tYm94IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxufVxuXG4uaW5mby10YWJsZSB0aCxcbi5pbmZvLXRhYmxlIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uaW5mby10YWJsZSB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogNHB4IDIwcHggNHB4IDA7XG59XG5cbi5pbmZvLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiA0cHggMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogWmVicmEtU3RyaXBlIFRhYmxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uemVicmEtdGFibGUge1xuICAgIHRyOmZpcnN0LWNoaWxkLFxuICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLXRhYmxlLWJvcmRlcjtcbiAgICB9XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10YWJsZS16ZWJyYS1ldmVuO1xuICAgIH1cblxuICAgIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGFibGUtemVicmEtb2RkO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGluZWFyaXplIFRhYmxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gbGluZWFyaXplLXRhYmxlIHtcblxuICAgIHRyLFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgdGhlYWQgdGgge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cblxuICAgIHRoZWFkIHRoLmxpbi1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0aGVhZCB0aDpudGgtY2hpbGQoMW4rMikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRib2R5IHRyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCA0cHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZC5saW4taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZDpmaXJzdC1jaGlsZCxcbiAgICB0Ym9keSB0ZDpmaXJzdC1jaGlsZCBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIHRib2R5IHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ZFtkYXRhLXJ3ZC1sYWJlbF06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXJ3ZC1sYWJlbCkgXCI6XCI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHRmb290IHRyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIHRmb290IHRyOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB9XG5cbiAgICB0Zm9vdCB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICB0Zm9vdCB0ZC5saW4taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGZvb3QgdGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMy81KTtcbiAgICB9XG5cbiAgICB0Zm9vdCB0ZDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyLzUpO1xuICAgIH1cblxuICAgIC8qIEhlbHBlcnMgKi9cblxuICAgIC5saW5lYXJpemUtaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxpbmVhcml6ZS11bnBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmxpbmVhcml6ZS1zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAubGluZWFyaXplLXRhYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyaXplLXRhYmxlO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAubGluZWFyaXplLXRhYmxlLWxhcmdlIHtcbiAgICAgICAgQGluY2x1ZGUgbGluZWFyaXplLXRhYmxlO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtc21hbGwgKyAxKSB7XG4gICAgLmxpbmVhcml6ZS10YWJsZSAubGluZWFyaXplLWNvbGxhcHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEdsb2JhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCxcbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICYucG9wdXBvcGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbi53cmFwcGVyIHtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLndyYXBwZXI6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgLSBDdXN0b20gU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2hvdy1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4ucGFnZS1oZWFkZXItY29udGFpbmVyIHtcbiAgICAjaGVhZGVyLW5hdiB7XG4gICAgICAgIC5hc3Npc3RhbmNlLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICNoZWFkZXItYXNzaXN0YW5jZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC5hc3Npc3RhbmNlLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNoYXQtbGluaywgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhsYXJnZSArIDEpIHtcblxuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIge1xuICAgICAgICAjaGVhZGVyLWFzc2lzdGFuY2Uge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucGFnZS1oZWFkZXIge1xuICAgIC8vbWF4LXdpZHRoOiAkbWF4LWNvbnRhaW5lci13aWR0aDtcbiAgICAvL21hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIC8vcGFkZGluZzogMCAkdHJpbTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR0cmltLXNtYWxsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR0cmltLXNtYWxsO1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC14bGFyZ2UgKyAxKSB7XG5cbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTNweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250YWluZXItd2lkdGg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxufVxuXG4uaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lcixcbi5wYWdlLWhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIExhbmd1YWdlIHN3aXRjaGVyICsgd2VsY29tZSBtZXNzYWdlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAuaGVhZGVyLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1jb250ZW50LXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuZm9ybS1sYW5ndWFnZSxcbiAgICAuY3VycmVuY3ktc3dpdGNoZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgIH1cblxuICAgIC53ZWxjb21lLW1zZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIHBhZGRpbmc6IDEzcHggMTVweCAxMHB4IDEwcHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIgLnN0b3JlLWxhbmd1YWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIC8vIFNldHRpbmcgdGhpcyBmb250LXNpemUgd2lsbCBjYXVzaW5nIHpvb21pbmcgb24gaU9zIGRldmljZXMsIGJ1dCBpdCBrZWVwcyBoZWFkZXIgbW9yZSB0aWR5XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCxcbi5oZWFkZXItbGFuZ3VhZ2UtYmFja2dyb3VuZCBhIHtcbiAgICBjb2xvcjogJGMtdGV4dC13aGl0ZTtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuaGVhZGVyLWxhbmd1YWdlLWJhY2tncm91bmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMb2dvXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubG9nby1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvL21pbi13aWR0aDogMjAwcHg7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAvL3dpZHRoOiA2NSU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIC8vbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyMnB4ICRnYXAgMHB4IDBweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTc1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxhcmdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nbzpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG5cbiAgICAudmVyc2lvbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICB9XG4gICAgfVxuXG59XG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSArIDEpIHtcblxuICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMycHggMTBweCAwcHggMHB4O1xuXG4gICAgICAgICAgICAuc21hbGwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYXJnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAteGxhcmdlICsgMSkge1xuXG4gICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTa2lwIExpbmtzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1saW5rcywgLmFjY291bnQtbGluayB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFREVERUQ7XG4gICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VERURFRDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5za2lwLWxpbmtzIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAteGxhcmdlICsgMSkge1xuXG4gICAgLnNraXAtbGlua3Mge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCAtIExpbmtcbiAqL1xuXG4uc2tpcC1saW5rLCAuYWNjb3VudC1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBjb2xvcjogJGMtdGV4dDtcbiAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmEuc2tpcC1saW5rLCBhLmFjY291bnQtbGluayB7XG4gICAgLy90ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgIC8vbWFyZ2luLXJpZ2h0OiAzMHB4O1xufVxuXG4uc2tpcC1saW5rOm5vdCguc2tpcC1hY3RpdmUpOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC8vLnNraXAtbGluayB7XG4gICAgLy8gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VERURFRDtcbiAgICAvL31cblxuICAgIC5za2lwLWxpbms6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG5cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgNTAwcHgpIHtcblxuICAgIC5za2lwLWxpbmssIC5hY2NvdW50LWxpbmsge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBBY3RpdmVcbiAqL1xuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAjRURFREVEO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIHNwYW4ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gSWNvblxuICovXG5cbi5za2lwLWxpbmsgLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNraXAtbGluay5za2lwLW5hdiAuaWNvbixcbi5za2lwLWxpbmsuc2tpcC1jYXJ0Om5vdCgubm8tY291bnQpIC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA1MDBweCkge1xuXG4gICAgLnNraXAtbGluayAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBMYWJlbFxuICovXG5cbi5za2lwLWxpbmssIC5hY2NvdW50LWxpbmsge1xuICAgIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDUwMHB4KSB7XG5cbiAgICAuc2tpcC1saW5rLCAuYWNjb3VudC1saW5rIHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTa2lwIENvbnRlbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5za2lwLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5za2lwLWNvbnRlbnQuc2tpcC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2xvYmFsIEhlYWRlciBOYXZpZ2F0aW9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMaW5rXG5cbiAgICAjaGVhZGVyLWFjY291bnQgbGkgYSxcbiAgICAubmF2LXByaW1hcnkgYS5sZXZlbDAge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAyNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRlci1hY2NvdW50IGxpOmxhc3QtY2hpbGQgYSxcbiAgICAubmF2LXByaW1hcnkgbGkubGV2ZWwwOmxhc3QtY2hpbGQgYS5sZXZlbDAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5uby10b3VjaCAjaGVhZGVyLWFjY291bnQgYTpob3ZlcixcbiAgICAubm8tdG91Y2ggLm5hdi1wcmltYXJ5IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAucGFnZS1oZWFkZXItY29udGFpbmVyIC5za2lwLWxpbmtzIC5hY2NvdW50LWNhcnQtd3JhcHBlciAuaGVhZGVyLW1pbmljYXJ0ICNoZWFkZXItY2FydC5ibG9jay1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy93aWR0aDogMTAwdnc7XG4gICAgICAgIC8vbGVmdDogNTAlO1xuICAgICAgICAvL3JpZ2h0OiA1MCU7XG4gICAgICAgIC8vbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgICAgICAvL21hcmdpbi1yaWdodDogLTUwdnc7XG4gICAgICAgIC5taW5pY2FydC1ib3R0b20tYmxvY2sge1xuICAgICAgICAgICAgLy93aWR0aDogMTAwdnc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uYWNjb3VudC1jYXJ0LXdyYXBwZXIge1xuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vdG9wOjBweDtcbiAgICAvL3JpZ2h0OjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAmLmNhcnQtb3BlbmVkIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UpIHtcbiAgICAjaGVhZGVyLW5hdiB7XG4gICAgICAgICNuYXYge1xuICAgICAgICAgICAgLm5hdi1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGEubGV2ZWwwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEhlYWRlciBtb2JpbGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5za2lwLWxpbmsuc2tpcC1uYXYge1xuICAgIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lbnUtaWNvbi5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkge1xuICAgIC5wYWdlLWhlYWRlci1jb250YWluZXIge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICNoZWFkZXItbmF2IHtcbiAgICAgICAgICAgIHdpZHRoOiA3MSU7XG4gICAgICAgICAgICAjbmF2IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2tpcC1saW5rcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC5hY2NvdW50LWNhcnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjaGVhZGVyLWFzc2lzdGFuY2Uge1xuICAgICAgICAgICAgZmxleC1ncm93OiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICAuc2hvdy1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmhpZGUtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgICAgICAjaGVhZGVyLWFzc2lzdGFuY2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2tpcC1zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2VhcmNoLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoLWljb24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2tpcC1saW5rcyB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgLnNraXAtbGluaywgLmFjY291bnQtbGluayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2tpcC1jYXJ0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxM3B4O1xuICAgICAgICAgICAgICAgIC5jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgLy93aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgLy9oZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjY291bnQtbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY2NvdW50LWNhcnQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgICAgICAgICAgICAgICAgIC5ibG9jay1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy93aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL2xlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1pbmljYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXJ0LWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hY2NvdW50LWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5za2lwLW5hdiB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICYuc2tpcC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UtaWNvbi5zdmdcIik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAvL3dpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5za2lwLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI2hlYWRlci1uYXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgI25hdiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAgICAgLm5hdi1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmxldmVsMCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hc3Npc3RhbmNlLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9zcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hc3Npc3RhbmNlLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvb3Rlcl9fcmlnaHQtc3RvcmVzd2l0Y2gge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLnBhZ2UtaGVhZGVyLWNvbnRhaW5lciAuc2tpcC1saW5rcyAuYWNjb3VudC1jYXJ0LXdyYXBwZXIgLmhlYWRlci1taW5pY2FydCAuYmxvY2stY2FydC5za2lwLWFjdGl2ZSAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOYXYgLSBDdXN0b20gU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaGVhZGVyLW5hdiB7XG4gICAgI25hdiB7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIC5uYXYtcHJpbWFyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBsaS5sZXZlbDAuZmlyc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOYXYgLSBTa2lwIExpbmtcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5za2lwLW5hdiB7XG4gICAgd2lkdGg6IDQwJTtcblxuICAgICY6bm90KC5za2lwLWFjdGl2ZSk6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCs0cHggKCR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQvMik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5za2lwLW5hdiAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnNraXAtbmF2IC5pY29uIHtcbiAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwKzRweCAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgNTAwcHgpIHtcblxuICAgIC5za2lwLW5hdiB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSArIDEpIHtcblxuICAgIC5za2lwLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIE5hdiAtIFNraXAgQ29udGVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcblxuICAgICNoZWFkZXItbmF2IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgfVxuXG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSArIDEpIHtcblxuICAgICNoZWFkZXItbmF2IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8qIEZvcmNlIHZpc2liaWxpdHkgKi9cbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTmF2IFByaW1hcnlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLWxhcmdlICsgMSkge1xuICAgIC5uYXYtcHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBHZW5lcmFsIE5hdmlnYXRpb24gU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kbmF2LXByaW1hcnktaGVpZ2h0OiA0MHB4O1xuXG4ubmF2LXByaW1hcnkge1xuICAgIGEge1xuICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgIC8vbGluZS1oZWlnaHQ6ICRuYXYtcHJpbWFyeS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGxpLmxldmVsMSBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgfVxufVxuXG4vLyBTaG93IHN1Yi1tZW51cyB3aGVuIEpTIGFkZHMgdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXNcbi5uYXYtcHJpbWFyeSAubWVudS1hY3RpdmUgPiB1bC5sZXZlbDAsXG4ubmF2LXByaW1hcnkgbGkubGV2ZWwwIGxpLnN1Yi1tZW51LWFjdGl2ZSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1wcmltYXJ5IGxpLmxldmVsMCA+IGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU21hbGwgVmlld3BvcnRzIC0gQWNjb3JkaW9uIFN0eWxlIE1lbnVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG5cbiAgICAubmF2LXByaW1hcnkge1xuXG4gICAgICAgIC8vIEluY3JlYXNlIGNsaWNrYWJsZSBhcmVhIG9mIGFuY2hvcnMgZm9yIHNtYWxsIHZpZXdwb3J0c1xuICAgICAgICBhLmxldmVsMCxcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWhlaWdodCArIDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZGUgYWxsIHN1Yi1tZW51c1xuICAgICAgICBsaS5sZXZlbDAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluZGVudCBzdWItbWVudXNcbiAgICAgICAgbGkubGV2ZWwwIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5sZXZlbDEgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkucGFyZW50ID4gYTphZnRlciB7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIHRyaWFuZ2xlKHJpZ2h0LCA1cHgsICNjY2MpO1xuICAgICAgICAgICAgLy90b3A6IDUwJTtcbiAgICAgICAgICAgIC8vbGVmdDogMTBweDtcbiAgICAgICAgICAgIC8vcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNZW51IGFjdGl2ZSBzdGF0ZXNcbiAgICAgICAgbGkucGFyZW50LnN1Yi1tZW51LWFjdGl2ZSA+IGE6YWZ0ZXIsXG4gICAgICAgIGxpLnBhcmVudC5tZW51LWFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoZG93biwgNXB4LCAjY2NjKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLm1lbnUtYWN0aXZlID4gYSxcbiAgICAgICAgbGkuc3ViLW1lbnUtYWN0aXZlID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBMYXJnZSBWaWV3cG9ydHMgLSBEcm9wZG93biBNZW51XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAubmF2LXByaW1hcnkge1xuXG4gICAgICAgIGEubGV2ZWwwIHtcbiAgICAgICAgICAgIC8vcGFkZGluZzogMCAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkubGV2ZWwwLFxuICAgICAgICBhLmxldmVsMCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaTpsYXN0LWNoaWxkID4gYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWFjdGl2ZSB7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgMSsgZHJvcC1kb3duIG1lbnVzICovXG4gICAgICAgIGxpLmxldmVsMCB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogJG5hdi1wcmltYXJ5LWhlaWdodDsgLyogSGVpZ2h0IG9mIFwiLm5hdi1wcmltYXJ5IGEubGV2ZWwwXCIgKi9cbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvKiBIaWRlIHVudGlsIGRpc3BsYXllZC4gKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExldmVsIDIrICovXG4gICAgICAgIGxpLmxldmVsMSB1bCB7XG4gICAgICAgICAgICBsZWZ0OiA2MHB4O1xuICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQ2xhc3MgZm9yIGpzIHRvIGFkZCBicmllZmx5IHRvIGV2YWx1YXRlIGVsZW1lbnQgcG9zaXRpb25pbmcuICovXG4gICAgICAgIGxpLmxldmVsMCB1bC5sZXZlbDAucG9zaXRpb24tdGVzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENvcnJlY3QgbWVudXMgdGhhdCB3aWxsIGhhbmcgb2ZmIHRoZSBwYWdlIChjbGFzcyBhZGRlZCBieSBqcykgKi9cbiAgICAgICAgbGkubGV2ZWwwIHVsLmxldmVsMC5zcGlsbCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgIC8vIFN1Yi1tZW51IGRyb3AgZG93biB0byB0aGUgbGVmdFxuICAgICAgICAgICAgbGkubGV2ZWwxIHVsIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIExldmVsIDErICovXG4gICAgICAgIGxpLmxldmVsMCBsaS5wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgI2NjYyk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2LXByaW1hcnkgbGkubWVudS1hY3RpdmUge1xuICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gLSBNZW51XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNGQkZCRkI7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtbW9kdWxlLWJvcmRlcjtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBMaW5rXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1zZWFyY2gge1xuXG4gICAgJjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MCs0cHggKC0xNTBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDArNHB4ICgtMTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuXG4gICAgLnNraXAtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gU2tpcCBDb250ZW50XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jaGVhZGVyLXNlYXJjaCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICAjc2VhcmNoX21pbmlfZm9ybSB7XG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSArIDEpIHtcblxuICAgICNoZWFkZXItc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIEZvcmNlIHZpc2liaWxpdHlcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vdG9wOiAwcHg7XG4gICAgICAgIC8vcmlnaHQ6IDA7XG4gICAgICAgIC8vd2lkdGg6IDI1JTtcbiAgICAgICAgLy9oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDI2cHg7XG4gICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICB9XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIElucHV0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jc2VhcmNoX21pbmlfZm9ybSAuaW5wdXQtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWluLXdpZHRoOiAyNTBweDtcbn1cblxuI3NlYXJjaF9taW5pX2Zvcm0gbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlbWVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCs0cHggKC0xNTBweCArICgkdG9vbGJhci1pY29uLXBhZGRpbmctb2Zmc2V0LzIpKTtcbn1cblxuI3NlYXJjaF9taW5pX2Zvcm0gLnNlYXJjaC1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbiNzZWFyY2hfbWluaV9mb3JtIC5zZWFyY2gtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIG1hcmdpbi10b3A6IC0xNXB4ICsgMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweCArIDJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGF5ZXIgc2VhcmNoIG9wZW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiNzZWFyY2hfbWluaV9mb3JtIHtcbiAgICAuc2VhcmNoLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoLWljb24td2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxufVxuXG4uc2VhcmNoLWxheWVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICAmLm9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmNsb3NlLXNlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIlO1xuICAgICAgICB0b3A6IDclO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UtaWNvbi5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgfVxuICAgIGZvcm0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1pbi13aWR0aDogMjAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLmlucHV0LWJveCB7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogSGVhZGVyIC0gQWNjb3VudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogU2tpcCBMaW5rIC0gQWNjb3VudFxuICovXG5cbi5hY2NvdW50LWxpbmsge1xuXG4gICAgJjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MHB4KzRweCAoLTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSArIDJweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMHB4KzRweCAoLTUwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSArIDJweCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbGFyZ2UgKyAxKSB7XG5cbiAgICAuYWNjb3VudC1saW5rIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1saW5rOmhvdmVyIHtcbiAgICB9XG5cbiAgICAjaGVhZGVyLWFjY291bnQuc2tpcC1hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBtZW51O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgcmlnaHQ6IDExNXB4O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRlci1hY2NvdW50IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICB9XG5cbiAgICAjaGVhZGVyLWFjY291bnQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgfVxuXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFjY291bnQgTGlua3NcbiAqL1xuXG4jaGVhZGVyLWFjY291bnQge1xuICAgIHBhZGRpbmc6IDVweCAwO1xufVxuXG4jaGVhZGVyLWFjY291bnQgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OjIzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jaGVhZGVyLWFjY291bnQgYTpob3ZlciB7XG4gICAgY29sb3I6ICRjLWFjdGlvbjtcbn1cblxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgLSBDYXJ0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIExpbmsgLSBDYXJ0XG4gKi9cblxuLnNraXAtY2FydCB7XG4gICAgJjpub3QoLnNraXAtYWN0aXZlKTpob3ZlciB7XG4gICAgICAgIC8vLmljb24ge1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTBweCAoLTEwMHB4ICsgKCR0b29sYmFyLWljb24tcGFkZGluZy1vZmZzZXQvMikgKyAxcHgpO1xuICAgICAgICAvL31cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIEBleHRlbmQgLmljb24tc3ByaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMHB4ICgtMTAwcHggKyAoJHRvb2xiYXItaWNvbi1wYWRkaW5nLW9mZnNldC8yKSArIDFweCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2hlYWRlci1jYXJ0LnNraXAtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMjAwO1xuICAgIHdpZHRoOiA0OTBweDtcbiAgICB0b3A6IDEwMHB4O1xuICAgIC8vdG9wOiA1MHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8vd2lkdGg6IDMyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLm1pbmljYXJ0LWJvdHRvbS1ibG9jayB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDQ5MHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAuc2tpcC1jYXJ0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICAuc2tpcC1jYXJ0OmhvdmVyIHtcbiAgICB9XG5cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAteGxhcmdlICsgMSkge1xuXG4gICAgLnNraXAtY2FydCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBTa2lwIENhcnQgTm90aWZpZXJcbiAqL1xuXG4uc2tpcC1jYXJ0IC5jb3VudCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMnB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdG9wOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIC8vbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbi8vLnNraXAtbGluay5za2lwLWFjdGl2ZSAuY291bnQge1xuLy8gICAgY29sb3I6IHdoaXRlO1xuLy99XG5cbi8vIFVzaW5nIGV4dHJhIC5za2lwLWxpbmsgc2VsZWN0b3IgdG8gaW5jcmVhc2Ugc3BlY2lmaWNpdHlcbi5za2lwLWxpbmsuc2tpcC1jYXJ0IC5jb3VudCB7XG59XG5cbi5za2lwLWNhcnQubm8tY291bnQgLmNvdW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDQ5OXB4KSB7XG4gICAgLnNraXAtY2FydCAuY291bnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgLnNraXAtY2FydCB7XG4gICAgICAgIGNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgLy8vL0BpbmNsdWRlIGJvcmRlci1yYWRpdXMoMHB4KTtcbiAgICAgICAgICAgIC8vcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIC8vd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy9yaWdodDogMDtcblxuICAgICAgICAgICAgLy8mOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICAvL31cbiAgICAgICAgICAgIC8vJjphZnRlciB7XG4gICAgICAgICAgICAvLyAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICAvL31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2tpcC1jYXJ0IC5jb3VudCxcbiAgICAuc2tpcC1saW5rLnNraXAtYWN0aXZlIC5jb3VudCB7XG4gICAgICAgIC8vY29sb3I6ICRjLWFjdGlvbjtcbiAgICB9XG59XG5cbi5za2lwLWNhcnQgLmNvdW50LmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBNaW5pIENhcnQgLSBFbXB0eVxuICovXG5cbi5jYXJ0LW1lbnUgLmVtcHR5IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTWluaSBDYXJ0IC0gRnVsbFxuICovXG5cbi8qIEFjdGlvbnMgKi9cblxuLmNhcnQtbWVudSAuYWN0aW9ucyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY2FydC1tZW51IC5hY3Rpb25zIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0OCU7XG59XG5cbi5jYXJ0LW1lbnUgLmFjdGlvbnMgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiA0JTtcbn1cblxuLyogU3VidG90YWwgKi9cblxuLmNhcnQtbWVudSAuc3VidG90YWwge1xuICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4vKiBMaXN0ICovXG5cbi5taW5pLWNhcnQtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ubWluaS1jYXJ0LWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAoMTVweCArIDYwcHggKyAxNXB4KTtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAoMTVweCArIDYwcHggKyAxNXB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1pbmktY2FydC1saXN0IC5wcm9kdWN0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTVweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbi5taW5pLWNhcnQtbGlzdCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbn1cblxuLy8ubWluaS1jYXJ0LWxpc3QgLmRldGFpbHMgeyB9XG5cbi5taW5pLWNhcnQtbGlzdCAuaGFzLW9wdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG59XG5cbi8qIFRvbyBmdWxsIC0gYWRkaXRpb25hbCBpdGVtcyB3aWxsIGJlIHNob3duIGluIGNhcnQgKi9cbi5jYXJ0LW1lbnUgLmxhc3QtYWRkZWQge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIZWFkZXIgbW9iaWxlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2tpcC1jYXJ0IHtcbiAgICAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jYXJyZWxsb19jbG9zZS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLnNraXAtYWN0aXZlIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NhcnJlbGxvX29wZW4uc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UpIHtcblxuICAgICNoZWFkZXItY2FydC5za2lwLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogMTI2cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIC5za2lwLWNhcnQge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAjaGVhZGVyLWNhcnQuc2tpcC1hY3RpdmUge1xuICAgICAgICB0b3A6IDcxcHg7XG4gICAgfVxufVxuIiwiLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEZvb3RlciAtIEN1c3RvbSBTdHlsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTkwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBGb290ZXJcbiAqL1xuXG4jcG9wdXBjb29raWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogJGJsYWNrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHJpZ2h0OiAtMTAwJTtcbiAgei1pbmRleDogODtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICAucmlnaHQge1xuICAgIGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICYuY2xvc2UtY29va2llIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW46IDUlO1xuICAgIH1cbiAgfVxuICAud3JwY2xvc2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNSU7XG4gIH1cbn1cblxuLmZvb3Rlcixcbi5mb290ZXIgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG59XG5cbi5mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgLmZvb3Rlcl9fbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5mb290ZXJfX2NvcHlyaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgICAgLmZvb3Rlcl9fY29weXJpZ2h0LXVwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIC5mb290ZXJfX2NvcHlyaWdodC1sb3dlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlcl9fcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5mb290ZXJfX3JpZ2h0LXVwcGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXG4gICAgICAuZm9vdGVyX19yaWdodC1uZXdzbGV0dGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZm9vdGVyX19yaWdodC1jb250YWN0cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgfVxuXG4gICAgICAuZm9vdGVyX19yaWdodC1zdG9yZXN3aXRjaCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG5cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb290ZXJfX3JpZ2h0LXNvY2lhbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG5cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fcmlnaHQtbG93ZXIge1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgICB1bCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLWxhcmdlICsgMSkge1xuXG4gICNwb3B1cGNvb2tpZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZm9vdGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAuZm9vdGVyX19sZWZ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcblxuICAgICAgLmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuODJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5mb290ZXJfX2NvcHlyaWdodC11cHBlciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX2NvcHlyaWdodC1sb3dlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgZmxleC1iYXNpczogNzUlO1xuXG4gICAgICAuZm9vdGVyX19yaWdodC11cHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCA1cHggMzBweDtcblxuICAgICAgICAuZm9vdGVyX19yaWdodC1uZXdzbGV0dGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX3JpZ2h0LWNvbnRhY3RzIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyX19yaWdodC1zdG9yZXN3aXRjaCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHVuc2V0O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX3JpZ2h0LXNvY2lhbCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogdW5zZXQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMWVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb290ZXJfX3JpZ2h0LWxvd2VyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDVweCAwO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAuZm9vdGVyX19yaWdodC1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UpIHtcblxuICAgIC5mb290ZXIge1xuICAgICAgLmZvb3Rlcl9fbGVmdCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDM1JTtcbiAgICAgIH1cblxuICAgICAgLmZvb3Rlcl9fcmlnaHQge1xuICAgICAgICBmbGV4LWJhc2lzOiA2NSU7XG5cbiAgICAgICAgLmZvb3Rlcl9fcmlnaHQtbG93ZXIge1xuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gICAqIFNraW4gUG9wdXBcbiAgICovXG5cbi5wb3B1cC1za2luIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk5OTtcblxuICAucG9wdXAtc2tpbl9fY29udGVudCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTUwcHgpO1xuICAgIHBhZGRpbmc6IDMwcHggMzBweCAwO1xuICB9XG5cbiAgLnBvcHVwLXNraW5fX2lkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucG9wdXAtc2tpbl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogODB2dztcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwMHB4O1xuICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5wb3B1cC1za2luX19kZXNjciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICBsaW5lLWhlaWdodDogYXV0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucG9wdXAtc2tpbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5wb3B1cC1za2luX19zY3JvbGwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBoZWlnaHQ6IDExNnB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAucG9wdXAtc2tpbl9fc2Nyb2xsLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG5cbiAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDM1cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmNoZXZyb246OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgIH1cblxuICAgICAgLndoaXRlLWRldGFpbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3R0b206IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBvcHVwLXNraW5fX2xpbmsge1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cblxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1sYXJnZSArIDEpIHtcbiAgLnBvcHVwLXNraW4ge1xuICAgIC5wb3B1cC1za2luX19jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNDUlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KTtcbiAgICB9XG5cbiAgICAucG9wdXAtc2tpbl9fbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiA4JTtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVwLXNraW5fX2Rlc2NyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG5cbiAgICAgIGJyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVwLXNraW5fX2xpbmsge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICB9XG4gIH1cbn0iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogR2VuZXJhbCBQcm9kdWN0IExpc3QgU3R5bGVzIChub3QgbW9kdWxlLXNwZWNpZmljKVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBQcm9kdWN0IExpc3QgR2VuZXJhbFxuICovXG5cbi5jYXRlZ29yeS1lZ28ge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IHtcbiAgICAuY2F0X2Jsb2NrX3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZ2UtZnVsbC13aWR0aDtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiA3JTtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA4JTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDE0MjBweDtcbiAgICAgICAgICAgIC8vd2lkdGg6IDc2JTtcbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIC8vdG9wOiAzOCU7XG4gICAgICAgICAgICAgICAgLy9sZWZ0OiAyMiU7XG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDI5MHB4O1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDMyJTtcbiAgICAgICAgICAgICAgICB0b3A6IDI0JTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay1pdGFsaWMtdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWctYmlnIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICAgICAgdG9wOiAtNiU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltZy1zbWFsbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNiU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMSU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyNSU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTUlO1xuICAgIH1cbiAgICAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZSB7XG4gICAgICAgIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMyU7XG4gICAgICAgICAgICAucHJvZHVjdC1mb2N1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMC41JTtcbiAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDYuNSU7XG4gICAgICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNSU7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay1pdGFsaWMtdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2OCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLnNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICAvL2xlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWd1bGFyLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgyNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5JTtcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2UsIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZS1ib3ggLnJlZ3VsYXItcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDIgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAvL21heC1oZWlnaHQ6IDYwNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5JTtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLCAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vd2lkdGg6IDQ0JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWJveCAucmVndWxhci1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjcHJvZG90dG8tMCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MjVweDtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZSwgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNwcm9kb3R0by0xIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDogNjA0cHg7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2UsIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICAvL3dpZHRoOiA0NCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjcHJvZG90dG8tMiB7XG4gICAgICAgICAgICAgICAgLy93aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbWFnZSwgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgLy8gICAgd2lkdGg6IDcyLjUlO1xuICAgICAgICAgICAgICAgIC8vICAgIG1hcmdpbi1sZWZ0OiAyOC41JTtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNwcm9kb3R0by0zIHtcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgLy9tYXgtaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgICAgICAgICAvLy5wcm9kdWN0LWltYWdlLCAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAvLyAgICB3aWR0aDogMzElO1xuICAgICAgICAgICAgICAgIC8vICAgIG1hcmdpbi1sZWZ0OiA1LjUlO1xuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1OCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3Byb2RvdHRvLTQge1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDQxJTtcbiAgICAgICAgICAgICAgICAvL2FsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogNCU7XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbWFnZSwgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgLy8gICAgd2lkdGg6IDc0LjUlO1xuICAgICAgICAgICAgICAgIC8vICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjcHJvZG90dG8tNSB7XG4gICAgICAgICAgICAgICAgLy93aWR0aDogNjAlO1xuICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDogNjA0cHg7XG4gICAgICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxNSU7XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbWFnZSwgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgLy8gICAgd2lkdGg6IDM2LjUlO1xuICAgICAgICAgICAgICAgIC8vICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAvLyAgICBtYXJnaW4tcmlnaHQ6IDYuNSU7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAvLyAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3Byb2RvdHRvLTYge1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICAvL21heC1oZWlnaHQ6IDYwNHB4O1xuICAgICAgICAgICAgICAgIC8vYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbWFnZSwgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgLy8gICAgd2lkdGg6IDU1JTtcbiAgICAgICAgICAgICAgICAvLyAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgLy8gICAgbWFyZ2luLXJpZ2h0OiAxMSU7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAvLyAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNwcm9kb3R0by03IHtcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgLy8ucHJvZHVjdC1pbWFnZSwgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgLy8gICAgd2lkdGg6IDY0JTtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGVnb3J5LXRpdGxlIGgxLFxuYm9keS5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAucGFnZS10aXRsZSBoMSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNhdGVnb3J5LXRpdGxlIHtcbiAgICBoMSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG59XG5cbi5jYXRlZ29yeS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGItbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUHJldmVudCBidXR0b24gb3ZlcmxhcHBpbmcgd2hlbiBidXR0b25zIGhhdmUgbG9uZyB0ZXh0LCBzdWNoIGFzIG5vbi1FbmdsaXNoIHRyYW5zbGF0aW9uc1xuLnByb2R1Y3RzLWxpc3QgLmFjdGlvbiAuYnV0dG9uLFxuLnByb2R1Y3RzLWdyaWQgLmFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvZHVjdCBOYW1lXG4gKi9cblxuaDIucHJvZHVjdC1uYW1lLFxuaDMucHJvZHVjdC1uYW1lLFxuaDQucHJvZHVjdC1uYW1lLFxuaDUucHJvZHVjdC1uYW1lLFxucC5wcm9kdWN0LW5hbWUge1xuICAgIEBpbmNsdWRlIGgyO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1uYW1lLFxuLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3QtbmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQcm9kdWN0IEdyaWRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRwcm9kdWN0LWNvbHVtbi1zcGFjaW5nOiAyMHB4O1xuXG4ucHJvZHVjdHMtZ3JpZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvZHVjdHMtZ3JpZDphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5wcm9kdWN0cy1ncmlkID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVjdC1jb2x1bW4tc3BhY2luZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAmOmhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ud2lkZ2V0LW5ldy1wcm9kdWN0cyB7XG4gICAgLnByb2R1Y3RzLWdyaWQgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgIH1cbn1cblxuLy8gSWYgdGhlIGhlaWdodCBvZiB0aGUgLnByb2R1Y3QtaW5mbyBlbGVtZW50IGNoYW5nZXMsIHRoaXMgdmFsdWUgc2hvdWxkIGJlIGFkanVzdGVkXG4kcHJvZHVjdHNHcmlkQWN0aW9uSGVpZ2h0OiA4NXB4O1xuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbmZvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206ICRwcm9kdWN0c0dyaWRBY3Rpb25IZWlnaHQgKyAxMHB4O1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyB7XG4gICAgcGFkZGluZy10b3A6ICRib3gtc3BhY2luZztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbWluLWhlaWdodDogJHByb2R1Y3RzR3JpZEFjdGlvbkhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLnJhdGluZ3MgLnJhdGluZy1ib3gge1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyAuYW1vdW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJpY2UtYm94IHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIG1hcmdpbjogMCAwIDVweDtcbn1cblxuLnByb2R1Y3RzLWdyaWQgLmFkZC10by1saW5rcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIENvbmZpZzogVHdvIGNvbHVtbnMgKyBmbGV4aWJsZSBndXR0ZXIgKi9cblxuLy8gQ29udGFpbmVyOiA0ODAgLSAoMiAqIDIwIHRyaW0pID0gNDQwXG4vLyBNYXRoOiAoNDQwIC0gKDIwIGd1dHRlcikpIC8gMiBpdGVtcyA9IDIxMFxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgyMTAgLyA0NDApO1xuICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgyMCAvIDQ0MCk7XG59XG5cbi5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xufVxuXG4ucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZChldmVuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucHJvZHVjdHMtZ3JpZCAucHJvZHVjdC1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgQGluY2x1ZGUgbG9hZGluZ092ZXJsYXkoKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhzbWFsbCArIDEpIHtcbiAgICAvKiBDb25maWc6IFRocmVlIGNvbHVtbnMgKyBmbGV4aWJsZSBndXR0ZXIgKi9cbiAgICAvLyBDb250YWluZXI6IDYwMCAtICgyICogMzAgdHJpbSB3aWRlKSA9IDU0MFxuICAgICRjb2x1bW4tY291bnQ6IDM7XG4gICAgJGNvbHVtbi1ndXR0ZXJzOiAyO1xuICAgICRjb250YWluZXI6IDYwMCAtICgyICogJHRyaW0pO1xuXG4gICAgLy8gTWF0aDogKDU0MCAtICgyICogMzAgZ3V0dGVyKSkgLyAzIGl0ZW1zID0gMTYwXG4gICAgJGNvbHVtbi13aWR0aDogKCRjb250YWluZXIgLSAoJGNvbHVtbi1ndXR0ZXJzICogJHByb2R1Y3QtY29sdW1uLXNwYWNpbmcpKSAvICRjb2x1bW4tY291bnQ7XG5cbiAgICAucHJvZHVjdHMtZ3JpZCB7XG4gICAgICAgIC8qIFVuZG8gdHdvLWNvbHVtbiBjb25maWcgKi9cbiAgICAgICAgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICA+IGxpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHBlcmNlbnRhZ2UoJHByb2R1Y3QtY29sdW1uLXNwYWNpbmcgLyAkY29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNldCB0aHJlZS1jb2x1bW4gY29uZmlnICovXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbi13aWR0aCAvICRjb250YWluZXIpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKCRwcm9kdWN0LWNvbHVtbi1zcGFjaW5nIC8gJGNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaTpudGgtY2hpbGQoI3skY29sdW1uLWNvdW50fW4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaTpudGgtY2hpbGQoI3skY29sdW1uLWNvdW50fW4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVGhpcyBtaXhpbiBvdXRwdXRzIHRoZSBzdHlsZXMgdG8gYWxsb3cgZm9yIGdyaWRzIHdpdGggbW9yZSB0aGFuIDMgY29sdW1uc1xuQG1peGluIHByb2R1Y3QtZ3JpZCgkY29sdW1uLWNvdW50LCAkY29udGFpbmVyLXdpZHRoLCAkY2xhc3MtYXBwZW5kOlwiXCIpIHtcblxuICAgIC8vIEFsbG93IHRoaXMgbWl4aW4gdG8gYmUgdXNlZCBmb3IgbW9yZSBzcGVjaWZpYyBwdXJwb3Nlcywgc3VjaCBhcyBncmlkcyBjb250YWluZWQgd2l0aGluIHdpZGdldHNcbiAgICBAaWYgJGNsYXNzLWFwcGVuZCAhPSBcIlwiIHtcbiAgICAgICAgJGNsYXNzLWFwcGVuZDogLSN7JGNsYXNzLWFwcGVuZH07XG4gICAgfVxuXG4gICAgLyogQ29uZmlnOiBDb2x1bW5zICsgZmxleGlibGUgZ3V0dGVyICovXG4gICAgJGNvbHVtbi1ndXR0ZXJzOiAoJGNvbHVtbi1jb3VudCkgLSAxO1xuICAgICRjb250YWluZXI6ICRjb250YWluZXItd2lkdGggLSAoMiAqICR0cmltKTtcbiAgICAkY29sdW1uLXdpZHRoOiAoJGNvbnRhaW5lciAtICgkY29sdW1uLWd1dHRlcnMgKiAkcHJvZHVjdC1jb2x1bW4tc3BhY2luZykpIC8gJGNvbHVtbi1jb3VudDtcblxuICAgIC8qIFVuZG8gdGhyZWUtY29sdW1uIGNvbmZpZyAqL1xuICAgIC5wcm9kdWN0cy1ncmlkLS1tYXgtI3skY29sdW1uLWNvdW50fS1jb2wjeyRjbGFzcy1hcHBlbmR9ID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG4gICAgLnByb2R1Y3RzLWdyaWQtLW1heC0jeyRjb2x1bW4tY291bnR9LWNvbCN7JGNsYXNzLWFwcGVuZH0gPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG4gICAgLnByb2R1Y3RzLWdyaWQtLW1heC0jeyRjb2x1bW4tY291bnR9LWNvbCN7JGNsYXNzLWFwcGVuZH0gPiBsaTpudGgtY2hpbGQoZXZlbiksXG4gICAgLnByb2R1Y3RzLWdyaWQtLW1heC0jeyRjb2x1bW4tY291bnR9LWNvbCN7JGNsYXNzLWFwcGVuZH0gPiBsaTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKCRwcm9kdWN0LWNvbHVtbi1zcGFjaW5nIC8gJGNvbnRhaW5lcik7XG4gICAgfVxuXG4gICAgLyogU2V0IGNvbHVtbiBjb25maWcgKi9cbiAgICAucHJvZHVjdHMtZ3JpZC0tbWF4LSN7JGNvbHVtbi1jb3VudH0tY29sI3skY2xhc3MtYXBwZW5kfSA+IGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBwZXJjZW50YWdlKCRwcm9kdWN0LWNvbHVtbi1zcGFjaW5nIC8gJGNvbnRhaW5lcik7XG4gICAgfVxuICAgIC5wcm9kdWN0cy1ncmlkLS1tYXgtI3skY29sdW1uLWNvdW50fS1jb2wjeyRjbGFzcy1hcHBlbmR9ID4gbGkge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sdW1uLXdpZHRoIC8gJGNvbnRhaW5lcik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgkcHJvZHVjdC1jb2x1bW4tc3BhY2luZyAvICRjb250YWluZXIpO1xuICAgIH1cbiAgICAucHJvZHVjdHMtZ3JpZC0tbWF4LSN7JGNvbHVtbi1jb3VudH0tY29sI3skY2xhc3MtYXBwZW5kfSA+IGxpOm50aC1jaGlsZCgjeyRjb2x1bW4tY291bnR9bisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgIH1cbiAgICAucHJvZHVjdHMtZ3JpZC0tbWF4LSN7JGNvbHVtbi1jb3VudH0tY29sI3skY2xhc3MtYXBwZW5kfSA+IGxpOm50aC1jaGlsZCgjeyRjb2x1bW4tY291bnR9bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA5NjBweCkge1xuICAgIEBpbmNsdWRlIHByb2R1Y3QtZ3JpZCg0LCA5NjApO1xuICAgIEBpbmNsdWRlIHByb2R1Y3QtZ3JpZCg1LCA5NjApO1xuICAgIEBpbmNsdWRlIHByb2R1Y3QtZ3JpZCg2LCA5NjApO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBQcm9kdWN0IExpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9kdWN0cy1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gbGkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMi8zKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkYm94LXNwYWNpbmcgKiAyKTtcblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAucmF0aW5ncyB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAucmF0aW5nLWJveCxcbiAgICAgICAgLnJhdGluZy1saW5rcyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICAucmF0aW5nLWxpbmtzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJpY2UtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgIH1cbiAgICAuYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAkZWxlbWVudC1zcGFjaW5nIDA7XG4gICAgfVxuICAgIC5kZXNjIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGVsZW1lbnQtc3BhY2luZztcbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmltYXJ5LFxuICAgIC5kZXNjIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5wcm9kdWN0LXNlY29uZGFyeSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGNsZWFyOiByaWdodDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLXhzbWFsbCArIDEpIHtcbiAgICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1uYW1lIGEge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAxMjc5cHgpIHtcbiAgICAucHJvZHVjdHMtbGlzdCAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgLnByb2R1Y3QtcHJpbWFyeSxcbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1zZWNvbmRhcnkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA2MDBweCkge1xuICAgIC5wcm9kdWN0cy1saXN0IC5wcm9kdWN0LXNob3AgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLnByb2R1Y3RzLWxpc3QgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgIC5wcm9kdWN0LXByaW1hcnksXG4gICAgICAgIC5wcm9kdWN0LXNlY29uZGFyeSxcbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBNaW5pIFByb2R1Y3QgTGlzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1pbmktcHJvZHVjdHMtbGlzdCB7XG5cbiAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIC8vZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsbHkgY2VudGVyIHByb2R1Y3QgbmFtZVxuICAgIC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWluaS1wcm9kdWN0cy1pbWFnZXMtbGlzdCB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgbGkuaXRlbSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDEwcHggMDtcblxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBMaXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2F0ZWdvcnktaW1hZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgcGFkZGluZzogMTBweDtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpoaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTGF5ZXJlZCBOYXZpZ2F0aW9uXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXIge1xuICAgIC8vIFdpbGwgYmUgc2hvd24gYXQgc21hbGxlciB2aWV3cG9ydHNcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbkR0QmFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCB7XG4gICAgLy8gQWNjb3JkaW9ucyBhcmUgZnVsbHkgZXhwYW5kZWQgdW50aWwgYSBzbWFsbGVyIHJlc29sdXRpb24uXG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uO1xufVxuXG4uYmxvY2stbGF5ZXJlZC1uYXYgZGwgZGQge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmc7XG5cbiAgICBvbCA+IGxpID4gc3Bhbiwgb2wgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIG9sID4gbGkgPiBhIC5jb3VudCB7XG4gICAgICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0rMSkge1xuICAgIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCA+IGRsID4gZHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuc2lkZWJhciAuYmxvY2suYmxvY2stbGF5ZXJlZC1uYXYge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC8vIFdlIGRvbid0IHdhbnQgXCJTaG9wIEJ5XCIgdG8gc2hvdyB3aGVuIHRoZXJlIGFyZSBubyBmaWx0ZXJzIGFwcGxpZWQsIGFzIHRoZSBcIkZpbHRlclwiIGxpbmsgd2lsbCBzdWZmaWNlXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2LS1uby1maWx0ZXJzIC5ibG9jay10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSB0b3AgcGFkZGluZyBhbmQgcmUtYWRkIGl0IGFzIG1hcmdpbi10b3Agc28gdGhhdCB0aGUgbWFyZ2luIHdpbGwgY29sbGFwc2Ugd2l0aCBlbGVtZW50cyBhYm92ZSBpdFxuICAgIC5ibG9jay1sYXllcmVkLW5hdiAuYmxvY2stY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb25Db2xsYXBzZTtcbiAgICB9XG5cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgLmJsb2NrLXN1YnRpdGxlLS1maWx0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUocmlnaHQsIDRweCwgI0ZGRkZGRik7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShkb3duLCA0cHgsICNGRkZGRkYpO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbmFycm93LWJ5LWxpc3QsXG4gICAgI25hcnJvdy1ieS1saXN0MiB7XG4gICAgICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGEsXG4gICAgLmJsb2NrLWxheWVyZWQtbmF2IGRsIG9sID4gbGkgPiBzcGFuIHtcbiAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICB9XG5cbiAgICAuYmxvY2stbGF5ZXJlZC1uYXYgZGwgb2wgPiBsaSA+IGEge1xuICAgICAgICBAaW5jbHVkZSB0b3VjaC1idXR0b247XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2NrLWxheWVyZWQtbmF2IC5jdXJyZW50bHkge1xuICAgIC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBoNDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgfVxuICAgIG9sIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9jay1sYXllcmVkLW5hdiAuYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGVsZW1lbnQtc3BhY2luZztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmVzcG9zaXZlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcge1xuICAgICAgICAuY2F0X2Jsb2NrX3RvcCB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNSU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYmFja2dyb3VuZC1pbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lIHtcbiAgICAgICAgICAgIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUge1xuICAgICAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlZ3VsYXItcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IHtcbiAgICAgICAgLmNhdF9ibG9ja190b3Age1xuICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLy5iYWNrZ3JvdW5kLWltZyB7XG4gICAgICAgICAgICAgICAgLy8gICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgICAgICAuaW1nLXNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjI3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaW1nLWJpZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUge1xuICAgICAgICAgICAgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIC5pdGVtIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNwcm9kb3R0by0wLCAjcHJvZG90dG8tMSwgI3Byb2RvdHRvLTIsICNwcm9kb3R0by0zLCAjcHJvZG90dG8tNCwgI3Byb2RvdHRvLTUsICNwcm9kb3R0by02LCAjcHJvZG90dG8tNyB7XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLCAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAjcHJvZG90dG8tMCwgI3Byb2RvdHRvLTEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI3Byb2RvdHRvLTIsICNwcm9kb3R0by0zLCAjcHJvZG90dG8tNCwgI3Byb2RvdHRvLTUsICNwcm9kb3R0by02LCAjcHJvZG90dG8tNyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5uby1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IHtcbiAgICAgICAgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUge1xuICAgICAgICAgICAgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSB7XG4gICAgICAgICAgICAgICAgI3Byb2RvdHRvLTAsICNwcm9kb3R0by0xLCAjcHJvZG90dG8tMiwgI3Byb2RvdHRvLTMsICNwcm9kb3R0by00LCAjcHJvZG90dG8tNSwgI3Byb2RvdHRvLTYsICNwcm9kb3R0by03IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICNwcm9kb3R0by0wIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgI3Byb2RvdHRvLTEsICNwcm9kb3R0by0yLCAjcHJvZG90dG8tMywgI3Byb2RvdHRvLTQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1mb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuQG1peGluIGxvYWRpbmdPdmVybGF5KCRvcGFjaXR5OiAwLjgpIHtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgICB6LWluZGV4OjI7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL29wYy1hamF4LWxvYWRlci5naWYnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OjM7XG4gICAgfVxuXG4gICAgJi5sb2FkaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gUHJvZHVjdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnpvb21Db250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXZpZXcge1xuICAgIC5wcm9kdWN0LWVzc2VudGlhbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzMHB4O1xuICAgICAgICAuZXh0cmEtaW5mbyB7XG4gICAgICAgICAgICAucmF0aW5ncyB7XG4gICAgICAgICAgICAgICAgLnJhdGluZy1ib3gsXG4gICAgICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICAgICAgLnNoaXBwaW5nLWxpbmsge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3RpY2t5LXdyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IDM3JTtcbiAgICAgICAgfVxuICAgICAgICAuYmxvY2stcmVsYXRlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5iYWNrLXRvLWxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA5MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tYmxvY2sge1xuICAgICAgICBtYXgtd2lkdGg6IDkxNXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgID4gLnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWl0YWxpYy10aXRsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC50ZXh0LWJsb2NrIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIC5oMSxcbiAgICAucHJvZHVjdC1pbWctYm94IC5wcm9kdWN0LW5hbWUgaDEge1xuICAgICAgICBjb2xvcjogJGMtYWN0aW9uO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LW5hbWUgLmgxIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdHJpbS8yO1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWluZm8ge1xuICAgICAgICAgICAgLy9mbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogJHRyaW0vMjtcbiAgICAgICAgICAgIC8vdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZXh0cmEtaW5mbyxcbiAgICAgICAgLnByaWNlLWluZm8ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAuc3RkIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJhdGluZ3Mge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIC5vbGQtcHJpY2UsXG4gICAgICAgICAgICAuc3BlY2lhbC1wcmljZSxcbiAgICAgICAgICAgIC5yZWd1bGFyLXByaWNlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZWd1bGFyLXByaWNlIC5wcmljZSxcbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIC5wcmljZSxcbiAgICAgICAgICAgIC5mdWxsLXByb2R1Y3QtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuXG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ud2VlZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1ib3gubWFwLWluZm8gYSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLm9sZC1wcmljZSB7XG4gICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydC13cmFwcGVyLFxuICAgIC5ibG9jay1yZWxhdGVkIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgfVxufVxuXG4uY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuICAgIC5wcm9kdWN0LWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay1pdGFsaWMtdGl0bGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWctc254IHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1nLWR4IHtcbiAgICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA4NTBweCkge1xuICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAuYWRkLXRvLWNhcnQtd3JhcHBlciB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4LFxuICAgICAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4IHtcbiAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNDIwcHgpIHtcbiAgICAucHJvZHVjdC12aWV3IHtcbiAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICAgICAucHJpY2UtZXhjbHVkaW5nLXRheCxcbiAgICAgICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWctYm94IHtcbiAgICB3aWR0aDogNjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC8vIFNpbmNlIHByb2R1Y3QgZGV0YWlsIHBhZ2UgaW1hZ2VzIGFyZSBub3QgY3JvcHBlZCB0byBhIHNwZWNpZmljIGFzcGVjdCByYXRpbywgaW4gb3JkZXIgdG8gbWFrZSB0aGUgaW1hZ2Ugbm90XG4gICAgICAgIC8vIGN1dCBvZmYgb24gdGFsbCBza2lubnkgc2NyZWVucywgd2UgYXJlIHNldHRpbmcgYSBtYXgtaGVpZ2h0IG9uIHRoZSBpbWFnZVxuICAgICAgICBtYXgtaGVpZ2h0OiA3NTBweDtcblxuICAgICAgICAvLyBDZW50ZXJpbmcgdGhlIGltYWdlIGZvciBpbnN0YW5jZXMgd2hlcmUgbWF4LWhlaWdodCBraWNrcyBpblxuICAgICAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG4vLyBPbiBzbWFsbGVyIGRldmljZXMsIHdlIHdhbnQgdG8gZnVydGhlciBsaW1pdCB0aGUgaGVpZ2h0IG9mIHRoZSBpbWFnZSwgdG8gcHJldmVudCBjcm9wcGluZ1xuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLnByb2R1Y3QtaW1nLWJveCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgLm51bSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1pbWFnZSB7XG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsb2FkaW5nT3ZlcmxheSgpO1xufVxuXG4ucHJvZHVjdC1pbWFnZS10aHVtYnMge1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbi5uby10b3VjaCAucHJvZHVjdC1pbWFnZS10aHVtYnMge1xuICAgIGE6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0LCAxNSUpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbi5wcm9kdWN0LXZpZXcgLmJsb2NrLXJlbGF0ZWQge1xuICAgIHBhZGRpbmctbGVmdDogJHRyaW0vMjtcbn1cblxuLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgcGFkZGluZy1yaWdodDogJHRyaW0vMjtcbn1cblxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wLFxuLnByb2R1Y3QtaW1nLWJveCxcbi5wcm9kdWN0LWNvbGxhdGVyYWwsXG4ucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuLmJveC1jb2xsYXRlcmFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG59XG5cbi5wcm9kdWN0LXZpZXcge1xuXG4gICAgLmFkZC10by1ib3g6YWZ0ZXIsXG4gICAgLmFkZC10by1jYXJ0OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICB9XG5cbiAgICAvKiBTZXQgYSBtaW4taGVpZ2h0IHNvIHRoYXQgdGhlIGZsb2F0ZWQgZWxlbWVudHMgYnJlYWsgYXBwcm9wcmlhdGVseSAqL1xuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIsXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCxcbiAgICAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCxcbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuICAgIC5hZGQtdG8tY2FydC1idXR0b25zIC5idXR0b24sXG4gICAgLmFkZC10by1jYXJ0LWJ1dHRvbnMgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQgLnF0eS13cmFwcGVyLFxuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0IC5xdHktd3JhcHBlciBsYWJlbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydCAucXR5LXdyYXBwZXIgLnF0eSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLmFkZC10by1jYXJ0LWJ1dHRvbnMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnN0cmFpbiB3aWR0aCBpbiBGaXJlZm94XG5cbiAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm1sX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3NHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtdG8tY2FydC1idXR0b25zIC5idXR0b24ge1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICAgICAgLy9mbG9hdDogbGVmdDtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgQGluY2x1ZGUgYWN0aW9uLXByaW1hcnk7XG4gICAgfVxuXG4gICAgLmFsZXJ0LXByaWNlLFxuICAgIC5hbGVydC1zdG9jayB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGF5cGFsLWxvZ28sXG4gICAgICAgIC5wYXlwYWwtb3IsXG4gICAgICAgIC5wYXlwYWwtYnV0dG9uLFxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUaGlzIGlzIHRoZSBcIm9yXCIgdGhhdCBzZXBhcmF0ZXMgdGhlIFwiQWRkIHRvIENhcnRcIiBhbmQgXCJBZGQgdG8gWFwiIGxpbmtzICovXG4uYWRkLXRvLWJveCAub3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LXZpZXcgLmFkZC10by1saW5rcyB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDJweCA3cHggMnB4IDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG5cbiAgICBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXZpZXcgLnNoYXJpbmctbGlua3Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDBweCA3cHggN3B4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlbWVudDtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zcHJpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgICBhLmxpbmstd2lzaGxpc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTIyNXB4O1xuICAgIH1cbiAgICBhLmxpbmstY29tcGFyZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjUwcHg7XG4gICAgfVxuICAgIGEubGluay1lbWFpbC1mcmllbmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggKC0zMjVweCArIDNweCk7XG4gICAgfVxuICAgIGEubGluay1mYWNlYm9vayB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDI1cHg7XG4gICAgfVxuICAgIGEubGluay10d2l0dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4ICgtMzc1cHggKyAzcHgpO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1OTlweCkge1xuICAgIC5hZGQtdG8tYm94IC5hZGQtdG8tbGlua3Mge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBpbWFnZS1yZXBsYWNlbWVudC1vdmVycmlkZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLnRvZ2dsZS10YWJzIHtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIC8vd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpLmN1cnJlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbGxhdGVyYWwtdGFicyB7XG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAudGFiLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIC5zdGQge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICAgICAgICAgICAgICAuc2hhcmUtc29jaWFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2hhcmUtc29jaWFsLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29sbGF0ZXJhbC10YWJzIHtcbiAgICBkZCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib3gtY29sbGF0ZXJhbCB7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwge1xuICAgICAgICBAaW5jbHVkZSB0YWJzO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uO1xuICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb25Db2xsYXBzZTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG5cbiAgICAucHJvZHVjdC12aWV3IC5wcm9kdWN0LXNob3AsXG4gICAgLnByb2R1Y3QtdmlldyAuYWRkLXRvLWNhcnQtd3JhcHBlcixcbiAgICAucHJvZHVjdC12aWV3IC5ibG9jay1yZWxhdGVkLFxuICAgIC5wcm9kdWN0LWltZy1ib3gsXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgLnNsaWRlIC5udW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcblxuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5wcm9kdWN0LWltZy1ib3ggLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcblxuICAgIC5wcm9kdWN0LXZpZXcgLnByb2R1Y3Qtc2hvcCxcbiAgICAucHJvZHVjdC1pbWctYm94LFxuICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwsXG4gICAgLnByb2R1Y3QtdmlldyAuYmxvY2stcmVsYXRlZCxcbiAgICAuYm94LWNvbGxhdGVyYWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXZpZXcgLnJhdGluZ3Mge1xuICAgIC5yYXRpbmctbGlua3Mge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4jcHJvZHVjdC1hdHRyaWJ1dGUtc3BlY3MtdGFibGUge1xuICAgIG1heC13aWR0aDogJG1heC1zdGQtZm9ybWF0dGVkLXdpZHRoO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLXRhYmxlLWJvcmRlcjtcblxuICAgIHRoIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtdGFibGUtYm9yZGVyO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ2F0YWxvZyAtIEdyb3VwZWQgUHJvZHVjdCBMaXN0XG4gKi9cblxuLmdyb3VwZWQtaXRlbXMtdGFibGUtd3JhcHBlciB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJGMtdGFibGUtYm9yZGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICB9XG59XG5cbi5ncm91cGVkLWl0ZW1zLXRhYmxlIHtcbiAgICAubmFtZS13cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgfVxuXG4gICAgLnF0eS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnF0eS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuXG4gICAgdGQge1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmljZS1ib3h7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogQ2F0YWxvZyAtIFByb2R1Y3QgT3B0aW9uc1xuICovXG5cbi5wcm9kdWN0LW9wdGlvbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDE1cHg7XG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXI7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIC5sYXN0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgID4gYSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICBAaW5jbHVkZSBwYXJhZ3JhcGgtYmxvY2stdGl0bGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5wb3B1cC1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDQyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuICAgIC5wb3B1cC1zaXplLWd1aWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDQzO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAuY2xvc2Vwb3B1cCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UtaWNvbi5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAjc2l6ZS1ndWlkZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgei1pbmRleDogMTA0NTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zaXplLWd1aWRlLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuc2l6ZWd1aWRlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgfVxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIC5maXJzdC1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjVmNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBwLnJlcXVpcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIC5yZXF1aXJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1vcHRpb25zIGR0IHtcbiAgICBtYXJnaW46ICRnYXAgMCAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkdDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAucXR5LWhvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGdhcCAwIDAgMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAucXR5LWhvbGRlciAucXR5IHtcbiAgICB3aWR0aDogM2VtO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktaG9sZGVyIGxhYmVsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIC5xdHktZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDAgMnB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTBweCAwO1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXItbGlnaHQ7XG4gICAgLmlucHV0LWJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBzcGFuLnNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XG4gICAgICAgICAgICBzcGFuLnNlbGVjdGlvbiB7XG4gICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vdG9wOiAwcHg7XG4gICAgICAgIC8vbGVmdDogMTgwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxufVxuXG4uc2VsZWN0Mi1yZXN1bHRzIHtcbiAgICB1bCBsaSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgZGwubGFzdCBkZC5sYXN0IHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtdGV4dCB7XG4gICAgd2lkdGg6IDk4JTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAuaW5wdXQtYm94IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCBpbnB1dC5kYXRldGltZS1waWNrZXIge1xuICAgIHdpZHRoOiAxNTBweDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBkZCAudGltZS1waWNrZXIge1xuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHRleHRhcmVhIHtcbiAgICB3aWR0aDogOTglO1xuICAgIGhlaWdodDogOGVtO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIGRkIHNlbGVjdCB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyB1bC5vcHRpb25zLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IC5yYWRpbyxcbi5wcm9kdWN0LW9wdGlvbnMgdWwub3B0aW9ucy1saXN0IC5jaGVja2JveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zIHVsLm9wdGlvbnMtbGlzdCBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucyBwLm5vdGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXI7XG4gICAgLy9ib3JkZXItdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByb2R1Y3QtcHJpY2luZyxcbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgJGdhcDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogMDtcbiAgICBjb2xvcjogJGMtdGV4dDtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcCAvIDI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXI7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMgbGkge1xuICAgIGJhY2tncm91bmQ6IDA7XG4gICAgcGFkZGluZzogMnB4IDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC50aWVyLXByaWNlcyAucHJpY2UsXG4ucHJvZHVjdC1vcHRpb25zLWJvdHRvbSAudGllci1wcmljZXMgLmJlbmVmaXQge1xuICAgIGNvbG9yOiAkYy10ZXh0O1xufVxuXG4vKiBcImRpc3BsYXk6IG5vbmVcIiBzaG91bGQgYmUgcmVtb3ZlZCBpZiBwcm9kdWN0cyBvbiBzaXRlIGhhdmUgYSBsb25nIGxpc3Qgb2YgcHJvZHVjdCBvcHRpb25zIGFuZCB0aG9zZSBwcm9kdWN0IG9wdGlvbnMgKi9cbi8qICBhZmZlY3QgdGhlIHByaWNlIHNvIHRoYXQgdGhlIGN1c3RvbWVyIGNhbiBzZWUgdGhlIHVwZGF0ZWQgcHJpY2UgY2xvc2UgdG8gdGhlIFwiQWRkIHRvIENhcnRcIiBidXR0b24gKi9cbi5wcm9kdWN0LW9wdGlvbnMtYm90dG9tIC5wcmljZS1ib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwICRnYXA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLWJveCAucHJpY2UtYXMtY29uZmlndXJlZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3Qtb3B0aW9ucy1ib3R0b20gLnByaWNlLXRheCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFJlbGF0ZWQgUHJvZHVjdHNcbiAqL1xuXG4vKiBCbG9jazogUmVsYXRlZCAqL1xuXG4uYmxvY2stcmVsYXRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIEBpbmNsdWRlIHBhZ2UtZnVsbC13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAxMyU7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuY2hlY2tib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIC5wcmljZS1ib3gge1xuICAgICAgICBtYXJnaW46IDJweCAwIDNweDtcblxuICAgICAgICBhLFxuICAgICAgICBwLFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5saW5rLXdpc2hsaXN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgIC5taW5pLXByb2R1Y3RzLWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAvL2p1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjguNSU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByaWNlLWJveCAucmVndWxhci1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS44MnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZWd1bGFyLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogVXBzZWxsIFByb2R1Y3RzXG4gKi9cblxuLmJveC11cC1zZWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmctbGFyZ2U7XG5cbiAgICAucmF0aW5ncyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UpIHtcbiAgICAjc2l6ZS1ndWlkZSB7XG4gICAgICAgIHdpZHRoOiA5MHZ3O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIC5zaXplZ3VpZGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgI3NpemUtZ3VpZGUge1xuICAgICAgICB3aWR0aDogOTB2dztcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAuc2l6ZWd1aWRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAmLnByb2R1Y3QtY3VzdG9tIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAuaW5mby1ibG9jayB7XG4gICAgICAgIC8vICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLy8gICAgPiBpbWcge1xuICAgICAgICAvLyAgICAgICAgbWF4LXdpZHRoOiAxNDAlO1xuICAgICAgICAvLyAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAvLyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgIC8vICAgICAgICB0b3A6IDA7XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIC8vICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAvLyAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIC8vICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAvLyAgICAgICAgLnRleHQtYmxvY2sge1xuICAgICAgICAvLyAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIC8vICAgICAgICAgICAgLnRpdGxlLCAuY29udGVudCB7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLy8gICAgICAgICAgICB9XG4gICAgICAgIC8vICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmluZm8tYmxvY2sge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIC50ZXh0LWJsb2NrIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlLCAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFkZC10by1jYXJ0LWJ1dHRvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvZG90dG8gcGVyc29uYWxpenphdG9cbiAqL1xuXG4ucHJvZHVjdC1jdXN0b20ge1xuXG4gICAgLnN0aWNreS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICAvL21hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjB2dztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAmLmFycm93LW5leHQge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC8vSW5zdGVhZCBvZiB0aGUgbGluZSBiZWxvdyB5b3UgY291bGQgdXNlIEBpbmNsdWRlIHRyYW5zZm9ybSgkc2NhbGUsICRyb3RhdGUsICR0cmFuc3gsICR0cmFuc3ksICRza2V3eCwgJHNrZXd5LCAkb3JpZ2lueCwgJG9yaWdpbnkpXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmFzaWMtaW5mbyB7XG4gICAgICAgICAgICB3aWR0aDogMjB2dztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC5zaG9ydC1kZXNjcmlwdGlvbiAuc3RkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJpY2UtaW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNob3J0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNoYXJlLXNvY2lhbC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDM0cHg7XG4gICAgICAgICAgICAgICAgLnNoYXJlLXNvY2lhbC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYSBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1jb2xsYXRlcmFsLWluZm8tY29udGFpbmVye1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICAgICAgICAgIC50b2dnbGUtdGFicyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgbGkgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2xsYXRlcmFsLXRhYnMge1xuICAgICAgICAgICAgICAgIC50YWIge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgLnBvcHVwLW92ZXJsYXkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwNDI7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnBvcHVwLXNpemUtZ3VpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwNDM7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuY2xvc2Vwb3B1cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLWljb24uc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAjc2l6ZS1ndWlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTA0NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYXJhZ3JhcGgtYmxvY2stdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5zaXplLWd1aWRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnNpemVndWlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlyc3QtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY1ZjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNoaXBwaW5nLWxpbmsge1xuICAgICAgICAgICAgd2lkdGg6IDMwdnc7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi40O1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhc2ljLXByb2R1Y3QtaW5mby1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjYlO1xuXG4gICAgICAgICNpbWFnZS1tYWluIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY29sbGF0ZXJhbC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzQlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIC5jb25maWd1cmF0aW9uLXN0ZXAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgICAgICAgICAgJi52aWRlbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDQ1JTtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDEwJTtcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbmZvLWJsb2NrIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMCU7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNSU7XG4gICAgICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay1pdGFsaWMtdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmlkZW8ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDclO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmluZm8tYmxvY2sge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTglO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5MHB4XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSArIDEpIHtcbiAgICAuYmxvY2stcmVsYXRlZCAuYmxvY2stY29udGVudCAubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0My41JTtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC12aWV3IC5pbmZvLWJsb2NrIC50ZXh0LWNvbnRhaW5lciAudGV4dC1ibG9jayAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgIC5wcm9kdWN0LXZpZXcgLmluZm8tYmxvY2sgLnRleHQtY29udGFpbmVyIC50ZXh0LWJsb2NrIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWN1c3RvbSB7XG4gICAgICAgIC5wcm9kdWN0LXNob3Age1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAuYmFzaWMtcHJvZHVjdC1pbmZvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYmFzaWMtaW5mbyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNoYXJlLXNvY2lhbC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3QtY29sbGF0ZXJhbC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwtaW5mby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvbGxhdGVyYWwtdGFicyB7XG4gICAgICAgICAgICAgICAgICAgIC50YWItY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAjc2l6ZS1ndWlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwtaW5mby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC1jb2xsYXRlcmFsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zaGlwcGluZy1saW5rIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIC5jb25maWd1cmF0aW9uLXN0ZXAge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWctY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnZpZGVvIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuaW5mby1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRleHQtYmxvY2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICYuYXJyb3ctbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgLy9JbnN0ZWFkIG9mIHRoZSBsaW5lIGJlbG93IHlvdSBjb3VsZCB1c2UgQGluY2x1ZGUgdHJhbnNmb3JtKCRzY2FsZSwgJHJvdGF0ZSwgJHRyYW5zeCwgJHRyYW5zeSwgJHNrZXd4LCAkc2tld3ksICRvcmlnaW54LCAkb3JpZ2lueSlcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5iYWNrLXRvLWxpbmsge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuYmFzaWMtcHJvZHVjdC1pbmZvICNpbWFnZS1tYWluIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtY29sbGF0ZXJhbCAudG9nZ2xlLXRhYnMge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtdmlldyAucHJvZHVjdC1zaG9wIC5wcm9kdWN0LWNvbGxhdGVyYWwgLnRvZ2dsZS10YWJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLWxhcmdlICsgMSkge1xuICAgIC8vLnByb2R1Y3QtY3VzdG9tIHtcbiAgICAvLyAgICAuYmFzaWMtcHJvZHVjdC1pbmZvIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgIC8vICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vICAgIH1cbiAgICAvL31cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUmVzcG9uc2l2ZVxuICovXG5cbi5tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLm5vLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5wcm9kdWN0LWltZy1ib3gge1xuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC5udW0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICYuYXJyb3ctbmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2U6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmJhY2stdG8tbGluayB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1zaG9wIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIC5oMSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC1vcHRpb25zLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcm9kdWN0LWNvbGxhdGVyYWwge1xuICAgICAgICAgICAgICAgIC50b2dnbGUtdGFicyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkZC5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWRkLXRvLWNhcnQtYnV0dG9ucyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1lc3NlbnRpYWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2F0YWxvZy1wcm9kdWN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1ibG9jayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAmLmltZy1zbngge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhZ2UtZnVsbC13aWR0aDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmltZy1keCB7XG4gICAgICAgICAgICAgICAgLmltZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLXJlbGF0ZWQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLm1pbmktcHJvZHVjdHMtbGlzdCAuaXRlbSAucHJvZHVjdCAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnZpZGVvLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5ibG9jay1yZWxhdGVkIC5ibG9jay1jb250ZW50IC5taW5pLXByb2R1Y3RzLWxpc3Qge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0Ni41JTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gU2V0IGAkaW5saW5lLWJsb2NrLWFsaWdubWVudGAgdG8gYG5vbmVgIG9yIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGUgb3V0cHV0XG4vLyBvZiBhIHZlcnRpY2FsLWFsaWduIHByb3BlcnR5IGluIHRoZSBpbmxpbmUtYmxvY2sgbWl4aW4uXG4vLyBPciBzZXQgaXQgdG8gYSBsZWdhbCB2YWx1ZSBmb3IgYHZlcnRpY2FsLWFsaWduYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG4kaW5saW5lLWJsb2NrLWFsaWdubWVudDogbWlkZGxlICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBhIGNyb3NzLWJyb3dzZXIgbWV0aG9kIHRvIGltcGxlbWVudCBgZGlzcGxheTogaW5saW5lLWJsb2NrO2BcbkBtaXhpbiBpbmxpbmUtYmxvY2soJGFsaWdubWVudDogJGlubGluZS1ibG9jay1hbGlnbm1lbnQpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItbW96aWxsYSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIH1cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaWYgJGFsaWdubWVudCBhbmQgJGFsaWdubWVudCAhPSBub25lIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJGFsaWdubWVudDtcbiAgfVxuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgKnZlcnRpY2FsLWFsaWduOiBhdXRvO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDYXRhbG9nIC0gTVNSUCBNQVAgUG9wdXBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXJ0LW1zcnAtdG90YWxzIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMTBweCAxMHB4IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWFwLWNhcnQtc2lkZWJhci10b3RhbCB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAycHggNXB4O1xufVxuXG4ubWFwLXBvcHVwIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogNDUwcHg7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuICAgICAgICAmLm1hcC1wb3B1cC1yaWdodCB7XG4gICAgICAgICAgICBsZWZ0OiAkZ2FwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1hcC1wb3B1cC1sZWZ0IHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJpZ2h0OiAkZ2FwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLWNoZWNrb3V0IHtcbiAgICAgICAgcGFkZGluZzogJGdhcCAwO1xuXG4gICAgICAgIGZvcm06YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRpdGlvbmFsLWFkZHRvY2FydC1ib3gge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIxMHB4OyAvLyBmaXggZm9yIGEgd2ViLWtpdCBib3gtbW9kZWwgZGlzcGxheSBidWdcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYm1sX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAuYnV0dG9uLFxuICAgICAgICAgICAgLmFkZGl0aW9uYWwtYWRkdG9jYXJ0LWJveCxcbiAgICAgICAgICAgIC5wYXlwYWwtbG9nbyBhLFxuICAgICAgICAgICAgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWRkaXRpb25hbC1hZGR0b2NhcnQtYm94IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBheXBhbC1sb2dvIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC1wb3B1cC1wcmljZSB7XG4gICAgICAgIHBhZGRpbmc6ICRnYXAgMDtcbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCxcbiAgICAgICAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtcG9wdXAtdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAubWFwLXBvcHVwLXRleHQsXG4gICAgLm1hcC1wb3B1cC1vbmx5LXRleHQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGFsb2cgLSBNU1JQIFByb2R1Y3QgTGlzdGluZ1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByaWNlLWJveCAubWFwLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2F0YWxvZyAtIENvbXBhcmVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5ibG9jay1jb21wYXJlIC5wcm9kdWN0LW5hbWU6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY29tcGFyZS10YWJsZSAucHJvZHVjdC1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY29tcGFyZS10YWJsZSB7XG4gICAgLnByb2R1Y3Qtc2hvcC1yb3cge1xuICAgICAgICAmLnRvcCB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBMYXlvdXRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2hlY2tvdXQtY2FydC1pbmRleCB7XG4gICAgLmNhcnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAuY2FydC10YWJsZSB7XG4gICAgICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gICAgICAgIC5jcm9zc3NlbGwge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1zcGFjaW5nLWxhcmdlO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJ0LWZvcm1zIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnQgLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmNhcnQtdG90YWxzLFxuLmNhcnQtZm9ybXMgLmRpc2NvdW50LFxuLmNhcnQtZm9ybXMgLmdpZnRjYXJkLFxuLmNhcnQtZm9ybXMgLnNoaXBwaW5nIHtcbiAgICAvL3BhZGRpbmc6ICRib3gtc3BhY2luZztcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xuICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbn1cblxuLmNhcnQtdGFibGUsXG4uY2FydC10b3RhbHMsXG4uY2FydC1mb3JtcyAuZGlzY291bnQsXG4uY2FydC1mb3JtcyAuZ2lmdGNhcmQsXG4uY2FydC1mb3JtcyAuc2hpcHBpbmcge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZy1sYXJnZTtcbn1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXgge1xuICAgICNwb3N0Y29kZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1peGluIG9uZUNvbHVtbkNhcnRJdGVtcyB7XG4gICAgLmNhcnQtdGFibGUge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhcnQtZm9ybXMge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gICAgLmNyb3Nzc2VsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5jYXJ0LWZvcm1zLFxuICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAgIC5jcm9zc3NlbGwge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgIH1cblxuICAgIC5jcm9zc3NlbGwge1xuICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi5kaXNwbGF5LWJvdGgtcHJpY2VzIHtcbiAgICBAaW5jbHVkZSBvbmVDb2x1bW5DYXJ0SXRlbXM7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmRpc3BsYXktc2luZ2xlLXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgb25lQ29sdW1uQ2FydEl0ZW1zO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1OTlweCkge1xuICAgIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGlzcGxheS1ib3RoLXByaWNlcyxcbiAgICAuZGlzcGxheS1zaW5nbGUtcHJpY2Uge1xuICAgICAgICAuY2FydC1mb3JtcyxcbiAgICAgICAgLmNhcnQtdG90YWxzLXdyYXBwZXIsXG4gICAgICAgIC5jcm9zc3NlbGwge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpc3BsYXktc2luZ2xlLXByaWNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBDYXJ0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2FydCAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG4gICAgaDEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtdHlwZXMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAvKiBXZSBhbHdheXMgd2FudCB0aGlzIHNoaXBwaW5nIG1ldGhvZCB0byBkaXNwbGF5IG9uIGl0cyBvd24gbGluZSAqL1xuICAgIC5tZXRob2QtY2hlY2tvdXQtY2FydC1tZXRob2RzLW11bHRpc2hpcHBpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnRvcCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibWxfYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGF5cGFsLWxvZ28gLnBheXBhbC1vciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJvdHRvbSxcbiAgICAmLm1pbmljYXJ0IHtcbiAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCA3NDFweCkge1xuICAgIC5jaGVja291dC10eXBlcy5ib3R0b20ge1xuICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnQtdG90YWxzIC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgQGluY2x1ZGUgYWN0aW9uLXByaW1hcnk7XG4gICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDc0MHB4KSB7XG4gICAgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYuYm90dG9tLFxuICAgICAgICAmLm1pbmljYXJ0IHtcbiAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmJ0bi1jaGVja291dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmNhcnQtdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgdGgsXG4gICAgdGQsXG4gICAgdGJvZHkgdGQge1xuICAgICAgICAvLyBBZGRpbmcgdGJvZHkgZm9yIGV4dHJhIHNlbGVjdG9yIHdlaWdodFxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRjLWgyO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgdGhlYWQgdGgsXG4gICAgdGJvZHkgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC1pbmZvLFxuICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jYXJ0LWluZm8ge1xuICAgICAgICBoMi5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13ZWlnaHQtcmVndWxhcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgfVxuXG4gICAgdGZvb3Qge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIgPiB0ZDphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ub3Ige1xuICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtaW1hZ2UgLmNhcnQtbGlua3MsXG4gICAgLnByb2R1Y3QtY2FydC1pbmZvIC5idG4tcmVtb3ZlLFxuICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jYXJ0LWltYWdlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5jYXJ0LWVkaXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtc2t1IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxMnB4O1xuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1lbXB0eSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcnQtdG90YWwsXG4gICAgLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FydC10YXgtdG90YWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKGxlZnQsIDZweCwgJGMtdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgcmlnaHQ6IC0xMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXJ0LXRheC10b3RhbC1leHBhbmRlZCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmlhbmdsZShkb3duLCA2cHgsICRjLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtbGlua3MgPiBsaSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgbWluLXdpZHRoOiA2NXB4O1xuICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAmLmJ0bi1yZW1vdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zIHtcbiAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLnF0eSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjLWlucHV0LWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDMuMmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkgdGQge1xuICAgICAgICAuaXRlbS1vcHRpb25zIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkdCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXdlaWdodC1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLmNhcnQtdGFibGUge1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1hY3Rpb25zID4gbGkge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNjk5cHgpIHtcbiAgICAuZGlzcGxheS1ib3RoLXByaWNlcyB7XG4gICAgICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgICAgIHRoZWFkIHRoLmNhcnQtdG90YWwtaGVhZCxcbiAgICAgICAgICAgIHRkLnByb2R1Y3QtY2FydC10b3RhbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1OTlweCkge1xuXG4gICAgLmNhcnQtdGFibGUge1xuICAgICAgICBjb2xncm91cCwgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB0ciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAvL2NvbnRlbnQ6IGF0dHIoZGF0YS1yd2QtbGFiZWwpIFwiOlwiO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnByb2R1Y3QtY2FydC1wcmljZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWxpbmtzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC10YXgtaW5mbyB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgYS5jYXJ0LWVkaXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtaW5mbyxcbiAgICAgICAgdGRbZGF0YS1yd2QtbGFiZWxdIHtcbiAgICAgICAgICAgIC8vZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMsXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtcHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtcmVtb3ZlLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LXRvdGFsLFxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmNhcnQtbGlua3Mge1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1pbWFnZSAuY2FydC1saW5rcyxcbiAgICAgICAgLnByb2R1Y3QtY2FydC1pbmZvIC5idG4tcmVtb3ZlIHtcbiAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlzIGVsZW1lbnQgd2lsbCBiZSBkaXNwbGF5ZWQgdmlhIEpTIG9uY2UgdGhlIHJlbGF0ZWQgaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY2FydC1pbmZvIHtcblxuICAgICAgICAgICAgLmNhcnQtbGlua3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogLTRweCAwcHggMnB4IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtY2FydC1za3Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAucXR5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UsXG4gICAgICAgIC5wcm9kdWN0LWNhcnQtcHJpY2U6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zYW5zO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtZm9vdGVyLWFjdGlvbnMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICNlbXB0eV9jYXJ0X2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLWNvbnRpbnVlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi11cGRhdGUsXG4gICAgICAgICAgICBzcGFuLm9yIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzcGxheS1ib3RoLXByaWNlcyB7XG4gICAgICAgIC5jYXJ0LXRhYmxlIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAmW2RhdGEtcndkLXRheC1sYWJlbF0ge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcndkLXRheC1sYWJlbCkgXCI6XCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gRXN0aW1hdGUgU2hpcHBpbmcgYW5kIFRheFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNoaXBwaW5nIHtcblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyO1xuICAgIH1cblxuICAgIHNlbGVjdC52YWxpZGF0aW9uLWZhaWxlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtZGFuZ2VyO1xuICAgIH1cblxuICAgIC5zaGlwcGluZy1kZXNjIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDIlIDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaGlwcGluZy1jb3VudHJ5IHtcbiAgICAgICAgICAgIHdpZHRoOiAzNyU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hpcHBpbmctcmVnaW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MSU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hpcHBpbmctcG9zdGNvZGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwLW1ldGhvZHMge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvLXNoaXBwaW5nLW1ldGhvZC1mb3JtIC5idXR0b25zLXNldCAuYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAjY28tc2hpcHBpbmctbWV0aG9kLWZvcm0gLnNwLW1ldGhvZHMgZGQgbGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1tb2R1bGUtYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRjLW1vZHVsZS1iYWNrZ3JvdW5kLCAxMCUpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgLnNoaXBwaW5nIC5zaGlwcGluZy1mb3JtIC5mb3JtLWxpc3QgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVG90YWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNhcnQgLmNhcnQtdG90YWxzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMHB4O1xuICAgICAgICB9XG4gICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbiAgICAgICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcgc3BhbixcbiAgICAgICAgICAgIHNwYW4ucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNjAwcHgpIHtcblxuICAgIC5jYXJ0LXRvdGFscyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG5cbiAgICAuY2FydCAuY2FydC10b3RhbHMgdGFibGUgdGZvb3QgdGQge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEaXNjb3VudCBjb2RlcyBhbmQgZ2lmdCBjYXJkc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kaXNjb3VudC1mb3JtOmFmdGVyLFxuI2dpZnRjYXJkLWZvcm06YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4jZGlzY291bnQtY291cG9uLWZvcm0sXG4uY2FydCAuZ2lmdGNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDEwNXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgICAvL2Rpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC10ZXh0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBtYXJnaW46IDBweCAxMHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgIH1cbn1cblxuLmNhcnQgLmdpZnRjYXJkIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG59XG5cbi5jYXJ0IC5naWZ0Y2FyZCAuY2hlY2stZ2Mtc3RhdHVzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICA+IHNwYW4gPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gQ2FydCBDcm9zcyBzZWxsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY3Jvc3NzZWxsIHtcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgIH1cblxuICAgIC5pdGVtIGEucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi8qIENoYW5nZSB0aGUgbGF5b3V0IHRvIDIgY29sdW1ucyBhdCBhIGJyZWFrcG9pbnQgdGhhdCBpcyBoaWdoZXIgdGhhbiBhIDMgY29sdW1ucyBsYXlvdXQgd291bGQgbm9ybWFsbHkgYnJlYWsgKi9cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmNyb3Nzc2VsbCB7XG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZCgzbiksXG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGkge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMjEwIC8gNDQwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgyMCAvIDQ0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdHMtZ3JpZCA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3RzLWdyaWQgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogVW5kbyB0aHJlZS1jb2x1bW4gY29uZmlnICovXG4gICAgICAgIC5wcm9kdWN0cy1ncmlkID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuY2FydCB7XG4gICAgICAgIC5jYXJ0LXRvdGFscy13cmFwcGVyLFxuICAgICAgICAuY3Jvc3NzZWxsLFxuICAgICAgICAuY2FydC1mb3JtcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuY2FydC10b3RhbHMtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAuY2FydC10b3RhbHMge1xuICAgICAgICAgICAgICAgICNzaG9wcGluZy1jYXJ0LXRvdGFscy10YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIC5hLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1jYXJ0LWFjdGlvbnMge1xuICAgICAgICAgICAgLmNhcnQtbGlua3Mge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgLmNhcnQtdGFibGUge1xuICAgICAgICAuY2FydC10YXgtdG90YWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC05cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNhcnQtdGF4LXRvdGFsLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCB7XG4gICAgICAgIC5jYXJ0IHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWNhcnQtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgLmNhcnQtbGlua3Mge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5idG4tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnJlbW92ZS1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgI2Rpc2NvdW50LWNvdXBvbi1mb3JtIHtcbiAgICAgICAgLmlucHV0LXRleHQge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsIDMyMHB4KSB7XG4gICAgLmNyb3Nzc2VsbCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDBweCA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1kZXRhaWxzIC5jcm9zc3NlbGwtYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gT25lIFBhZ2VcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtcmlnaHQsXG4uY2hlY2tvdXQtb25lcGFnZS1pbmRleCAuY29sLWxlZnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dC1vbmVwYWdlLWluZGV4IC5jb2wtbWFpbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLWxhcmdlKzEpIHtcbiAgICAuY2hlY2tvdXQtb25lcGFnZS1pbmRleCB7XG4gICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDY2MHB4Lzk2MHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXJpZ2h0LFxuICAgICAgICAuY29sLWxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMzAwcHgvOTYwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLXJpZ2h0IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9wYyB7XG4gICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6ICgyMzBweCArIDEzNXB4KTtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNlY3Rpb24gU3R5bGluZyAtIERlZmF1bHRcbiAqL1xuXG4ub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtZGl2aWRlci1ib3JkZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLm9wYyAuc2VjdGlvbi5hbGxvdzpub3QoLmFjdGl2ZSkgLnN0ZXAtdGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVXNpbmcgLm5vLXRvdWNoIHNpbmNlIHRvdWNoIGRldmljZXMgZW11bGF0ZSBob3ZlciwgdGhlcmVieSBtYWtpbmcgc3RlcHMgbG9vayBhY3RpdmUgdGhhdCBhcmUgbm90ICovXG4ubm8tdG91Y2ggLm9wYyAuc2VjdGlvbi5hbGxvdzpub3QoLmFjdGl2ZSkgLnN0ZXAtdGl0bGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xufVxuXG4ub3BjIC5zZWN0aW9uLmFjdGl2ZSAuc3RlcC10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLWRpdmlkZXItYm9yZGVyO1xufVxuXG4ub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGMgLnNlY3Rpb24uYWxsb3c6bm90KC5hY3RpdmUpIC5zdGVwLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMHB4IDEwcHg7XG59XG5cbi5uby10b3VjaCAub3BjIC5zZWN0aW9uIC5zdGVwLXRpdGxlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm9wYyAuc2VjdGlvbiAuc3RlcC10aXRsZSAubnVtYmVyLFxuLm9wYyAuc2VjdGlvbi5hbGxvdy5hY3RpdmUgLnN0ZXAtdGl0bGUgLm51bWJlcixcbi5uby10b3VjaCAub3BjIC5zZWN0aW9uLmFsbG93OmhvdmVyIC5zdGVwLXRpdGxlIC5udW1iZXIge1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYWN0aW9uO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IC0xM3B4O1xufVxuXG4ub3BjIC5zZWN0aW9uLmFsbG93IC5zdGVwLXRpdGxlIC5udW1iZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGMtYWN0aW9uLCA1MCUpO1xufVxuXG4ub3BjIC5zZWN0aW9uLmFsbG93IC5zdGVwLXRpdGxlIGgyIHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xufVxuXG4ub3BjIC5zZWN0aW9uLmFsbG93IC5zdGVwLXRpdGxlOmhvdmVyIGgyLFxuLm9wYyAuc2VjdGlvbi5hY3RpdmUgLnN0ZXAtdGl0bGUgaDIge1xuICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAtdGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDBweCA0cHggMHB4IDQ1cHg7XG59XG5cbi5vcGMgLnNlY3Rpb24gLnN0ZXAge1xuICAgIHBhZGRpbmc6ICRib3gtc3BhY2luZy1sYXJnZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgfVxufVxuXG4ub3BjIHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm9wYyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm9wYyAuYnV0dG9ucy1zZXQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBidXR0b24uYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIHAucmVxdWlyZWQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5iYWNrLWxpbmsge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAub3BjLFxuICAgIC5wYXlwYWwtZXhwcmVzcy1yZXZpZXcge1xuICAgICAgICAuYnV0dG9ucy1zZXQgLmJ1dHRvbiArIC5idXR0b25zLXNldCAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3BjICNvcGMtbG9naW4ge1xuICAgIC5zdGVwIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgIH1cblxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAub3BjICNvcGMtbG9naW4gLmRlc2NyaXB0aW9uLFxuICAgIC5vcGMgI29wYy1sb2dpbiBwLnJlcXVpcmVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNvcGMtcGF5bWVudCAubm90ZSB7XG4gICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBUaGlzIHNlY3Rpb24gaGlkZXMgZXZlcnl0aGluZyBidXQgdGhlIFwiQ2hlY2tvdXQgTWV0aG9kXCIgc3RlcCBvZiB0aGUgY2hlY2tvdXQgcHJvY2VzcyBhbmQgZmFkZXMgaW4gdGhlIGNvbnRlbnRcbiAqIG9uY2UgdGhlIGN1c3RvbWVyIHByb2dyZXNzZXMgdG8gdGhlIG5leHQgc3RlcC4gVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyB0byBzaW1wbGlmeSB3aGF0IHRoZSBjdXN0b21lciBoYXMgdG8gZm9jdXMgb24uXG4gKiBJdCBpcyBsaW1pdGVkIHRvIGxhcmdlciB2aWV3cG9ydHMgc2luY2Ugc21hbGxlciBkZXZpY2VzIGFyZSBpbmhlcmVudGx5IGdvaW5nIHRvIGJlIGZvY3VzZWQgc29sZWx5IG9uIHRoZVxuICogXCJDaGVja291dCBNZXRob2RcIiBzdGVwLlxuICovXG5cbi5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbjpub3QoI29wYy1sb2dpbikgLnN0ZXAtdGl0bGUsXG4ub3BjLWJsb2NrLXByb2dyZXNzLXN0ZXAtbG9naW4ge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG9wYWNpdHksIDMwMG1zKTtcbn1cblxuLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uI29wYy1sb2dpbiAuc3RlcC10aXRsZSAubnVtYmVyIHtcbiAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbih3aWR0aCwgODBtcyk7XG59XG5cbi5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbiNvcGMtbG9naW4gLnN0ZXAtdGl0bGUgaDIge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKG1hcmdpbi1sZWZ0LCA4MG1zKTtcbn1cblxuLyogV2hlbiBhIHVzZXIgcHJvZ3Jlc3NlcyBmcm9tIHRoZSBcIkNoZWNrb3V0IE1ldGhvZFwiIHRvIFwiQmlsbGluZyBJbmZvcm1hdGlvblwiIGZvciB0aGUgZmlyc3QgdGltZSwgdGhlICAgICAgICAgICAgICAqL1xuLyogXCJvcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpblwiIGNsYXNzIGdldHMgYWRkZWQgdG8gdGhlIGJvZHkuIEFsc28sIHRoZSAub3BjIGVsZW1lbnQgd2lsbCBvbmx5IGhhdmUgdGhlICAgICAgICAgKi9cbi8qIFwib3BjLWZpcnN0c3RlcC1sb2dpblwiIGNsYXNzIGlmIHRoZSBmaXJzdCBzdGVwIG9mIHRoZSBjaGVja291dCBpcyB0aGUgXCJDaGVja291dCBNZXRob2RcIiAoZWcsIG5vdCB3aGVuIGxvZ2dlZCBpbikgKi9cbmJvZHk6bm90KC5vcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpbikgLm9wYy5vcGMtZmlyc3RzdGVwLWxvZ2luIC5zZWN0aW9uOm5vdCgjb3BjLWxvZ2luKSAuc3RlcC10aXRsZSxcbmJvZHk6bm90KC5vcGMtaGFzLXByb2dyZXNzZWQtZnJvbS1sb2dpbikgLm9wYy1ibG9jay1wcm9ncmVzcy1zdGVwLWxvZ2luIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG5ib2R5Om5vdCgub3BjLWhhcy1wcm9ncmVzc2VkLWZyb20tbG9naW4pIC5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbiNvcGMtbG9naW4gLnN0ZXAtdGl0bGUgLm51bWJlciB7XG4gICAgd2lkdGg6IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5Om5vdCgub3BjLWhhcy1wcm9ncmVzc2VkLWZyb20tbG9naW4pIC5vcGMub3BjLWZpcnN0c3RlcC1sb2dpbiAuc2VjdGlvbiNvcGMtbG9naW4gLnN0ZXAtdGl0bGUgaDIge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIFNoaXBwaW5nIGFuZCBQYXltZW50IG1ldGhvZHNcbiAqL1xuXG4uc3AtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuXG4gICAgZHQge1xuICAgICAgICBtYXJnaW46IDEzcHggMCA1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGRkIGxpIHtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG4gICAgbGFiZWwgaW1nIHsgLy8gVGhpcyBhcHBsaWVzIHRvIHRoZSBQYXlwYWwgRXhwcmVzcyBsYWJlbFxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgbGFiZWwgYSB7IC8vIFRoaXMgYXBwbGllcyB0byB0aGUgUGF5cGFsIEV4cHJlc3MgbGFiZWxcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAucHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmZvcm0tbGlzdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2VsZWN0Lm1vbnRoIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIHNlbGVjdC55ZWFyIHtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgfVxuICAgIGlucHV0LmN2diB7XG4gICAgICAgIHdpZHRoOiA0ZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgI2FkdmljZS12YWxpZGF0ZS1jYy1leHAtY2NzYXZlX2V4cGlyYXRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgIH1cblxuICAgIC5jaGVja21vLWxpc3Qge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTY1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTM1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVsZWFzZS1hbW91bnRzIHtcbiAgICAgICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIH1cbiAgICAucmVsZWFzZS1hbW91bnRzIGJ1dHRvbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDVweCAxMHB4IDAgMDtcbiAgICB9XG59XG5cbi8qIE9uZSBQYWdlIENoZWNrb3V0ICovXG4uYmxvY2stcHJvZ3Jlc3Mge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgfVxuICAgIGR0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgQGluY2x1ZGUgaDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICRjLXRleHQtZ3JheTtcbiAgICB9XG5cbiAgICBkdC5jb21wbGV0ZSB7XG4gICAgICAgIGNvbG9yOiAkYy1oNDtcbiAgICB9XG4gICAgZGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BheW1lbnQtcHJvZ3Jlc3Mtb3BjaGVja291dCAuc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgLnBheW1lbnQtaW5mbyB7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDNweCAwO1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi8qIHJldmlldyBzdGVwICovXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHtcbiAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2hlY2tvdXQtcmV2aWV3LXRhYmxlLXdyYXBwZXIge1xuICAgIGNsZWFyOiBib3RoOyAvLyBGaXggdGFibGUgY2xlYXJpbmcgaXNzdWUgaW4gRmlyZWZveFxufVxuXG4jcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAuYnRuLWNoZWNrb3V0IHtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB9XG4gICAgLnBsZWFzZS13YWl0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gICAgLmYtbGVmdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cbi8vIEhpZGUgYWxsIGJ1dCB0aGUgZmlyc3QgdHIgaW5zaWRlIG9mIHRoZWFkXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5saW5lYXJpemUtdGFibGUtbGFyZ2UuY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkIHRyOm50aC1jaGlsZCgxbisyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBIaWRlIGFsbCBidXQgdGhlIGZpcnN0IHRyIGluc2lkZSBvZiB0aGVhZFxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgLmxpbmVhcml6ZS10YWJsZS5jaGVja291dC1yZXZpZXctdGFibGUgdGhlYWQgdHI6bnRoLWNoaWxkKDFuKzIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIHNob3cvaGlkZSBcImNoYW5nZVwiIGxpbmsgZm9yIHByb2dyZXNzIHN0ZXAgZGVwZW5kIG9uIGNvbXBsZXRlIHN0YXR1c1xuICogc2hvdWxkIGJlIHBsYWNlZCBpbiAuY3NzIGZpbGUgKi9cbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgYSxcbi5vcGMtYmxvY2stcHJvZ3Jlc3MgZHQuY29tcGxldGUgLnNlcGFyYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4ub3BjLWJsb2NrLXByb2dyZXNzIGR0IGEsXG4ub3BjLWJsb2NrLXByb2dyZXNzIGR0IC5zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE9uIHNtYWxsIHNjcmVlbnMsIHRoZSBwcm9ncmVzcyByZXZpZXcgY29udGVudCB3aWxsIGJlIG1vdmVkIHRvIHRoZSByZXZpZXcgc3RlcCB2aWEgSlMuIFN0eWxlZCB2aWEgdGhpcyBDU1M6ICovXG4jY2hlY2tvdXQtc3RlcC1yZXZpZXcgLm9wYy1ibG9jay1wcm9ncmVzcyB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICAvLyBPdmVycmlkZSB0aGUgbm8tZGlzcGxheVxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYgPiBkbCA+IGRpdiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgICYgPiBkbCA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hhbmdlbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAjY2hlY2tvdXQtcmV2aWV3LXRhYmxlIHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuI2NoZWNrb3V0LXN0ZXAtcmV2aWV3IC5jZW50aW5lbCB7XG4gICAgJj4gcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgfVxufVxuXG4vKiBHaWZ0IG9wdGlvbnMgKi9cbi5naWZ0LW1lc3NhZ2VzLWZvcm0ge1xuICAgIC5pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi10b3A6ICR0cmltO1xuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2lmdC1tZXNzYWdlLWZvcm0ge1xuICAgIC5pbm5lci1ib3gge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJi5leHRyYS1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0LXdyYXBwaW5nLWZvcm0ge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naWZ0LXdyYXBwaW5nLWRlc2lnbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2UtYm94IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjLWRpdmlkZXItYm9yZGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWctYm94IHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicCgnbWF4LXdpZHRoJywgJGJwLW1lZGl1bSkge1xuICAgIC5naWZ0LW1lc3NhZ2UtZm9ybSB7XG5cbiAgICAgICAgLmdpZnRtZXNzYWdlLWFyZWF7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2lmdC1pdGVtIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWltZy1ib3gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG5cbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ1NTIFRyYW5zaXRpb25zXG4vLyBDdXJyZW50bHkgb25seSB3b3JrcyBpbiBXZWJraXQuXG4vL1xuLy8gKiBleHBlY3RlZCBpbiBDU1MzLCBGaXJlRm94IDMuNi83IGFuZCBPcGVyYSBQcmVzdG8gMi4zXG4vLyAqIFdlJ2xsIGJlIHByZXBhcmVkLlxuLy9cbi8vIEluY2x1ZGluZyB0aGlzIHN1Ym1vZHVsZSBzZXRzIGZvbGxvd2luZyBkZWZhdWx0cyBmb3IgdGhlIG1peGluczpcbi8vXG4vLyAgICAgJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IGFsbFxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gOiAxc1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gOiBmYWxzZVxuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXkgICAgOiBmYWxzZVxuLy9cbi8vIE92ZXJyaWRlIHRoZW0gaWYgeW91IGxpa2UuIFRpbWluZy1mdW5jdGlvbiBhbmQgZGVsYXkgYXJlIHNldCB0byBmYWxzZSBmb3IgYnJvd3NlciBkZWZhdWx0cyAoZWFzZSwgMHMpLlxuXG4kZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5OiBhbGwgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDFzICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheTogZmFsc2UgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXM6IHRyYW5zZm9ybSwgdHJhbnNmb3JtLW9yaWdpbiAhZGVmYXVsdDtcblxuLy8gT25lIG9yIG1vcmUgcHJvcGVydGllcyB0byB0cmFuc2l0aW9uXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIGFsc28gYWNjZXB0cyBcImFsbFwiIG9yIFwibm9uZVwiXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0eS0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkcHJvcGVydHktMiA6IGZhbHNlLFxuICAkcHJvcGVydHktMyA6IGZhbHNlLFxuICAkcHJvcGVydHktNCA6IGZhbHNlLFxuICAkcHJvcGVydHktNSA6IGZhbHNlLFxuICAkcHJvcGVydHktNiA6IGZhbHNlLFxuICAkcHJvcGVydHktNyA6IGZhbHNlLFxuICAkcHJvcGVydHktOCA6IGZhbHNlLFxuICAkcHJvcGVydHktOSA6IGZhbHNlLFxuICAkcHJvcGVydHktMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5LTEpID09IHN0cmluZyB7ICRwcm9wZXJ0eS0xOiB1bnF1b3RlKCRwcm9wZXJ0eS0xKTsgfVxuICAkcHJvcGVydGllczogY29tcGFjdCgkcHJvcGVydHktMSwgJHByb3BlcnR5LTIsICRwcm9wZXJ0eS0zLCAkcHJvcGVydHktNCwgJHByb3BlcnR5LTUsICRwcm9wZXJ0eS02LCAkcHJvcGVydHktNywgJHByb3BlcnR5LTgsICRwcm9wZXJ0eS05LCAkcHJvcGVydHktMTApO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydGllcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLW1veiwgICAgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1vLCAgICAgICRwcm9wZXJ0aWVzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHkgOiAkcHJvcGVydGllcztcbn1cblxuLy8gT25lIG9yIG1vcmUgZHVyYXRpb25zIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZHVyYXRpb25zIHdpbGwgYWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJGR1cmF0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRkdXJhdGlvbi0yIDogZmFsc2UsXG4gICRkdXJhdGlvbi0zIDogZmFsc2UsXG4gICRkdXJhdGlvbi00IDogZmFsc2UsXG4gICRkdXJhdGlvbi01IDogZmFsc2UsXG4gICRkdXJhdGlvbi02IDogZmFsc2UsXG4gICRkdXJhdGlvbi03IDogZmFsc2UsXG4gICRkdXJhdGlvbi04IDogZmFsc2UsXG4gICRkdXJhdGlvbi05IDogZmFsc2UsXG4gICRkdXJhdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZHVyYXRpb24tMSkgPT0gc3RyaW5nIHsgJGR1cmF0aW9uLTE6IHVucXVvdGUoJGR1cmF0aW9uLTEpOyB9XG4gICRkdXJhdGlvbnM6IGNvbXBhY3QoJGR1cmF0aW9uLTEsICRkdXJhdGlvbi0yLCAkZHVyYXRpb24tMywgJGR1cmF0aW9uLTQsICRkdXJhdGlvbi01LCAkZHVyYXRpb24tNiwgJGR1cmF0aW9uLTcsICRkdXJhdGlvbi04LCAkZHVyYXRpb24tOSwgJGR1cmF0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdGltaW5nIGZ1bmN0aW9uc1xuLy9cbi8vICogWyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoeDEsIHkxLCB4MiwgeTIpXVxuLy8gKiBGb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIGVmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkZnVuY3Rpb24tMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGZ1bmN0aW9uLTIgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTMgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTQgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTUgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTYgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTcgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTggOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTkgOiBmYWxzZSxcbiAgJGZ1bmN0aW9uLTEwOiBmYWxzZVxuKSB7XG4gICRmdW5jdGlvbi0xOiB1bnF1b3RlKCRmdW5jdGlvbi0xKTtcbiAgJGZ1bmN0aW9uczogY29tcGFjdCgkZnVuY3Rpb24tMSwgJGZ1bmN0aW9uLTIsICRmdW5jdGlvbi0zLCAkZnVuY3Rpb24tNCwgJGZ1bmN0aW9uLTUsICRmdW5jdGlvbi02LCAkZnVuY3Rpb24tNywgJGZ1bmN0aW9uLTgsICRmdW5jdGlvbi05LCAkZnVuY3Rpb24tMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRmdW5jdGlvbnMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gT25lIG9yIG1vcmUgdHJhbnNpdGlvbi1kZWxheXMgaW4gc2Vjb25kc1xuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiB0aGVzZSBkZWxheXMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSxcbiAgJGRlbGF5LTIgOiBmYWxzZSxcbiAgJGRlbGF5LTMgOiBmYWxzZSxcbiAgJGRlbGF5LTQgOiBmYWxzZSxcbiAgJGRlbGF5LTUgOiBmYWxzZSxcbiAgJGRlbGF5LTYgOiBmYWxzZSxcbiAgJGRlbGF5LTcgOiBmYWxzZSxcbiAgJGRlbGF5LTggOiBmYWxzZSxcbiAgJGRlbGF5LTkgOiBmYWxzZSxcbiAgJGRlbGF5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRkZWxheS0xKSA9PSBzdHJpbmcgeyAkZGVsYXktMTogdW5xdW90ZSgkZGVsYXktMSk7IH1cbiAgJGRlbGF5czogY29tcGFjdCgkZGVsYXktMSwgJGRlbGF5LTIsICRkZWxheS0zLCAkZGVsYXktNCwgJGRlbGF5LTUsICRkZWxheS02LCAkZGVsYXktNywgJGRlbGF5LTgsICRkZWxheS05LCAkZGVsYXktMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5cyxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBUcmFuc2l0aW9uIGFsbC1pbi1vbmUgc2hvcnRoYW5kXG5cbkBtaXhpbiBzaW5nbGUtdHJhbnNpdGlvbihcbiAgJHByb3BlcnR5OiAkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5LFxuICAkZHVyYXRpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICRmdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbixcbiAgJGRlbGF5OiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5XG4pIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb21wYWN0KCRwcm9wZXJ0eSAkZHVyYXRpb24gJGZ1bmN0aW9uICRkZWxheSkpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbihcbiAgJHRyYW5zaXRpb24tMSA6IGRlZmF1bHQsXG4gICR0cmFuc2l0aW9uLTIgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi00IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTUgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNiA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi03IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTggOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tOSA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi0xMDogZmFsc2Vcbikge1xuICBAaWYgJHRyYW5zaXRpb24tMSA9PSBkZWZhdWx0IHtcbiAgICAkdHJhbnNpdGlvbi0xIDogY29tcGFjdCgkZGVmYXVsdC10cmFuc2l0aW9uLXByb3BlcnR5ICRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbiAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5KTtcbiAgfVxuICAkdHJhbnNpdGlvbnM6IGZhbHNlO1xuICBAaWYgdHlwZS1vZigkdHJhbnNpdGlvbi0xKSA9PSBsaXN0IGFuZCB0eXBlLW9mKG50aCgkdHJhbnNpdGlvbi0xLDEpKSA9PSBsaXN0IHtcbiAgICAkdHJhbnNpdGlvbnM6IGpvaW4oJHRyYW5zaXRpb24tMSwgY29tcGFjdCgkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCksIGNvbW1hKTtcbiAgfSBAZWxzZSB7XG4gICAgJHRyYW5zaXRpb25zIDogY29tcGFjdCgkdHJhbnNpdGlvbi0xLCAkdHJhbnNpdGlvbi0yLCAkdHJhbnNpdGlvbi0zLCAkdHJhbnNpdGlvbi00LCAkdHJhbnNpdGlvbi01LCAkdHJhbnNpdGlvbi02LCAkdHJhbnNpdGlvbi03LCAkdHJhbnNpdGlvbi04LCAkdHJhbnNpdGlvbi05LCAkdHJhbnNpdGlvbi0xMCk7XG4gIH1cbiAgJGRlbGF5czogY29tbWEtbGlzdCgpO1xuICAkaGFzLWRlbGF5czogZmFsc2U7XG4gICR3ZWJraXQtdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG1vei12YWx1ZTogY29tbWEtbGlzdCgpO1xuICAkby12YWx1ZTogY29tbWEtbGlzdCgpO1xuXG4gIC8vIFRoaXMgYmxvY2sgY2FuIGJlIG1hZGUgY29uc2lkZXJhYmx5IHNpbXBsZXIgYXQgdGhlIHBvaW50IGluIHRpbWUgdGhhdFxuICAvLyB3ZSBubyBsb25nZXIgbmVlZCB0byBkZWFsIHdpdGggdGhlIGRpZmZlcmVuY2VzIGluIGhvdyBkZWxheXMgYXJlIHRyZWF0ZWQuXG4gIEBlYWNoICR0cmFuc2l0aW9uIGluICR0cmFuc2l0aW9ucyB7XG4gICAgLy8gRXh0cmFjdCB0aGUgdmFsdWVzIGZyb20gdGhlIGxpc3RcbiAgICAvLyAodGhpcyB3b3VsZCBiZSBjbGVhbmVyIGlmIG50aCB0b29rIGEgM3JkIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSBkZWZhdWx0IHZhbHVlKS5cbiAgICAkcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbiwgMSk7XG4gICAgJGR1cmF0aW9uOiBmYWxzZTtcbiAgICAkdGltaW5nLWZ1bmN0aW9uOiBmYWxzZTtcbiAgICAkZGVsYXk6IGZhbHNlO1xuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7ICRkdXJhdGlvbjogICAgICAgIG50aCgkdHJhbnNpdGlvbiwgMik7IH1cbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDIgeyAkdGltaW5nLWZ1bmN0aW9uOiBudGgoJHRyYW5zaXRpb24sIDMpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAzIHsgJGRlbGF5OiAgICAgICAgICAgbnRoKCR0cmFuc2l0aW9uLCA0KTsgJGhhcy1kZWxheXM6IHRydWU7IH1cblxuICAgIC8vIElmIGEgZGVsYXkgaXMgcHJvdmlkZWQgd2l0aG91dCBhIHRpbWluZyBmdW5jdGlvblxuICAgIEBpZiBpcy10aW1lKCR0aW1pbmctZnVuY3Rpb24pIGFuZCBub3QoJGRlbGF5KSB7ICRkZWxheTogJHRpbWluZy1mdW5jdGlvbjsgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBLZWVwIGEgbGlzdCBvZiBkZWxheXMgaW4gY2FzZSBvbmUgaXMgc3BlY2lmaWVkXG4gICAgJGRlbGF5czogYXBwZW5kKCRkZWxheXMsIGlmKCRkZWxheSwgJGRlbGF5LCAwcykpO1xuXG4gICAgJHdlYmtpdC12YWx1ZTogYXBwZW5kKCR3ZWJraXQtdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC13ZWJraXQsICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24pLi4uKSk7XG4gICAgICAgJG1vei12YWx1ZTogYXBwZW5kKCAgICRtb3otdmFsdWUsIGNvbXBhY3QoKHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCAgIC1tb3osICRwcm9wZXJ0eSkgJGR1cmF0aW9uICR0aW1pbmctZnVuY3Rpb24gJGRlbGF5KS4uLikpO1xuICAgICAgICAgJG8tdmFsdWU6IGFwcGVuZCggICAgICRvLXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAgIC1vLCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgfVxuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6ICR3ZWJraXQtdmFsdWU7XG4gICAgLy8gb2xkIHdlYmtpdCBkb2Vzbid0IHN1cHBvcnQgdGhlIGRlbGF5IHBhcmFtZXRlciBpbiB0aGUgc2hvcnRoYW5kIHNvIHdlIHByb2dyZXNzaXZlbHkgZW5oYW5jZSBpdC5cbiAgICBAaWYgJGhhcy1kZWxheXMgICAgICAgICAgICAgICAgICAgICAgIHsgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5czsgICAgICAgfSB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbiA6ICRtb3otdmFsdWU7ICAgIH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgIHsgICAgICAgICAgICAtby10cmFuc2l0aW9uIDogJG8tdmFsdWU7ICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbnM7XG59XG5cbi8vIGNvZXJjZSBhIGxpc3QgdG8gYmUgY29tbWEgZGVsaW1pdGVkIG9yIG1ha2UgYSBuZXcsIGVtcHR5IGNvbW1hIGRlbGltaXRlZCBsaXN0LlxuQGZ1bmN0aW9uIGNvbW1hLWxpc3QoJGxpc3Q6ICgpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJGxpc3QsIGNvbW1hKTtcbn1cblxuLy8gUmV0dXJucyBgJHByb3BlcnR5YCB3aXRoIHRoZSBnaXZlbiBwcmVmaXggaWYgaXQgaXMgZm91bmQgaW4gYCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXNgLlxuQGZ1bmN0aW9uIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICRwcm9wZXJ0eSkge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydHkpID09IGxpc3Qge1xuICAgICRuZXctbGlzdDogY29tbWEtbGlzdCgpO1xuICAgIEBlYWNoICR2IGluICRwcm9wZXJ0eSB7XG4gICAgICAkbmV3LWxpc3Q6IGFwcGVuZCgkbmV3LWxpc3QsIHByZWZpeGVkLWZvci10cmFuc2l0aW9uKCRwcmVmaXgsICR2KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldy1saXN0O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgaW5kZXgoJHRyYW5zaXRpb25hYmxlLXByZWZpeGVkLXZhbHVlcywgJHByb3BlcnR5KSB7XG4gICAgICBAcmV0dXJuICN7JHByZWZpeH0tI3skcHJvcGVydHl9O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrcyBpZiB0aGUgdmFsdWUgZ2l2ZW4gaXMgYSB1bml0IG9mIHRpbWUuXG5AZnVuY3Rpb24gaXMtdGltZSgkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgIEByZXR1cm4gbm90KG5vdChpbmRleChzIG1zLCB1bml0KCR2YWx1ZSkpKSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2hlY2tvdXQgLSBTdWNjZXNzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIHtcbiAgICAuY29sLW1haW4ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luOiAkZ2FwIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENvbmZpZ3VyYWJsZSBTd2F0Y2hlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQ2xlYXJzICovXG4uY2xlYXJmaXgsXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0LFxuLnByb2R1Y3QtdmlldyAucHJvZHVjdC1vcHRpb25zIC5zd2F0Y2gtYXR0ciB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuLyogR2VuZXJhbCBTd2F0Y2ggU3R5bGluZyAqL1xuLnN3YXRjaC1saW5rLFxuLnN3YXRjaC1sYWJlbCB7XG4gICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAvL2JvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAyO1xuICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zd2F0Y2gtbGluayB7XG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIG1hcmdpbjogMCAwIDNweDtcblxuICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAzO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAueCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnX3gucG5nKSBjZW50ZXIgbm8tcmVwZWF0IHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAmLmhhcy1pbWFnZSB7XG4gICAgICAgIC5zd2F0Y2gtbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2F0Y2gtbGFiZWwge1xuICAgIC8vYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvL2JhY2tncm91bmQ6ICRjLW1vZHVsZS1iYWNrZ3JvdW5kO1xufVxuXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICB6b29tOiAxO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDBweCk7XG5cbiAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB6b29tOiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDNweDtcbiAgICAgICAgLy8mOmFmdGVyIHtcbiAgICAgICAgLy8gICAgY29udGVudDogJy0nO1xuICAgICAgICAvLyAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgLy99XG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdHMtZ3JpZCAmIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5ub3QtYXZhaWxhYmxlIHtcbiAgICAgICAgLngge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhdGNoLWxpbmsge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmLmhhcy1pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZS1zd2F0Y2ggLnN3YXRjaC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIH1cblxuICAgIC5ub3QtYXZhaWxhYmxlIGE6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbn1cblxuI25hcnJvdy1ieS1saXN0IGRkIHtcbiAgICAuY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAzcHg7XG4gICAgICAgIHdpZHRoOiA0NyU7XG4gICAgfVxuXG4gICAgLnN3YXRjaC1saW5rIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogJGYtc2l6ZSArIDExcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICYuaGFzLWltYWdlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciAuc3dhdGNoLWxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGMtbW9kdWxlLWJvcmRlci1oaWdobGlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhdGNoLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzIC0gMnB4O1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFzLWltYWdlIC5zd2F0Y2gtbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLy8gUHJldmVudCBvZGQgd3JhcHBpbmcgaXNzdWUgd2hlbiBzd2F0Y2hlcyBoYXZlIGJvdGggdGV4dCBhbmQgaW1hZ2VzXG4gICAgI25hcnJvdy1ieS1saXN0IGRkIC5jb25maWd1cmFibGUtc3dhdGNoLWxpc3QgbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG59XG5cbi5jdXJyZW50bHkge1xuICAgIC5zd2F0Y2gtY3VycmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuYnRuLXJlbW92ZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhdGNoLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgM3B4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBPdGhlciBTd2F0Y2ggU3RhdGVzICovXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5ob3ZlciAuc3dhdGNoLWxpbmssXG4uY29uZmlndXJhYmxlLXN3YXRjaC1saXN0IC5zZWxlY3RlZCAuc3dhdGNoLWxpbmssXG4vLy5zd2F0Y2gtbGluazpob3ZlciB7XG4vLyAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0O1xuLy99XG5cbi5jb25maWd1cmFibGUtc3dhdGNoLWJveCB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgc2VsZWN0LnN3YXRjaC1zZWxlY3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGMtZGFuZ2VyO1xuICAgICAgICBwYWRkaW5nOiAycHggNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMgLSAyO1xuICAgIH1cbn1cblxuLyogQ1VTVE9NICovXG4uYXZhaWxhYmlsaXR5Lm91dC1vZi1zdG9jayBzcGFuIHtcbiAgICBjb2xvcjogJGMtdGV4dC1ncmF5O1xufVxuXG4ucHJvZHVjdC12aWV3IHtcbiAgICAucHJvZHVjdC1vcHRpb25zIHtcbiAgICAgICAgLnN3YXRjaC1hdHRyIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAuc2VsZWN0LWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3QtbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRkIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0LWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLXRvLWNhcnQgYnV0dG9uLm91dC1vZi1zdG9jayB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zNjJweDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ3VzdG9tZXJcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jdXN0b21lci1hY2NvdW50IHtcbiAgICAubWFpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY1cHg7XG4gICAgfVxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG4gICAgYWRkcmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4ge1xuICAgIC5zY2FmZm9sZC1mb3JtIHtcbiAgICAgICAgbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgLy93aWR0aDogMTE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sMi1zZXQge1xuICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtMSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ2FwIDAgJGdhcCAqIDIgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsICsgMSkge1xuXG4gICAgICAgIC5hY2NvdW50LWxvZ2luIHtcbiAgICAgICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb2wtMSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgLmNvbDItc2V0IHtcbiAgICAgICAgICAgIC5jb2wtMSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICR0cmltO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkdHJpbTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAuY29sMi1zZXQgcC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5vcGMgI29wYy1sb2dpbiBwOm5vdCgucmVxdWlyZWQpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIGNvbG9yOiAkYy10ZXh0LWdyYXk7XG59XG5cbi5yZW1lbWJlci1tZS1ib3gge1xuICAgIGEuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5saW5rLXRpcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnYXA7XG4gICAgfVxufVxuXG4ucmVtZW1iZXItbWUtcG9wdXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5zaG93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1kZWZhdWx0O1xuICAgIH1cblxuICAgIC5yZW1lbWJlci1tZS1wb3B1cC1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgfVxuXG4gICAgLnJlbWVtYmVyLW1lLXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1heC13aWR0aDogJGJveC1tYXgtd2lkdGg7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0LFxuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1heC13aWR0aDogJGJveC1tYXgtd2lkdGg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZHNldCAuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjcmVtZW1iZXItbWUtcG9wdXAge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1NXB4O1xuICAgIH1cbn1cblxuLmN1c3RvbWVyLWFjY291bnQtZm9yZ290cGFzc3dvcmQge1xuICAgIC5maWVsZHNldCxcbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBtYXgtd2lkdGg6ICRib3gtbWF4LXdpZHRoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IC5pbnB1dC1ib3ggaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTG9naW4gcGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmN1c3RvbWVyLWFjY291bnQtbG9naW4ge1xuICAgIC5hY2NvdW50LWxvZ2luIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLm5ldy11c2VycyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAwIDAgMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDUwcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG5cbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjU1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZm9ybS1pbnN0cnVjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNTdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5iZW5lZml0cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFxhMFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlZ2lzdGVyZWQtdXNlcnMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAuZm9yZ290LXBzdyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb250ZW50LmZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5mb3JtLWluc3RydWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMi4xcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT1zZWFyY2hdLCBpbnB1dFt0eXBlPW51bWJlcl0sIGlucHV0W3R5cGU9cGFzc3dvcmRdLCBpbnB1dFt0eXBlPXRlbF0sIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9yZ290LXBzdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiUmluZ3NpZGVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbGFyZ2UgKyAxKSB7XG5cbiAgICAuY3VzdG9tZXItYWNjb3VudC1sb2dpbiB7XG4gICAgICAgIC5hY2NvdW50LWxvZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuXG4gICAgICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAubmV3LXVzZXJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzNzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZWdpc3RlcmVkLXVzZXJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIDUwJTtcblxuICAgICAgICAgICAgICAgICAgICAuY29udGVudC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzcwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogTXkgQWNjb3VudCBHbG9iYWwgU3R5bGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jdXN0b21lci1hY2NvdW50IHtcbiAgICAubWFpbiB7XG4gICAgICAgIC8vbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1mcm9tLWZvb3RlcjtcbiAgICB9XG4gICAgLm15LWFjY291bnQge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcblxuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjFweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13ZWlnaHQtcmVndWxhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAud2VsY29tZS1tc2cgLmhlbGxvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlLWJ1dHRvbnMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBzcGFuLnNlcGFyYXRvciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogLTQycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQgaDIsXG4gICAgICAgIC5hZGRyZXNzZXMtbGlzdCBoMixcbiAgICAgICAgLm9yZGVyLWRldGFpbHMgaDIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQgaDIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRyZXNzZXMtbGlzdCBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkdHJpbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm94LW1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAuZGF0YS10YWJsZS5vcmRlcnMge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tb2JpbGUtbG9nb3V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stYWNjb3VudCB7XG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWdlVGl0bGU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpLmN1cnJlbnQgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0YS10YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYXJhZ3JhcGgtYmxvY2stdGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLm5vYnIge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLnZpZXcge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pdGVtLW9wdGlvbnMgZGQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLm9kZCB7XG4gICAgICAgICAgICAgICAgLmEtcmlnaHQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhciB7XG4gICAgICAgIC5ibG9jayB7XG4gICAgICAgICAgICBvbCNjb21wYXJlLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGJveC1zcGFjaW5nIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgcC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHRyaW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgb2wjY2FydC1zaWRlYmFyLXJlb3JkZXIge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stY2FydCB7XG4gICAgICAgICAgICAuc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvY2stcmVvcmRlciB7XG4gICAgICAgICAgICBvbCNjYXJ0LXNpZGViYXItcmVvcmRlciB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1saXN0IHtcbiAgICAuY3VzdG9tZXItZG9iIHtcbiAgICAgICAgLmRvYi1tb250aCxcbiAgICAgICAgLmRvYi1kYXkge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvYi15ZWFyIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIERhc2hib2FyZFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRhc2hib2FyZCB7XG4gICAgLmJveC1oZWFkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHRyaW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LXRpdGxlLFxuICAgIC5ib3gtaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LWFjY291bnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICBwLFxuICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbDItc2V0IHtcbiAgICAgICAgLmNvbC0xLFxuICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcGVyY2VudGFnZSg3NS82MjApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5ib3gtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG5cbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICgxLjQgKiAkZi1zaXplKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm94LXJldmlld3Mge1xuICAgICAgICAmLmJveC1hY2NvdW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nIDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAucmF0aW5ncyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFkZHJlc3MgQm9va1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm15LWFjY291bnQge1xuICAgIC5hZGRyZXNzZXMtbGlzdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zZXJpZjtcblxuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICR0cmltIDA7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgIGxpLmVtcHR5IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAgICAgICAgIC5hZGRyZXNzZXMtYWRkaXRpb25hbCB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogT3JkZXIgVmlld1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNhbGVzLW9yZGVyLWhpc3Rvcnkge1xuICAgIC5wYWdlciB7XG4gICAgICAgIC5jb3VudC1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAucGFnZXMge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uZXh0OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm15LWFjY291bnQge1xuICAgIC5hbW91bnQge1xuICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICBmb250LXdlaWdodDogJGYtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGYtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm9yZGVyLWl0ZW1zIHtcbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdyYW5kX3RvdGFsIHtcbiAgICAgICAgICAgICAgICB0ZCBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGYtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAuaXRlbS1vcHRpb25zIGR0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZi13ZWlnaHQtcmVndWxhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5vcmRlci1pbmZvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJveC1zcGFjaW5nO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuXG4gICAgZHQsXG4gICAgZGQsXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgZHQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgkYm94LXNwYWNpbmcqMik7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW46IDAgMCAwICgkYm94LXNwYWNpbmcqMik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLWRhdGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ub3JkZXItaW5mby1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICsgLm9yZGVyLWluZm8tYm94IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgIH1cblxuICAgIC5jb2wtMSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDUyJTtcbiAgICB9XG5cbiAgICAuY29sLTEsXG4gICAgLmNvbC0yIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5ib3gtdGl0bGUge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGJveC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdHJpbS1zbWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jbXktb3JkZXJzLXRhYmxlIHtcbiAgICB0aGVhZCB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgIH1cbiAgICB0Ym9keSB0ZCB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgIH1cbiAgICAub3B0aW9uLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5vcHRpb24tdmFsdWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGJveC1zcGFjaW5nICogMjtcbiAgICB9XG5cbiAgICB0ci5idW5kbGU6bm90KDpsYXN0LWNoaWxkKSB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxufVxuXG5vbCNjYXJ0LXNpZGViYXItcmVvcmRlciB7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgICNteS1vcmRlcnMtdGFibGUge1xuICAgICAgICAub3B0aW9uLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbi12YWx1ZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkW2RhdGEtcndkLWxhYmVsPVF0eV0gLm5vYnIge1xuICAgICAgICAgICAgYnIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYm94LXNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ci5idW5kbGUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgdHIuYnVuZGxlLmNoaWxkIHtcbiAgICAgICAgICAgIHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRmb290IHRyLnNoaXBwaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vcmRlci1hZGRpdGlvbmFsIHtcbiAgICBtYXJnaW46IDQwcHggMDtcbn1cblxuLm9yZGVyLWdpZnQtbWVzc2FnZSB7XG4gICAgZGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAkYm94LXNwYWNpbmc7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UpIHtcbiAgICAuZGFzaGJvYXJkIHtcbiAgICAgICAgLmNvbDItc2V0IHtcbiAgICAgICAgICAgIC5jb2wtMSxcbiAgICAgICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRyaW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgICAgICAuZGF0YS10YWJsZSB7XG4gICAgICAgICAgICB0ZC52aWV3IGEge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IHtcbiAgICAgICAgLm15LWFjY291bnQge1xuICAgICAgICAgICAgLnRpdGxlLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICBzcGFuLnNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkuY3VzdG9tZXItYWNjb3VudCB7XG4gICAgICAgIC5zaWRlYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgJi5vcmRlcnMge1xuICAgICAgICAgICAgICAgIHRoLnNoaXAsXG4gICAgICAgICAgICAgICAgdGQuc2hpcCxcbiAgICAgICAgICAgICAgICB0ZC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgdGguc3RhdHVzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm15LWFjY291bnQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgLmZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucGFnZS10aXRsZSBoMSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm1vYmlsZS1sb2dvdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mby1ib3gge1xuICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzc2VzLWxpc3Qge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdHJpbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1pbmZvIHtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXNoYm9hcmQge1xuICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndlbGNvbWUtbXNnIHtcbiAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNlcmlmO1xuXG4gICAgICAgICAgICAuaGVsbG8ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtYWNjb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgICAgICAuY29sLTEsXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2wtMSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXNtYWxsKSB7XG4gICAgYm9keS5jdXN0b21lci1hY2NvdW50IHtcbiAgICAgICAgLm15LWFjY291bnQge1xuICAgICAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICBib2R5LmN1c3RvbWVyLWFjY291bnQge1xuICAgICAgICAubXktYWNjb3VudCB7XG4gICAgICAgICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS1idXR0b25zIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICsgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRyaW0tc21hbGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFkZHJlc3Nlcy1saXN0IHtcbiAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR0cmltLXNtYWxsO1xuICAgIH1cblxuICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgJi5vcmRlcnMge1xuICAgICAgICAgICAgLmxpbmstcmVvcmRlcixcbiAgICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZC52aWV3IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXNoYm9hcmQge1xuICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgLmNvbC0xLFxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkdHJpbS1zbWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1pbmZvLWJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogJHRyaW0tc21hbGwgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLm9yZGVyLWluZm8tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0cmltO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI215LXJldmlld3MtdGFibGUge1xuICAgICAgICAubm9iciB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBOZXdzbGV0dGVyIFN1YnNjcmlwdGlvbnNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJvZHkubmV3c2xldHRlci1tYW5hZ2UtaW5kZXggLm15LWFjY291bnQge1xuICAgIC5maWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IGgyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWZpZWxkc2V0LWJvcmRlci1saWdodDtcbiAgICAgICAgcGFkZGluZy10b3A6ICRnYXA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuY3VzdG9tZXItYWNjb3VudCB7XG4gICAgICAgIC5zaWRlYmFyIHtcbiAgICAgICAgICAgIC5ibG9jay1hY2NvdW50IHtcbiAgICAgICAgICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWNjb3VudCBDcmVhdGVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jdXN0b21lci1hY2NvdW50LWNyZWF0ZSB7XG4gICAgLmNvbC1tYWluIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAuYWNjb3VudC1jcmVhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDcwcHg7XG5cbiAgICAgICAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkhvZWZsZXIgVGV4dFwiLCBzZXJpZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMy42cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICBoMi5sZWdlbmQge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2hlY2stdGVybXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogOTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLy99XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG5cbiAgICAvLy5hY2NvdW50LWNyZWF0ZS1jb250YWluZXIge1xuXG4gICAgICAgIC5hY2NvdW50LWNyZWF0ZSB7XG4gICAgICAgICAgICBtYXJnaW46IDcwcHggYXV0byAwO1xuICAgICAgICB9XG4gICAgLy99XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENvbnRhY3RzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY29udGFjdHMtaW5kZXgtaW5kZXgge1xuICAgIC5idXR0b25zLXNldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdHJpbTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MzVweDtcblxuICAgICAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLnJlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFBheVBhbFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBheXBhbC1yZXZpZXctb3JkZXIge1xuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSArIDEwMCkge1xuICAgICAgICBAaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgICAgICAgICAuY29sMi1zZXQge1xuICAgICAgICAgICAgICAgIC5jb2wtMSxcbiAgICAgICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tc2V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRnYXA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1maWVsZHNldC1ib3JkZXItbGlnaHQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLmluYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRvcC1jb250YWluZXIgLmJtbC1hZCB7XG4gICAgbWFyZ2luLXRvcDogJGVsZW1lbnQtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJtbC1hZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gT3ZlcnJpZGUgaW5saW5lIHN0eWxlXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIFByZXZlbnQgc21hbGwgMnB4IHNwYWNlIG9uIHJpZ2h0IHNpZGUgb2YgaW1hZ2Vcbi5jYXJ0LXRvdGFscy13cmFwcGVyIC5ibWwtYWQubGFyZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5ibWwtYWQuc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLW1lZGl1bSArIDEpIHtcbiAgICAuYm1sLWFkLmxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5kaXYucGF5cGFsLWxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46ICR0cmltLXNtYWxsIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuID4gaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5jaGVja291dC10eXBlcyB7XG4gICAgZGl2LnBheXBhbC1sb2dvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4uYm1sLWNoZWNrb3V0LXR5cGUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnNpZGViYXIge1xuICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJldmlldyAtIEN1c3RvbWVyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jY3VzdG9tZXItcmV2aWV3cyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAucmV2aWV3LWhlYWRpbmcge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6ICRnYXAgMCA1cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZXIge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgLmNvdW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLmxpbWl0ZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFtb3VudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRzZXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgd2lkdGg6IDQ3MHB4O1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB3aWR0aDogNDcwcHg7XG5cbiAgICAgICAgICAgIC5pbmxpbmUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICAgICAgICZbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDQ3MHB4O1xuICAgIH1cblxuICAgIGRsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcblxuICAgICAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZXZpZXctbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmV2aWV3LW1ldGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZXZpZXctc3VtbWFyeS10YWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgbWFyZ2luOiAwIDAgJGdhcDtcblxuICAgIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDdweCAxMHB4IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTFweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICAucmF0aW5nLW51bWJlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU5OXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGYtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBSYXRpbmdzIC0gR2xvYmFsXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucmF0aW5ncy10YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICB0aCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG5cbiAgICAgICAgLnJhdGluZyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pY29uLXNwcml0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCB7XG4gICAgICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAgICAgLnByaWNlLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDg0JTtcblxuICAgICAgICAgICAgICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRnYXAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA1MzVweCkge1xuICAgIGJvZHkucmV2aWV3LXByb2R1Y3QtbGlzdCB7XG4gICAgICAgIC5wcm9kdWN0LXZpZXcge1xuICAgICAgICAgICAgLnByb2R1Y3Qtc2hvcCB7XG4gICAgICAgICAgICAgICAgLmV4dHJhLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNTIwcHgpIHtcbiAgICAjY3VzdG9tZXItcmV2aWV3cyB7XG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuaW5saW5lLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucmV2aWV3LXN1bW1hcnktdGFibGUge1xuXG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yYXRpbmctYm94IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGYtc2l6ZSAqIDEuNDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5yYXRpbmcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucmF0aW5nLW51bWJlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgNDUwcHgpIHtcbiAgICAjY3VzdG9tZXItcmV2aWV3cyBkbCBkZCAucmF0aW5ncy10YWJsZSB0ciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUmV2aWV3IFZpZXcgUGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZXZpZXctcHJvZHVjdC12aWV3IHtcbiAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKCdtYXgtd2lkdGgnLCAkYnAtbWVkaXVtKSB7XG4gICAgLnJldmlldy1wcm9kdWN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAgICAgLnByb2R1Y3QtaW1nLWJveCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTbGlkZXNob3dcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAkZ2FwIDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcblxuICAgIC5zbGlkZXNob3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHNjcmlwdCBkb2VzIG5vdCBsb2FkXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGlkZXNob3ctcGFnZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMTU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHRvcDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogI0RERERERDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAkcGFnZXItc2l6ZTogMTZweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6ICRwYWdlci1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcGFnZXItc2l6ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2VyLXNpemUvMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLSRwYWdlci1zaXplLzIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3ljbGUtcGFnZXItYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1idXR0b24tYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uc2xpZGVzaG93LXByZXYsXG4uc2xpZGVzaG93LW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDE1JTtcbiAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB6LWluZGV4OiAxMTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlKCk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjUpO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuXG4uc2xpZGVzaG93LXByZXYge1xuICAgIGxlZnQ6IDhweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxNXB4IDE1cHggMTVweCAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkYy1idXR0b24taG92ZXIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG4uc2xpZGVzaG93LW5leHQge1xuICAgIHJpZ2h0OiA4cHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTVweCAwIDE1cHggMTVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRkZGRkZGO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjLWJ1dHRvbi1ob3ZlcjtcbiAgICB9XG59XG5cbi5jeWNsZS1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICB6LWluZGV4OiAxMTA7XG59XG5cbi5jeWNsZS1vdmVybGF5IHtcbiAgICBmb250LWZhbWlseTogdGFob21hLCBhcmlhbDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEyMDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBvcGFjaXR5OiAuNTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lzaGxpc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiN3aXNobGlzdC10YWJsZSB7XG4gICAgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5jbGVhbi10YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy10YWJsZS1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHRoIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjLWxpbms7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lzaGxpc3Qtc2t1IHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1pbnB1dC1ib3JkZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1zdGFjay1zcGVjaWFsO1xuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tbWFuYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWNlbGwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDExM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHJ1bmNhdGVkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZW1vdmUtd2hpc2hsaXN0LWl0ZW0ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi1yZW1vdmUge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbixcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5naWZ0cmVnaXN0eS1hZGQge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cnVuY2F0ZWQge1xuICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRjLWFjdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRkW2RhdGEtcndkLWxhYmVsXTpiZWZvcmUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSkge1xuICAgICN3aXNobGlzdC10YWJsZSB7XG4gICAgICAgICYuY2xlYW4tdGFibGUge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJveC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgI3dpc2hsaXN0LXRhYmxlIHtcbiAgICAgICAgJi5jbGVhbi10YWJsZSB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgI3dpc2hsaXN0LXRhYmxlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgaGVpZ2h0OiA2OHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tbWFuYWdlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVtb3ZlLXdoaXNobGlzdC1pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tY2FydCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICAjd2lzaGxpc3QtdGFibGUge1xuICAgICAgICB0ZC5jdXN0b21lci13aXNobGlzdC1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2UsXG4gICAgICAgIHRoLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICN3aXNobGlzdC10YWJsZSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW1hZ2UsXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0taW5mbyxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1xdWFudGl0eSxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1wcmljZSxcbiAgICAgICAgICAgICYuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBlbXB0eS1jZWxsczogaGlkZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWltYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDExM3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcXVhbnRpdHksXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR0cmltLXNtYWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYXJ0LWNlbGwge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZS1ib3gge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jdXN0b21lci13aXNobGlzdC1pdGVtLWNhcnQge1xuICAgICAgICAgICAgICAgIC5jYXJ0LWNlbGwge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IHAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1c3RvbWVyLXdpc2hsaXN0LWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2xlYW4tdGFibGUge1xuICAgICAgICAgICAgdGQuY3VzdG9tZXItd2lzaGxpc3QtaXRlbS1jYXJ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogV2lzaGxpc3QgU2lkZWJhclxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJsb2NrLXdpc2hsaXN0IHtcblxuICAgIC5taW5pLXByb2R1Y3RzLWxpc3QgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5wcmljZS1ib3gsXG4gICAgLnByaWNlLWJveCAucHJpY2UsXG4gICAgLmxpbmstY2FydCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG5cbiAgICAubGluay1jYXJ0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxuXG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENoZWNrb3V0IC0gTWluaSBjYXJ0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGVhZGVyLW1pbmljYXJ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgYS5za2lwLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICB9XG5cbiAgICAubWluaWNhcnQtbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLmVtcHR5IHtcbiAgICAgICAgcGFkZGluZzogJGJveC1zcGFjaW5nO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5taW5pY2FydC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbG9hZGluZ092ZXJsYXkoKTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLm1pbmktcHJvZHVjdHMtbGlzdC1jb250YWluZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjE5cHgpO1xuICAgICAgICAgICAgLm1pbmktcHJvZHVjdHMtbGlzdCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDY4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stY2FydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5ibG9jay1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBmb250LXdlaWdodDogJGYtd2VpZ2h0LXJlZ3VsYXI7XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGMtdGV4dDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgICAgICByaWdodDogJGJveC1zcGFjaW5nIC0gMTNweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgICAgICAgLy9wYWRkaW5nOiAkYm94LXNwYWNpbmc7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmxhY2s7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDMwcHggOHB4IDMwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjlweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjI2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyYubGFzdCB7XG4gICAgICAgICAgICAvLyAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAvL31cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaWNhcnQtcHJvZHVjdC1vcHRpb25zIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgLmluZm8td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwO1xuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAucXR5LXdyYXBwZXIge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5xdHkge1xuICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDRweDtcbiAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgICAvL3dpZHRoOiAzLjJlbTtcbiAgICAgICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHktYnV0dG9uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkob3BhY2l0eSk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDEwMG1zKTtcblxuICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhc3QtbGluZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvdW50LWl0ZW1zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5zdWJ0b3RhbCB7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgLy9saW5lLWhlaWdodDogMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nOiAwcHggMzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmluZm8taXZhIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIH1cblxuICAgIC5taW5pY2FydC1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE5MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYWN0aW9uLXByaW1hcnk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjdGlvbi1zZWNvbmRhcnk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxOTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNoZWNrb3V0LXR5cGVzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtaW5pY2FydC1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNtaW5pY2FydC1zdWNjZXNzLW1lc3NhZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBncmVlbjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvL2hpZGUgamNhcm91c2VsIGNvbnRyb2xzIHVudGlsIGNhcm91c2VsIGlzIHByb3Blcmx5IGludGVncmF0ZWQgd2l0aCBkZXNpZ25cbiAgICAuamNhcm91c2VsLWNvbnRyb2wtcHJldixcbiAgICAuamNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uaGVhZGVyLW1pbmljYXJ0LnNraXAtYWN0aXZlIC5ibG9jay1jYXJ0LFxuLmJsb2NrLWNhcnQuc2tpcC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG4gICAgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAuaGVhZGVyLW1pbmljYXJ0IGEuc2tpcC1jYXJ0IHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmhlYWRlci1taW5pY2FydCB7XG4gICAgICAgIC8vLnN1YnRvdGFsIHtcbiAgICAgICAgLy8gICAgLmxhYmVsIHtcbiAgICAgICAgLy8gICAgICAgIGNvbG9yOiAkYy10ZXh0O1xuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vfVxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAubWluaWNhcnQtd3JhcHBlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VERURFRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWFudGl0eS1idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLW1pbmljYXJ0IC5ibG9jay1jYXJ0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0cmltLXNtYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1taW5pY2FydCAuYmxvY2stc3VidGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICR0cmltLXNtYWxsICsgNDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pY2FydC1hY3Rpb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzM3B4O1xuXG4gICAgICAgICAgICAuY2FydC1saW5rIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRib3gtc3BhY2luZztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jaGVja291dC10eXBlcy5taW5pY2FydCB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLnBheXBhbC1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuYm1sX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wYXlwYWwtb3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCA1cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA3NDBweCkge1xuICAgIC5oZWFkZXItbWluaWNhcnQge1xuICAgICAgICAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgICAgICAgICAuY2FydC1saW5rIHtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNoZWNrb3V0LXR5cGVzLm1pbmljYXJ0IHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIC5wYXlwYWwtbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucGF5cGFsLW9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgLnBheXBhbC1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAucGF5cGFsLW9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5oZWFkZXItbWluaWNhcnQge1xuICAgICAgICAubWluaWNhcnQtYWN0aW9ucyB7XG4gICAgICAgICAgICAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogU2VhcmNoIC0gQXV0byBTdWdnZXN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAyMDA7XG5cbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1oaWdobGlnaHQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1saW5rO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDZweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1saW5rLWhvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1hY3Rpb247XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUodXAsIDdweCwgJGMtYWN0aW9uKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBTZWFyY2ggLSBBZHZhbmNlZFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkdmFuY2VkLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICBwYWRkaW5nOiAkdHJpbTtcblxuICAgIHNlbGVjdC5tdWx0aXNlbGVjdCB7XG4gICAgICAgIG9wdGlvbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlci1saWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5hZHZhbmNlZC1zZWFyY2gge1xuICAgICAgICBwYWRkaW5nOiAkdHJpbS1zbWFsbDtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIEFjY291bnQgLSBSZXZpZXdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvZHVjdC1yZXZpZXcge1xuICAgIC5wcm9kdWN0LWltZy1ib3gge1xuICAgICAgICBwLmxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRnYXA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhdGluZy1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogIzMzOTlDQztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJhdGluZ3MtZGVzY3JpcHRpb24ge1xuICAgICAgICBkdCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2FwIDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgY29sb3I6ICM3MzczNzM7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtICsgMSkge1xuICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgIC5yYXRpbmdzLXRhYmxlIHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgMTEyNnB4KSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3IHtcbiAgICAgICAgLnJhdGluZ3MtdGFibGUge1xuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgMzIwcHgpIHtcbiAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAucmF0aW5ncy10YWJsZSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENNUyBQYWdlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29udGVudCBmb3Igc3RhdGljIHBhZ2VzXG5cbi5jbXMtcGFnZS12aWV3LFxuLmNtcy1uby1yb3V0ZSB7XG4gICAgLnBhZ2UtdGl0bGUsXG4gICAgLnBhZ2UtaGVhZCB7XG4gICAgICAgIGgxLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RkIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY29sb3I6ICRjLXRleHQtcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC1sZWZ0IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNtcy1uby1yb3V0ZSB7XG4gICAgLnN0ZCB7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY21zLXBhZ2UtdmlldyAuc3RkLFxuLmNtcy1ob21lIC5zdGQsXG4uY21zLW5vLXJvdXRlIC5zdGQge1xuICAgIC5tZXNzYWdlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRib3gtc3BhY2luZztcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNhbnM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFjY29yZGl0aW9uXG5cbiNhY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbjtcblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5wbHVzaW1hZ2UgaDIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTaXRlbWFwXG5cbi5wYWdlLXNpdGVtYXAge1xuICAgIC5saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuXG4gICAgICAgIGEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICB9XG5cbiAgICAuc2l0ZW1hcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDNweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb250YWN0IHBhZ2VcblxuLmNvbnRhY3RzLWluZGV4LWluZGV4IHtcbiAgICBoMSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cbiNjb250YWN0Rm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuXG4gICAgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuZmllbGRzZXQgLmxlZ2VuZCArIC5yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuXG4gICAgI2NvbnRhY3RGb3JtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUHJpY2luZyBDb25kaXRpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJpY2UtYm94IHtcbiAgICAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1yZWQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc3RhY2stc3BlY2lhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXAtaW5mbyB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNhdGFsb2ctcHJvZHVjdC12aWV3IHtcbiAgICAubWFwLWluZm8ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZS1ib3gubWFwLWluZm8gPiBhIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDb29raWVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubm90aWNlLWNvb2tpZSB7XG4gICAgLm5vdGljZS1pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90aWNlLXRleHQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDQwcHggLSAkZi1zaXplLXh4cykgLyAyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDQwcHggLSAkZi1zaXplLXh4cykgLyAyO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLm5vdGljZS1jb29raWUge1xuICAgICAgICAubm90aWNlLXRleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NiU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5ub3RpY2UtY29va2llIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgIC5ub3RpY2UtdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgyJTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCA2MjBweCkge1xuXG4gICAgLm5vdGljZS1jb29raWUge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgLm5vdGljZS1pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEwcHg7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5vdGljZS10ZXh0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBUYWdzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jYWRkVGFnRm9ybSBidXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuI2FkZFRhZ0Zvcm0gLmZvcm0tYWRkIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnByb2R1Y3QtdGFncyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweCAxJSAxMHB4O1xuICAgIHdpZHRoOiA5OCU7XG59XG4ucHJvZHVjdC10YWdzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG4ucHJvZHVjdC10YWdzIGxpLmxhc3Qge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xufVxuLnRhZ3MtbGlzdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi50YWdzLWxpc3QgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuLmJsb2NrLXRhZ3MgLmFjdGlvbnMgPiBhIHtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG4ubXktdGFnLWVkaXQge1xuICAgIC5idXR0b24uYnRuLXJlbW92ZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5AaW5jbHVkZSBicCAobWF4LXdpZHRoLCAkYnAtbWVkaXVtKSB7XG4gICAgLnRhZ3MtbGlzdCA+IGxpLFxuICAgIC50YWdzLWxpc3Qge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhcHRjaGFcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FwdGNoYS1ub3RlIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuLmNhcHRjaGEtaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyNThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNhcHRjaGEtaW1hZ2UgLmNhcHRjaGEtaW1nIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjZiNmI2O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ucmVnaXN0ZXJlZC11c2VycyAuY2FwdGNoYS1pbWFnZSB7IG1hcmdpbjogMCB9XG4uY2FwdGNoYS1yZWxvYWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbn1cbi5jYXB0Y2hhLXJlbG9hZC5yZWZyZXNoaW5nIHtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAxLjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC1tb3otYW5pbWF0aW9uOiByb3RhdGUgMS41cyBpbmZpbml0ZSBsaW5lYXI7XG59XG4uY3VzdG9tZXItYWNjb3VudC1jcmVhdGUgLnNjYWZmb2xkLWZvcm0gLmNhcHRjaGEtaW5wdXQtY29udGFpbmVyIGxhYmVsOmZpcnN0LWNoaWxkIHsgd2lkdGg6IDEwMCUgfVxuLmNhcHRjaGEtcmVsb2FkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDRweDtcbiAgICB0b3A6IDRweDtcbn1cbi5jYXB0Y2hhLWltZyB7IGJvcmRlcjogMjBweCBzb2xpZCAjYmJiIH1cbi5jYXB0Y2hhLWlucHV0LWNvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDEwcHggfVxuLmNvbnRyb2wubmV3c2xldHRlci1ib3gsIC5jYXB0Y2hhLWlucHV0LWNvbnRhaW5lciwgLmNhcHRjaGEtaW1nLWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCBCaWxsaW5nIEZpeCB0byBwbGFjZSB0aGUgQ2FwdGNoYSBwcm9wZXJseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNjby1iaWxsaW5nLWZvcm0gdWwuZm9ybS1saXN0ID4gLmNvbnRyb2wge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQWNjb3VudCAtIE9yZGVycywgSW52b2ljZXMsIENyZWRpdCBNZW1vcy5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAuc2FsZXMtb3JkZXItaW52b2ljZSxcbiAgICAuc2FsZXMtb3JkZXItY3JlZGl0bWVtbyxcbiAgICAuc2FsZXMtb3JkZXItc2hpcG1lbnQge1xuICAgICAgICAuc3ViLXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAub3JkZXItbGlua3Mge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFJlY3VycmluZyBQcm9maWxlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3JlY3VycmluZ19wcm9maWxlX2xpc3RfdmlldyB7XG5cbiAgICB0aCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwIChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgfVxuICAgIH0gLy9lbmQgYnAteHNtYWxsIGJyZWFrcG9pbnRcblxufSAvL2VuZCAjcmVjdXJyaW5nX3Byb2ZpbGVfbGlzdF92aWV3XG5cbi5yZWN1cnJpbmctcHJvZmlsZXMtdGl0bGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cbn1cblxuYm9keS5jdXN0b21lci1hY2NvdW50IC5teS1hY2NvdW50IC50aXRsZS1idXR0b25zLnJlY3VycmluZy1wcm9maWxlcy10aXRsZS1idXR0b25zIHtcbiAgICBmbG9hdDpyaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbn1cblxuLnJlY3VycmluZy1wcm9maWxlcy1tZXNzYWdlcyB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbn1cblxuI3JlY3VycmluZ19zdGFydF9kYXRlX3RyaWcge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQmlsbGluZyBBZ3JlZW1lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYmlsbGluZy1hZ3JlZW1lbnRzIHtcbiAgICAuaW5mby1ib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHJpbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRib3gtc3BhY2luZy1sYXJnZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BheW1lbnRfbWV0aG9kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRlbGVtZW50LXNwYWNpbmc7XG4gICAgfVxufVxuXG4uYmlsbGluZy1hZ3JlZW1lbnQtdmlldy1oZWFkZXItd3JhcHBlciB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcblxuICAgICAgICBAaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJpbGxpbmctYWdyZWVtZW50LWRldGFpbHMge1xuICAgIHRkLCB0aCB7XG4gICAgICAgIHBhZGRpbmc6ICRlbGVtZW50LXNwYWNpbmcvMjtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmJpbGxpbmctYWdyZWVtZW50cyB7XG4gICAgICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgICAgIC5jcmVhdGVkLWF0LFxuICAgICAgICAgICAgLnVwZGF0ZWQtYXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFBvcHVsYXIgU2VhcmNoIFRlcm1zIENsb3VkXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2F0YWxvZ3NlYXJjaC10ZXJtLXBvcHVsYXIgLnRhZ3MtbGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jYXRhbG9nc2VhcmNoLXRlcm0tcG9wdWxhciAudGFncy1saXN0ID4gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIFdpZGdldHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcbiAqIEFkZCB0byBjYXJ0IGJ5IFNLVVxuICovXG5cbi5zaWRlYmFyIHtcbiAgICAud2lkZ2V0LWFkZGJ5c2t1IHtcbiAgICAgICAgLnNrdS10YWJsZSB7XG4gICAgICAgICAgICAuaW5wdXQtdGV4dDpub3QoLnF0eSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbWVkaXVtKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9wcmV2ZW50IHdpZGdldCBpbiBsZWZ0L3JpZ2h0IGNvbHVtbiBmcm9tIGV4Y2VlZGluZyBjb2x1bW4gd2lkdGhcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53aWRnZXQge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4ud2lkZ2V0IC5wYWdlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIEltcGxlbWVudCBjdXN0b20gZ3JpZCBicmVha3BvaW50cyBmb3IgZ3JpZHMgdGhhdCBhcmUgY29udGFpbmVkIHdpdGhpbiB3aWRnZXRzXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC14bGFyZ2UpIHtcbiAgICAuY29sMi1sZWZ0LWxheW91dCxcbiAgICAuY29sMi1yaWdodC1sYXlvdXQsXG4gICAgLmNvbDMtbGF5b3V0XG4gICAge1xuICAgICAgICAuY29sLW1haW4gLndpZGdldCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWdyaWQoNCwgOTYwLCBcIndpZGdldFwiKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtZ3JpZCg1LCA5NjAsIFwid2lkZ2V0XCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuY29sMS1sYXlvdXQge1xuICAgICAgICAuY29sLW1haW4gLndpZGdldCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWdyaWQoNCwgOTYwLCBcIndpZGdldFwiKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtZ3JpZCg1LCA5NjAsIFwid2lkZ2V0XCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBDaGVja291dCAtIE11bHRpcGxlIEFkZHJlc3Nlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYm9keVtjbGFzcyo9XCJjaGVja291dC1tdWx0aXNoaXBwaW5nLVwiXSB7XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxJSA2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYnV0dG9uLXNlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGFzdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tdWx0aXBsZS1jaGVja291dCA+IGgyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgLm1lc3NhZ2VzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuY29sLTIuY29sLXdpZGUge1xuICAgICAgICB3aWR0aDogNjYlO1xuICAgIH1cbiAgICAuY29sLTEuY29sLW5hcnJvdyB7XG4gICAgICAgIHdpZHRoOiAzMCU7XG4gICAgfVxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuZ3JhbmQtdG90YWwge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAjY2hlY2tvdXQtcmV2aWV3LXN1Ym1pdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAjcmV2aWV3LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWFkZHJlc3NlcyB7XG4gICAgLmJ0bi1yZW1vdmUyIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC01NTU1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LW11bHRpc2hpcHBpbmctc2hpcHBpbmcge1xuICAgIC5naWZ0LW1lc3NhZ2VzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgLmdpZnQtbWVzc2FnZXMtZm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0tbGlzdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1zaGlwcGluZyxcbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcsXG4uY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1vdmVydmlldyB7XG4gICAgLmNvbC0xLCAuY29sLTIge1xuICAgICAgICAuYm94LXRpdGxlIHtcbiAgICAgICAgICAgIGgyLCBoMywgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtbW9kdWxlLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLW1vZHVsZS1ib3JkZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiBoNCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYy1tb2R1bGUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgICAgICAuYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGVja291dC1tdWx0aXNoaXBwaW5nLWJpbGxpbmcge1xuICAgIC5zcC1tZXRob2RzIGR0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuI211bHRpc2hpcC1hZGRyZXNzZXMtdGFibGUgPiB0Ym9keSA+IHRyID4gdGQuYS1jZW50ZXIubGFzdCA+IGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbiNyZXZpZXctb3JkZXItZm9ybSA+IGRpdjpudGgtY2hpbGQoMykgPiBkaXYuZGl2aWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6Ym90aDtcbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIHtcbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzIHNwYW4ge1xuICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAzMDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAjcmV2aWV3LW9yZGVyLWZvcm17XG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICBib2R5W2NsYXNzKj1cImNoZWNrb3V0LW11bHRpc2hpcHBpbmctXCJdIHtcbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzIHNwYW4ge1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJveC10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlLXRpdGxlIC5idXR0b24ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5saW5lYXJpemUtdGFibGUge1xuICAgICAgICAgICAgdGZvb3QgdGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb2wtMS5jb2wtbmFycm93LCAuY29sLTIuY29sLXdpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAgIC5jaGVja291dC1tdWx0aXNoaXBwaW5nLWFkZHJlc3NlcyAubGluZWFyaXplLXRhYmxlIHRib2R5IHRkW2RhdGEtcndkLWxhYmVsXSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIGJvZHlbY2xhc3MqPVwiY2hlY2tvdXQtbXVsdGlzaGlwcGluZy1cIl0ge1xuICAgICAgICAuYnV0dG9ucy1zZXQgLmJhY2stbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZXR1cm4tb3JkZXItbGlzdCB7XG4gICAgLnBhZ2UtdGl0bGUgaDEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5kYXRhLXRhYmxlIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgfVxuICAgICAgICAubm9iciB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYmxlLWZvb3RlciB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICB9XG59XG4ucmV0dXJuLW9yZGVyLXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLnBhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cbiNyZXR1cm5Gb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsYWJlbFtmb3I9cmVhc29uXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAjcmVhc29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuZm9ybS1saXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgLnJldHVybi1pbmZvIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNTBweDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG4gICAgLm9yZGVyLW51bWJlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgLnByb2R1Y3QtY2hlY2sge1xuICAgICAgICAgICAgd2lkdGg6IDUlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTUlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1vcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LWRpc2NsYWltZXIge1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogJGJwLW1lZGl1bSkge1xuICAgICNyZXR1cm5Gb3JtIHtcbiAgICAgICAgLnByb2R1Y3QtaW5mby1jb250YWluZXIge1xuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3QtZGlzY2xhaW1lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0byAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnJldHVybi1vcmRlci1zdWJtaXR0ZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLnBhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cbi5yZXR1cm4tb3JkZXItc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC5wYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmLXdlaWdodC1yZWd1bGFyO1xuICAgIH1cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDg1cHg7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucmV0dXJuLW9yZGVyLXNlYXJjaC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgICAucmVxdWlyZWQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuLmJveC1yZXR1cm5zIC5ib3gtaW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cbiIsIi8vXG4vLyBNYWdlbnRvXG4vL1xuLy8gTk9USUNFIE9GIExJQ0VOU0Vcbi8vXG4vLyBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFX0FGTC50eHQuXG4vLyBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbi8vIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocFxuLy8gSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbi8vIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbi8vIHRvIGxpY2Vuc2VAbWFnZW50by5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbi8vXG4vLyBESVNDTEFJTUVSXG4vL1xuLy8gRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIE1hZ2VudG8gdG8gbmV3ZXJcbi8vIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBNYWdlbnRvIGZvciB5b3VyXG4vLyBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy5tYWdlbnRvLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbi8vXG4vLyBAY2F0ZWdvcnkgICAgZGVzaWduXG4vLyBAcGFja2FnZSAgICAgcndkX2RlZmF1bHRcbi8vIEBjb3B5cmlnaHQgICBDb3B5cmlnaHQgKGMpIDIwMDYtMjAxNiBYLmNvbW1lcmNlLCBJbmMuIGFuZCBhZmZpbGlhdGVzIChodHRwOi8vd3d3Lm1hZ2VudG8uY29tKVxuLy8gQGxpY2Vuc2UgICAgIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9hZmwtMy4wLnBocCAgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogQ2FsZW5kYXIgc3R5bGVzIChyZXN0b3JlIHN0eWxlcyBmcm9tIC9qcy9jYWxlbmRhcilcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5kaXYuY2FsZW5kYXIge1xuICAgIHRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcblxuICAgICAgICB0ZC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy9cbi8vIE1hZ2VudG9cbi8vXG4vLyBOT1RJQ0UgT0YgTElDRU5TRVxuLy9cbi8vIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgQWNhZGVtaWMgRnJlZSBMaWNlbnNlIChBRkwgMy4wKVxuLy8gdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0VfQUZMLnR4dC5cbi8vIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuLy8gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwXG4vLyBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuLy8gb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuLy8gdG8gbGljZW5zZUBtYWdlbnRvLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuLy9cbi8vIERJU0NMQUlNRVJcbi8vXG4vLyBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgTWFnZW50byB0byBuZXdlclxuLy8gdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIE1hZ2VudG8gZm9yIHlvdXJcbi8vIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwOi8vd3d3Lm1hZ2VudG8uY29tIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuLy9cbi8vIEBjYXRlZ29yeSAgICBkZXNpZ25cbi8vIEBwYWNrYWdlICAgICByd2RfZGVmYXVsdFxuLy8gQGNvcHlyaWdodCAgIENvcHlyaWdodCAoYykgMjAwNi0yMDE2IFguY29tbWVyY2UsIEluYy4gYW5kIGFmZmlsaWF0ZXMgKGh0dHA6Ly93d3cubWFnZW50by5jb20pXG4vLyBAbGljZW5zZSAgICAgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2FmbC0zLjAucGhwICBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gKiBIb21lcGFnZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJpbWFyeSBCYW5uZXJcbiAqL1xuXG4ubWVkaWFfX2VtYmVkIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC52aWRlby1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg3MjAgLyAxMjgwICogMTAwJSk7XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuXG4gICAgICAgICAgICAueXRwLWdyYWRpZW50LXRvcCxcbiAgICAgICAgICAgIC55dHAtY2hyb21lLXRvcCxcbiAgICAgICAgICAgIC55dHAtdGl0bGUsXG4gICAgICAgICAgICAueXRwLWNocm9tZS10b3AtYnV0dG9ucyB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcblxuICAgIC5tZWRpYV9fZW1iZWQge1xuICAgICAgICAudmlkZW8taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNzIwIC8gMTI4MCAqIDEwMHZ3KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi52aWRlby1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDEwODBweDtcbiAgICBoZWlnaHQ6IHVuc2V0O1xuICAgIEBpbmNsdWRlIHBhZ2UtZnVsbC13aWR0aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmlkZW8ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMyU7XG4gICAgICAgIHRvcDogNSU7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2staXRhbGljLXRpdGxlO1xuICAgICAgICB9XG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM3MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgfVxuICAgICAgICAuYWN0aW9uLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhY3Rpb24tc2Vjb25kYXJ5O1xuICAgICAgICAgICAgd2lkdGg6IDE0NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LmNtcy1ob21lIHtcblxuICAgIC5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuaG9tZS1ibG9jay1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDcwcHg7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBibG9jay1pdGFsaWMtdGl0bGU7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgfVxuICAgICAgICAuYWN0aW9uLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhY3Rpb24tc2Vjb25kYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDExMDBweDtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgQGluY2x1ZGUgcGFnZS1mdWxsLXdpZHRoO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMyU7XG4gICAgICAgICAgICB0b3A6IDUlO1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWl0YWxpYy10aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhY3Rpb24tc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1jb2xsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjZweDtcbiAgICAgICAgbWF4LWhlaWdodDogOTQ1cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwJTtcbiAgICAgICAgICAgIHRvcDogNCU7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAvL21heC13aWR0aDogOTJweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDI1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0xOSU7XG4gICAgICAgICAgICBsZWZ0OiAtMTklO1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTI1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudmlsbGEtdG9ycmVzaS1jb250YWluZXIge1xuICAgICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIG1heC13aWR0aDogODkwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTMycHg7XG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjdGlvbi1zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTJweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLTUtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTU2NHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5NjdweDtcbiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYXJibGUucG5nXCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvL3RvcDogNyU7XG4gICAgICAgICAgICAvL2xlZnQ6IDElO1xuICAgICAgICAgICAgaGVpZ2h0OiA4NyU7XG4gICAgICAgICAgICBmbGV4OiA1MCU7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkycHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWdzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiA1MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICAvL3RvcDogMjIlO1xuICAgICAgICAgICAgLy9yaWdodDogMTAlO1xuICAgICAgICAgICAgZmxleDogNTAlO1xuICAgICAgICAgICAgLmltZy1iaWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTklO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWctc21hbGwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDM0JTtcbiAgICAgICAgICAgICAgICAvL3JpZ2h0OiAzMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLTYtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYxNXB4O1xuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xuICAgICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkycHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpZGVzaG93IC5iYW5uZXItbXNnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAzMCU7XG4gICAgQGluY2x1ZGUgbm90LXNlbGVjdGFibGU7XG59XG5cbi5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBAaW5jbHVkZSBzaW5nbGUtdGV4dC1zaGFkb3coMXB4LCAxcHgsIDNweCwgZmFsc2UsICM1NTU1NTUpO1xufVxuXG4uc2xpZGVzaG93IC5iYW5uZXItbXNnIGgyIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAzNnB4O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14bGFyZ2UgKyAxKSB7XG4gICAgYm9keS5jbXMtaG9tZSB7XG4gICAgICAgIC5ob21lLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay01LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuaW1ncy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZmxleDogNzAlO1xuICAgICAgICAgICAgICAgIC5pbWctYmlnIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbWctc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTkwcHg7XG4gICAgICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHRvcDogLTMyJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52aWxsYS10b3JyZXNpLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgYm9keS5jbXMtaG9tZSB7XG4gICAgICAgIC5ob21lLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAuZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMTklO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTklO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudmlsbGEtdG9ycmVzaS1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZmxleDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay01LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0MHB4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgZmxleDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWdzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZmxleDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICAgIC5pbWctYmlnIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI0NXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmltZy1zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTY3cHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE2N3B4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDU1JTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLTYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcblxuICAgIC5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgLnNsaWRlc2hvdyAuYmFubmVyLW1zZyBoMiBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgYm9keS5jbXMtaG9tZSB7XG4gICAgICAgIC52aWRlby1jb250YWluZXIge1xuICAgICAgICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3RvcmUtY29sbGVjdGlvbi1jb250YWluZXIsIC5mZWF0dXJlZC1wcm9kdWN0LWNvbnRhaW5lciwgLmJsb2NrLTUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgICBib2R5LmNtcy1ob21lIHtcbiAgICAgICAgLmhvbWUtYmxvY2stY29udGFpbmVyIHtcbiAgICAgICAgICAgIC5mZWF0dXJlZC1wcm9kdWN0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay01LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1nLXNtYWxsIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcblxuICAgIC5zbGlkZXNob3cgLmJhbm5lci1tc2cge1xuICAgICAgICB0b3A6IDIwJTtcbiAgICB9XG5cbiAgICAuc2xpZGVzaG93IC5iYW5uZXItbXNnIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5zbGlkZXNob3cgLmJhbm5lci1tc2cgaDIgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogUHJvbW90aW9uIEJhbm5lciBTZWN0aW9uXG4gKi9cblxuLnByb21vcyB7XG4gICAgbWFyZ2luOiAwIDAgJGdhcCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9tb3M6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vKiBTcGVjaWZ5aW5nIHRoZSBib2R5IG9ubHkgaW4gb3JkZXIgdG8gb3ZlcnJpZGUgdGhlIC5zdGQgdWwgbGkgc3R5bGluZyAqL1xuXG5ib2R5IC5wcm9tb3MgPiBsaSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1tb2R1bGUtYm9yZGVyO1xuICAgIEBpbmNsdWRlIG5vdC1zZWxlY3RhYmxlO1xufVxuXG4ucHJvbW9zID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb21vcyBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnByb21vcyBhOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDAuOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9tb3Mgc3BhbiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAxMCU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRmLXN0YWNrLXNwZWNpYWw7XG4gICAgQGluY2x1ZGUgc2luZ2xlLXRleHQtc2hhZG93KDFweCwgMXB4LCAzcHgsIGZhbHNlLCAjNTU1NTU1KTtcbn1cblxuLnByb21vcyBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsICRicC1tZWRpdW0gKyAxKSB7XG5cbiAgICAucHJvbW9zIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLnByb21vcyBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuXG4gICAgLyogQ29uZmlnOiBUaHJlZSBjb2x1bW5zICsgZmxleGlibGUgZ3V0dGVyICovXG4gICAgLy8gQ29udGFpbmVyOiA0ODAgLSAoMiAqIDMwIHRyaW0gd2lkZSkgPSA0MjBcbiAgICAvLyBNYXRoOiAoNDIwIC0gKDIgKiAxMCBndXR0ZXIpKSAvIDMgaXRlbXMgPSAxMzMuMzMzMzMzMzMzXG4gICAgYm9keSAucHJvbW9zID4gbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMTMzLjMzMzMzMzMzMyAvIDQyMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgxMCAvIDQyMCk7XG4gICAgfVxuXG4gICAgLnByb21vcyA+IGxpOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicChtaW4td2lkdGgsIDg4MHB4KSB7XG4gICAgLnByb21vcyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cblxuICAgIC5wcm9tb3Mgc3Ryb25nIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxuICogTmV3IFByb2R1Y3RzIFNlY3Rpb25cbiAqL1xuXG4vKiBIaWRpbmcgdGhlIHJldmlld3MgY29udGVudCB2aWEgQ1NTIGJlY2F1c2Ugd2UgY2FuJ3QgbW9kaWZ5IHRoZSB0ZW1wbGF0ZSwgKi9cbi8qIHNpbmNlIGl0IG1heSBiZSB1c2VkIGluIG90aGVyIHBsYWNlcyB3aGVyZSB0aG9zZSBlbGVtZW50cyBhcmUgbmVlZGVkICovXG4uY21zLWluZGV4LWluZGV4IC5wcm9kdWN0cy1ncmlkIC5yYXRpbmdzLFxuLmNtcy1pbmRleC1pbmRleCAucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyxcbi5jbXMtaW5kZXgtbm9yb3V0ZSAucHJvZHVjdHMtZ3JpZCAucmF0aW5ncyxcbi5jbXMtaW5kZXgtbm9yb3V0ZSAucHJvZHVjdHMtZ3JpZCAuYWN0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNtcy1pbmRleC1pbmRleCBoMi5zdWJ0aXRsZSB7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkYy10ZXh0LXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbn1cblxuLmNtcy1pbmRleC1ub3JvdXRlIGgyLnN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXG4gKiBOZXcgUHJvZHVjdHMgU2VjdGlvblxuICovXG5cbi5ob21lc2VjdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcblxuICAgIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuXG4gICAgICAgIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXByaW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIC5ob21lc2VjdGlvbl9faW1ncHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgJi5ob21lc2VjdGlvbl9faW1ncHJpbWFyeS0tZGVzayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ3NlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgJi5ob21lc2VjdGlvbl9faW1nc2Vjb25kYXJ5LS1kZXNrIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDA7XG5cbiAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dC10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMy42cHg7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0LXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0LWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhvbWVzZWN0aW9uLS1sZWZ0YWxpZ24ge1xuICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciB7XG4gICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lci1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnkge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9faW1nc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0Y29udGFpbmVyIHtcbiAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX3RleHQtdGl0bGUge1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0LWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ob21lc2VjdGlvbi0tdmlkZW8ge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzBweCAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWluLXdpZHRoLCAkYnAtbGFyZ2UgKyAxKSB7XG5cbiAgICAuaG9tZXNlY3Rpb24ge1xuICAgICAgICAmOm5vdCguaG9tZXNlY3Rpb24tLXZpZGVvKSB7XG4gICAgICAgICAgICAmOm5vdCguaG9tZXNlY3Rpb24tLWZ1bGx3aWR0aGltZykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMSA1NSU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9faW1ncHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnktLWRlc2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ3NlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5ob21lc2VjdGlvbl9faW1nc2Vjb25kYXJ5LS1kZXNrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbjogYXV0byBhdXRvIGF1dG8gNjBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0LXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX3RleHQtYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDYwcHggYXV0byAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmhvbWVzZWN0aW9uLS1sZWZ0YWxpZ24ge1xuICAgICAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdjb250YWluZXItc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdzZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX3RleHRjb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW46IGF1dG8gNjBweCBhdXRvIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX3RleHQtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ob21lc2VjdGlvbl9fdGV4dC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX190ZXh0LWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ob21lc2VjdGlvbi0tZnVsbHdpZHRoaW1nIHtcbiAgICAgICAgICAgIC5ob21lc2VjdGlvbl9faW1nY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuaG9tZXNlY3Rpb25fX2ltZ2NvbnRhaW5lci1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLmhvbWVzZWN0aW9uX19pbWdwcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaG9tZXNlY3Rpb25fX2ltZ3ByaW1hcnktLWRlc2sge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBUaGVzZSBkZWZhdWx0cyBtYWtlIHRoZSBhcmd1bWVudHMgb3B0aW9uYWwgZm9yIHRoaXMgbWl4aW5cbi8vIElmIHlvdSBsaWtlLCBzZXQgZGlmZmVyZW50IGRlZmF1bHRzIGluIHlvdXIgcHJvamVjdFxuXG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvcjogICAgI2FhYSAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQ6IDBweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyOiAgICAgMXB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZDogICBmYWxzZSAgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgdGV4dCBzaGFkb3dzIHdoZW4gb25lIG9yIG1vcmUgc2hhZG93cyBhcmUgbmVlZGVkLlxuLy8gRWFjaCBzaGFkb3cgYXJndW1lbnQgc2hvdWxkIGFkaGVyZSB0byB0aGUgc3RhbmRhcmQgY3NzMyBzeW50YXggZm9yIHRoZVxuLy8gdGV4dC1zaGFkb3cgcHJvcGVydHkuXG4vL1xuLy8gTm90ZTogaWYgYW55IHNoYWRvdyBoYXMgYSBzcHJlYWQgcGFyYW1ldGVyLCB0aGlzIHdpbGwgY2F1c2UgdGhlIG1peGluXG4vLyB0byBlbWl0IHRoZSBzaGFkb3cgZGVjbGFyYXRpb24gdHdpY2UsIGZpcnN0IHdpdGhvdXQgdGhlIHNwcmVhZCxcbi8vIHRoZW4gd2l0aCB0aGUgc3ByZWFkIGluY2x1ZGVkLiBUaGlzIGFsbG93cyB5b3UgdG8gcHJvZ3Jlc3NpdmVseVxuLy8gZW5oYW5jZSB0aGUgYnJvd3NlcnMgdGhhdCBkbyBzdXBwb3J0IHRoZSBzcHJlYWQgcGFyYW1ldGVyLlxuQG1peGluIHRleHQtc2hhZG93KFxuICAkc2hhZG93LTEgOiBkZWZhdWx0LFxuICAkc2hhZG93LTIgOiBmYWxzZSxcbiAgJHNoYWRvdy0zIDogZmFsc2UsXG4gICRzaGFkb3ctNCA6IGZhbHNlLFxuICAkc2hhZG93LTUgOiBmYWxzZSxcbiAgJHNoYWRvdy02IDogZmFsc2UsXG4gICRzaGFkb3ctNyA6IGZhbHNlLFxuICAkc2hhZG93LTggOiBmYWxzZSxcbiAgJHNoYWRvdy05IDogZmFsc2UsXG4gICRzaGFkb3ctMTA6IGZhbHNlXG4pIHtcbiAgQGlmICRzaGFkb3ctMSA9PSBkZWZhdWx0IHtcbiAgICAkc2hhZG93LTE6IGNvbXBhY3QoJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1ciAkZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IpO1xuICB9XG4gICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJHNoYWRvd3M6IGpvaW4oKCksKCksY29tbWEpO1xuICAkaGFzLXNwcmVhZDogZmFsc2U7XG4gIEBlYWNoICRzaGFkb3cgaW4gY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaGFkb3ctNiwgJHNoYWRvdy03LCAkc2hhZG93LTgsICRzaGFkb3ctOSwgJHNoYWRvdy0xMCkge1xuICAgIEBpZiBsZW5ndGgoJHNoYWRvdykgPiA0IHtcbiAgICAgICRoYXMtc3ByZWFkOiB0cnVlO1xuICAgICAgJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQ6IGFwcGVuZCgkc2hhZG93cy13aXRob3V0LXNwcmVhZCwgbnRoKCRzaGFkb3csMSkgbnRoKCRzaGFkb3csMikgbnRoKCRzaGFkb3csMykgbnRoKCRzaGFkb3csNSkpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsICRzaGFkb3cpO1xuICAgICAgJHNoYWRvd3M6IGFwcGVuZCgkc2hhZG93cywgJHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIEBpZiAkaGFzLXNwcmVhZCB7XG4gICAgdGV4dC1zaGFkb3c6ICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkO1xuICB9XG4gIHRleHQtc2hhZG93OiAkc2hhZG93cztcbn1cblxuLy8gUHJvdmlkZXMgYSBzaW5nbGUgY3Jvc3MtYnJvd3NlciBDU1MgdGV4dCBzaGFkb3cuXG4vL1xuLy8gUHJvdmlkZXMgc2Vuc2libGUgZGVmYXVsdHMgZm9yIHRoZSBjb2xvciwgaG9yaXpvbnRhbCBvZmZzZXQsIHZlcnRpY2FsIG9mZnNldCwgYmx1ciwgYW5kIHNwcmVhZFxuLy8gYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmF0aW9uIGRlZmF1bHRzIGFib3ZlLlxuQG1peGluIHNpbmdsZS10ZXh0LXNoYWRvdyhcbiAgJGhvZmY6IGZhbHNlLFxuICAkdm9mZjogZmFsc2UsXG4gICRibHVyOiBmYWxzZSxcbiAgJHNwcmVhZDogZmFsc2UsXG4gICRjb2xvcjogZmFsc2Vcbikge1xuICAvLyBBIGxvdCBvZiBwZW9wbGUgdGhpbmsgdGhlIGNvbG9yIGNvbWVzIGZpcnN0LiBJdCBkb2Vzbid0LlxuICBAaWYgdHlwZS1vZigkaG9mZikgPT0gY29sb3Ige1xuICAgICR0ZW1wLWNvbG9yOiAkaG9mZjtcbiAgICAkaG9mZjogJHZvZmY7XG4gICAgJHZvZmY6ICRibHVyO1xuICAgICRibHVyOiAkc3ByZWFkO1xuICAgICRzcHJlYWQ6ICRjb2xvcjtcbiAgICAkY29sb3I6ICR0ZW1wLWNvbG9yO1xuICB9XG4gIC8vIENhbid0IHJlbHkgb24gZGVmYXVsdCBhc3NpZ25tZW50IHdpdGggbXVsdGlwbGUgc3VwcG9ydGVkIGFyZ3VtZW50IG9yZGVycy5cbiAgJGhvZmY6ICAgaWYoJGhvZmYsICAgJGhvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctaC1vZmZzZXQpO1xuICAkdm9mZjogICBpZigkdm9mZiwgICAkdm9mZiwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy12LW9mZnNldCk7XG4gICRibHVyOiAgIGlmKCRibHVyLCAgICRibHVyLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgICAgKTtcbiAgJHNwcmVhZDogaWYoJHNwcmVhZCwgJHNwcmVhZCwgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICApO1xuICAkY29sb3I6ICBpZigkY29sb3IsICAkY29sb3IsICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1jb2xvciAgICk7XG4gIC8vIFdlIGRvbid0IG5lZWQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIHRoaXMgcHJvcGVydHkuXG4gIEBpZiAkY29sb3IgPT0gbm9uZSBvciAkaG9mZiA9PSBub25lIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdyhub25lKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coY29tcGFjdCgkaG9mZiAkdm9mZiAkYmx1ciAkc3ByZWFkICRjb2xvcikpO1xuICB9XG59XG4iLCIvL1xuLy8gTWFnZW50b1xuLy9cbi8vIE5PVElDRSBPRiBMSUNFTlNFXG4vL1xuLy8gVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCAzLjApXG4vLyB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRV9BRkwudHh0LlxuLy8gSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4vLyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHBcbi8vIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4vLyBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4vLyB0byBsaWNlbnNlQG1hZ2VudG8uY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4vL1xuLy8gRElTQ0xBSU1FUlxuLy9cbi8vIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBNYWdlbnRvIHRvIG5ld2VyXG4vLyB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgTWFnZW50byBmb3IgeW91clxuLy8gbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHA6Ly93d3cubWFnZW50by5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4vL1xuLy8gQGNhdGVnb3J5ICAgIGRlc2lnblxuLy8gQHBhY2thZ2UgICAgIHJ3ZF9kZWZhdWx0XG4vLyBAY29weXJpZ2h0ICAgQ29weXJpZ2h0IChjKSAyMDA2LTIwMTYgWC5jb21tZXJjZSwgSW5jLiBhbmQgYWZmaWxpYXRlcyAoaHR0cDovL3d3dy5tYWdlbnRvLmNvbSlcbi8vIEBsaWNlbnNlICAgICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYWZsLTMuMC5waHAgIEFjYWRlbWljIEZyZWUgTGljZW5zZSAoQUZMIDMuMClcbi8vXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAqIENhdGVnb3J5IExhbmRpbmcgUGFnZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXRlZ29yeS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2F0ZWdvcnlsYW5kaW5nTWFpbmJsb2NrIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTJFMkUyO1xuICAgIHBhZGRpbmc6IDdweDtcbn1cblxuLmNhdGJsb2NrcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNhdGJsb2NrcyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDIzJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSg4LzMwMCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAkYm94LXNwYWNpbmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtbW9kdWxlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uY2F0YmxvY2tzIGxpOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICRjLW1vZHVsZS1ib3JkZXItaGlnaGxpZ2h0O1xufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgICAuY2F0YmxvY2tzIGxpIHtcbiAgICAgICAgd2lkdGg6IDQ5JSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhdGJsb2NrcyBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhzbWFsbCkge1xuICAgIC5jYXRibG9ja3MgbGkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4uY2F0YmxvY2tzIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uY2F0YmxvY2tzIGxpIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY2F0YmxvY2tzIGxpIGEgc3BhbiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3QjdDN0I7XG4gICAgZm9udC1mYW1pbHk6IHJhbGV3YXk7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5jYXRibG9ja2xpbmtzIGEge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZVxufVxuXG4uY2F0bGFuZGluZ2JvdHRvbVByb21vYmxvY2sge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMkUyRTI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG59XG5cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyBkaXYuY2F0ZWdvcnlsYW5kLWNhcHRpb24gc3Bhbi5ibHVlLWJpZy10ZXh0IHtcbiAgICBjb2xvcjogIzMzOTlDQztcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBwYWRkaW5nOiAwIDAgMCA4cHg7XG59XG5cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4uYmx1ZS1iaWctdGV4dCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50XG59XG5cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4udGhyZWUtZG90cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZ190aHJlZURvdHMucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHAuZGVzYyB7XG4gICAgZm9udDogaXRhbGljIDE4cHgvMjhweCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG4gICAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5jbXMtaG9tZSAjaG9tZXBhZ2UtbWFpbi1zbGlkZXMgZGl2LnNsaWRlc19jb250cm9sIGRpdiBkaXYuc2xpZGVzaG93LWNhcHRpb24gYS5saW5rOmhvdmVyLFxuLmNtcy1ob21lICNob21lcGFnZS1tYWluLXNsaWRlcyBkaXYuc2xpZGVzX2NvbnRyb2wgZGl2IGRpdi5zbGlkZXNob3ctY2FwdGlvbiBzcGFuLmxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjMTE4OUM1O1xufVxuXG4uY21zLWhvbWUgI2hvbWVwYWdlLW1haW4tc2xpZGVzIGRpdi5zbGlkZXNfY29udHJvbCBkaXYgZGl2LnNsaWRlc2hvdy1jYXB0aW9uIHNwYW4uYmx1ZS1iaWctdGV4dCxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4uYmx1ZS1iaWctdGV4dCB7XG4gICAgY29sb3I6ICMzMzk5Q0M7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgcGFkZGluZzogMCAwIDAgOHB4O1xufVxuXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IGRpdi5jYXRlZ29yeWxhbmQtY2FwdGlvbiBzcGFuLmJsdWUtYmlnLXRleHQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudFxufVxuXG4uY21zLWhvbWUgI2hvbWVwYWdlLW1haW4tc2xpZGVzIGRpdi5zbGlkZXNfY29udHJvbCBkaXYgZGl2LnNsaWRlc2hvdy1jYXB0aW9uIHNwYW4udGhyZWUtZG90cyxcbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgZGl2LmNhdGVnb3J5bGFuZC1jYXB0aW9uIHNwYW4udGhyZWUtZG90cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZ190aHJlZURvdHMucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5jbXMtaG9tZSAjaG9tZXBhZ2UtbWFpbi1zbGlkZXMgZGl2LnNsaWRlc19jb250cm9sIGRpdiBkaXYuc2xpZGVzaG93LWNhcHRpb24gcC5kZXNjLFxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyBkaXYuY2F0ZWdvcnlsYW5kLWNhcHRpb24gcC5kZXNjIHtcbiAgICBmb250OiBpdGFsaWMgMThweC8yOHB4IEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcbiAgICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICogUGVyc29uYWxpenphdG8gLSBDb25maWd1cmF0b3JlXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY2F0ZWdvcnktdmFyaWFudCB7XG4gICAgLmNhdGVnb3J5LXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXRlZ29yeS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgIH1cbiAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDg3NXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQ3JTtcbiAgICAgICAgLy9tYXgtaGVpZ2h0OiA2MDZweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjUlO1xuICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyB7XG4gICAgLmNhdGVnb3J5LXByb2R1Y3RzLWd0dGhlbWUuY3VzdG9tLWNvbGxlY3Rpb24ge1xuICAgICAgICAucHJvZHVjdHMtZ3JpZC1ndHRoZW1lIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogNSU7XG4gICAgICAgICAgICAvL2ZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIC8vbWF4LWhlaWdodDogNjE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2UsIC5wcm9kdWN0LWluZm8ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1yaWdodDogMTYlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICAvL2JvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGEwYTBhO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgLy9sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoMiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGQgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbmZvIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSwgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAteGxhcmdlKSB7XG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyB7XG4gICAgICAgIC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIHtcbiAgICAgICAgICAgIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyB7XG4gICAgICAgIC5jYXRlZ29yeS1wcm9kdWN0cy1ndHRoZW1lLmN1c3RvbS1jb2xsZWN0aW9uIHtcbiAgICAgICAgICAgIC5wcm9kdWN0cy1ncmlkLWd0dGhlbWUge1xuICAgICAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAgIC5jYXRhbG9nLWNhdGVnb3J5LXZpZXcge1xuICAgICAgICAuY2F0ZWdvcnktcHJvZHVjdHMtZ3R0aGVtZS5jdXN0b20tY29sbGVjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgLnByb2R1Y3RzLWdyaWQtZ3R0aGVtZSB7XG4gICAgICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0LWluZm8gdHIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN0aWxpIGdlbmVyaWNpIHBhZ2luZSBDTVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY21zLXBhZ2UtdmlldyB7XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5icmVhZGNydW1icyB7XG4gICAgLy9kaXNwbGF5OiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIGgxIHtcbiAgICBAaW5jbHVkZSBibG9jay1pdGFsaWMtdGl0bGU7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuICBoMiB7XG4gICAgQGluY2x1ZGUgYmxvY2staXRhbGljLXRpdGxlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC13ZWlnaHQ6ICRmLXdlaWdodC1yZWd1bGFyO1xuICB9XG4gIC50aXRsZS1zZXJ2aWNlLXNpZGViYXIge1xuICAgIEBpbmNsdWRlIGJsb2NrLWl0YWxpYy10aXRsZTtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuICB1bC5zZXJ2aWNlLWxpc3Qge1xuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIH1cbiAgfVxuICAuc3RvcmUtZGF0YSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gICNjb250YWN0Rm9ybSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgLmZpZWxkc2V0IHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAucmVxdWlyZWQge1xuICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICB9XG4gICAgICAuY2hlY2stdGVybXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICB9XG4gIC5zaXplLWd1aWRlLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLnNpemVndWlkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB0YWJsZSB7XG4gICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgIH1cbiAgICB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC5maXJzdC1jb2x1bW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIC8vYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1pbi13aWR0aDogNTBweDtcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjVmNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhZ2VDbnQge1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICBtYXJnaW46YXV0bztcbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIGgyLnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAmLmNvbnRhdHRpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgID4gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tYXBvdXRlciB7XG4gICAgLmdtYXBfY2FudmFzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgI2dtYXBfY2FudmFzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDY0NnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaXViX2NvbnRlbnQsIC5pdWJlbmRhX2xlZ2FsX2RvY3VtZW50IHtcbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZi13ZWlnaHQtcmVndWxhcjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICB9XG4gICAgaDEgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZi13ZWlnaHQtcmVndWxhcjtcbiAgICB9XG4gICAgaDIsIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAuY21zLXBhZ2UtdmlldyB7XG4gICAgI2NvbnRhY3RGb3JtIHtcbiAgICAgIC5maWVsZHNldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGJ1dHRvbi5idXR0b24ge1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWaWxsYSBUb3JyZXNpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNtcy1ibG9jayB7XG4gIC50aXRsZSB7XG4gICAgQGluY2x1ZGUgYmxvY2staXRhbGljLXRpdGxlO1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuICAuc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuICAucGFyYWdyYXBoIHtcbiAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAuY21zLWJsb2NrX19tb2JpbGVpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5jbXMtYmxvY2sge1xuICAmLnBpY3R1cmUtdGV4dC1jZW50ZXIge1xuICAgIG1hcmdpbjogMCAwIDkwcHggMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC50ZXh0LWNlbnRlciB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuY29sMi1pbWctdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOSU7XG4gICAgLmNvbC0xIGltZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNi41JTtcbiAgICB9XG4gICAgLmNvbC0yLnBhcmFncmFwaCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJSaW5nc2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgICAgLnBhcmFncmFwaC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtNiU7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgJi5sYXJnZXItaW1nIHtcbiAgICAgIC5jb2wtMSB7XG4gICAgICAgIHdpZHRoOiA1MSU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29sLTIge1xuICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMTRweDtcbiAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTg2cHg7XG4gICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnZpZGVvLWNvbnRhaW5lci1ib3hlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE3JTtcbiAgICB2aWRlbyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTU2NXB4O1xuICAgIH1cbiAgICAudGV4dC1sZWZ0IHtcbiAgICAgIHdpZHRoOiAxNTY1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgICAucGFyYWdyYXBoIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5saW5rLXRleHQtY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWZyb20tZm9vdGVyO1xuICAgIC50ZXh0LWNlbnRlciB7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIC5wYXJhZ3JhcGgge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNtcy1ibG9ja19fbW9iaWxlaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jbXMtYmxvY2tfX2Rlc2tpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBpbmNsdWRlIGJwKG1pbi13aWR0aCwgJGJwLWxhcmdlICsgMSkge1xuXG4gIC5jbXMtYmxvY2sge1xuICAgICYuY29sMi1pbWctdGV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5jb2wyLXNldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXg6IDAgMSA1MCU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAuY21zLWJsb2NrX19kZXNraW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLTIge1xuICAgICAgICAgICYucGFyYWdyYXBoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAwIDEgNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5wYXJhZ3JhcGgtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucGljdHVyZS10ZXh0LWNlbnRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcblxuICAgICAgLnRleHQtY2VudGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbDItaW1nLXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG4gICAgfVxuXG4gICAgJi52aWRlby1jb250YWluZXItYm94ZWQge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgLmNtcy1ibG9jayB7XG4gICAgLnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5jbXMtYmxvY2tfX21vYmlsZWltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmNtcy1ibG9ja19fZGVza2ltZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuY29sMi1pbWctdGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuXG4gICAgICAuY29sLTEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb2wtMi5wYXJhZ3JhcGgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAucGFyYWdyYXBoLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZXItaW1nIHtcbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuY29sLTIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYucGljdHVyZS10ZXh0LWNlbnRlciB7XG4gICAgICBtYXJnaW46IDAgMCA5MHB4IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgLmNtcy1ibG9jay5saW5rLXRleHQtY2VudGVyIC50ZXh0LWNlbnRlciB7XG4gICAgLnN1YnRpdGxlLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgcGFkZGluZzogNXB4IDQwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUZWNub2xvZ2lhXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5jbXMtdGVjbm9sb2dpYSwgLmNtcy10ZWNobm9sb2d5IHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbiAgLmNvbC1tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmFydGljbGVzLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAuYXJ0aWNsZSB7XG4gICAgICBmbGV4LWJhc2lzOiA0OSU7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgICAuc3VidGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGYtcGFyYWdyYXBoO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNpZGViYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tbGVmdDogLSR0cmltLWRlc2t0b3A7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAuY21zLWNvbnRlbnQtYmxvY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zdHlsZTogJGYtc2l6ZS14eGw7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnBhcmFncmFwaCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5hcnRpY2xlLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmNvbnRlbnQge1xuICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gIH1cbn1cblxuLm1vYmlsZS1jbXMtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC5jbG9zZS10YWIge1xuICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5cbiNjbXMtcGFnZS1jb250ZW50LCAubW9iaWxlLWNtcy1jb250ZW50IHtcbiAgLy9wYWRkaW5nLXRvcDogODBweDtcbiAgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAjc2xpZGVyLWltZywgI3NsaWRlci1pbWctbW9iaWxlIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC5zbGljay10cmFjayB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDUxNXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNtcy1ibG9jayB7XG4gICAgLnRleHQtbGVmdCB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICAgIC5wYXJhZ3JhcGggcCB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtbGFyZ2UpIHtcbiAgLmNtcy10ZWNub2xvZ2lhLCAuY21zLXRlY2hub2xvZ3kge1xuICAgIC5jb2wtbGVmdC5zaWRlYmFyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2UtZnVsbC13aWR0aDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDFzLCBoZWlnaHQgMXM7XG4gICAgICB3aWxsLWNoYW5nZTogd2lkdGg7XG4gICAgfVxuICB9XG4gIC5tb2JpbGUtY21zLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggJHRyaW0tc21hbGw7XG4gIH1cbn1cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAuY21zLXRlY25vbG9naWEsIC5jbXMtdGVjaG5vbG9neSB7XG4gICAgLmFydGljbGVzLWNvbnRhaW5lciAuYXJ0aWNsZSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgYnAobWF4LXdpZHRoLCAkYnAtc21hbGwpIHtcbiAgLnNpZGViYXIge1xuICAgIC5jbXMtY29udGVudC1ibG9jayB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgJHRyaW0tc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNzbGlkZXItaW1nLW1vYmlsZSB7XG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDBweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICAmLmFycm93LW5leHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYge1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5ld3NsZXR0ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmNtcy1uZXdzbGV0dGVyIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zdGQge1xuICAgIEBpbmNsdWRlIHBhZ2UtZnVsbC13aWR0aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgZmxleC1iYXNpczogMzglO1xuICAgICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgZmxleC1iYXNpczogNjIlO1xuICAgICAgPiBkaXYge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1zdWJzY3JpYmUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyOTJweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2hlY2stdGVybXMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gIC5jbXMtbmV3c2xldHRlciB7XG4gICAgLnN0ZCB7XG4gICAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLW1lZGl1bSkge1xuICAuY21zLW5ld3NsZXR0ZXIge1xuICAgIC5zdGQge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXNzaXN0ZW56YVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jbXMtYXNzaXN0YW5jZSB7XG4gIC5zaWRlYmFyIHtcbiAgICAuc2VydmljZS1saXN0IHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlKCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiSG9lZmxlciBUZXh0XCIsIHNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMy42cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnN0ZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgIC5wYXJhZ3JhcGgge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZSgpO1xuICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgLy9wYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnN0b3JlLWRhdGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICAuc3RvcmUtZGF0YSBsaSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJpbmdzaWRlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICA+IGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXNzaXN0YW5jZS1hdmFpbGFibGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICB9XG5cbiAgICAgIC5zdG9yZS1kYXRhIGxpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgaDIudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDMuNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLnRpdGxlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAuY21zLWFzc2lzdGFuY2Uge1xuICAgIC5zaWRlYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5jb2wyLWxlZnQtbGF5b3V0IC5jb2wtbWFpbiB7XG4gICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnN0ZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAucGFyYWdyYXBoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNzBweCBhdXRvIDA7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICB9XG4gICAgICAucGFyYWdyYXBoIHtcbiAgICAgICAgLnRpdGxlLWNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJIb2VmbGVyIFRleHRcIiwgc2VyaWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzLjZweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyLnRpdGxlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYXNzaXN0YW5jZS1hdmFpbGFibGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICB9XG4gICAgICAgIC5zdG9yZS1kYXRhIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNtcy1hc3Npc3RhbmNlIC5zdGQgLnBhcmFncmFwaCBoMi50aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5hc3Npc3RhbmNlLXNlY3Rpb25zIHtcbiAgLnRpdGxlLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLXBhcmFncmFwaDtcbiAgICBmb250LXNpemU6ICRmLXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgyLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZSgpO1xuICBmb250LXNpemU6ICRmLXNpemU7XG4gIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF2b3JhIGNvbiBub2lcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmNtcy1sYXZvcmEtY29uLW5vaSwgLmNtcy13b3JrLXdpdGgtdXMge1xuICAucGFnZS10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBoMSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuICAuc3RkIHtcbiAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHBhcmFncmFwaC1ibG9jay10aXRsZTtcbiAgICAjcmVxdWVzdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogNjUlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIC5sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIH1cbiAgICAgICAgLmlucHV0ZmlsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJpZ2h0IHtcbiAgICAgICAgLy9mbGV4LWJhc2lzOiA1MCU7XG4gICAgICB9XG4gICAgICAuY2hlY2stdGVybXMge1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5pbnB1dC1ib3gge1xuICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICAudmFsaWRhdGlvbi1hZHZpY2Uge1xuICAgICAgICAgIGJvdHRvbTogLTE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gcC5yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zZWxlY3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgfVxuICAgICAgLmlucHV0LWJveCwgLnNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIC8vbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIH1cbiAgICAgICNjdXN0b21lcl9jdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1sYXJnZSkge1xuICAuY21zLWxhdm9yYS1jb24tbm9pLCAuY21zLXdvcmstd2l0aC11cyB7XG4gICAgLnBhZ2UtdGl0bGUgaDEge1xuICAgICAgZm9udC1zaXplOiAkZi1zaXplO1xuICAgIH1cbiAgICAuc3RkIHtcbiAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgfVxuICAgIC5zdGQgI3JlcXVlc3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAubGVmdCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLmlucHV0LWJveCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmluZm8ge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuaW5mbywgLnNlbGVjdCwgLmlucHV0ZmlsZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNoZWNrLXRlcm1zIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiBwLnJlcXVpcmVkIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1zbWFsbCkge1xuICAuY21zLXBhZ2UtdmlldyB7XG4gICAgLm1hcG91dGVyIHtcbiAgICAgIC5nbWFwX2NhbnZhcyB7XG4gICAgICAgICNnbWFwX2NhbnZhcyB7XG4gICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wcm9kdWN0LWNvc3R1bS5jb2wyLWltZy10ZXh0IHtcbiAgLmNvbDItc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAuY29sLTEge1xuICAgICAgd2lkdGg6IDU1JTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBpbWcge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAudGl0bGUsIC5zdWJ0aXRsZSwgcCB7XG4gICAgICAgIG1heC13aWR0aDogNTg1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNSU7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wtMiB7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4JTtcbiAgICAgICAgLnRpdGxlLCAuc3VidGl0bGUsIHAge1xuICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgICAgIH1cbiAgICAgICYuaW1nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sLTIsIC5jb2wtMSB7XG4gICAgICAudGl0bGUsIC5zdWJ0aXRsZSwgcCB7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgIH1cbiAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wcm9kdWN0LWNvc3R1bS52aWRlby1jb250YWluZXItYm94ZWQge1xuICAudGV4dC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNTUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIH1cbiAgfVxuICB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiA2NSU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMTIlO1xuICB9XG59XG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLXhsYXJnZSArIDEpIHtcbiAgLnByb2R1Y3QtY29zdHVtLnZpZGVvLWNvbnRhaW5lci1ib3hlZCB7XG4gICAgLnRleHQtbGVmdCB7XG4gICAgICBtYXgtd2lkdGg6IDQ1JTtcbiAgICB9XG4gICAgdmlkZW8ge1xuICAgICAgZmxvYXQ6IHVuc2V0O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufSIsIiRwYWRkaW5nLXRvcC1kZXNrdG9wOiAyMHB4O1xuJHBhZGRpbmctYm90dG9tLWRlc2t0b3A6IDUwcHg7XG5cbi5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IHtcbiAgLy8uc3RpY2t5LXdyYXBwZXIge1xuICAvLyAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvLyAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgLy99XG4gIC5pbWFnZXMtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICAjdGhyZWVzaXh0eSB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICAvL21heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA3NTBweDtcbiAgICB9XG4gIH1cbiAgLmluaXRpYWxzLWRldGFpbHMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgLmZyb250LWltZy1kZXRhaWwge1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIH1cbiAgICAuYmFjay1pbWctZGV0YWlsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYudmlzaWJsZS1kZXRhaWwge1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zdGlja3ktd3JhcHBlciB7XG4gICAgLy93aWR0aDogMzMuMzMzMzMlO1xuICAgIC8vZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAuY3VzdG9taXplci1ibG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmctdG9wLWRlc2t0b3A7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tLWRlc2t0b3A7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgLmFjdGlvbnMtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1ibG9jayB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5zeW1ib2wge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5pbmZvLWl2YSB7XG4gICAgICAgICAgd2lkdGg6IDMwMCU7XG4gICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4cztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtNTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlbGl2ZXJ5X3RpbWVfZGF0ZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICB9XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICBmb250LWZhbWlseTogJGYtdGl0bGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB9XG4gICAgLnRhYmxlLXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAuaWQge1xuICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgIG1pbi13aWR0aDogODVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIC52YWx1ZXMge1xuICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBpbml0aWFsO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgLmluaXRpYWxzLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAubGV0dGVycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLmxldHRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b20tZGVza3RvcDtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIC8vbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHh4bDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1wYXJhZ3JhcGg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC52YWxpZGF0aW9uLWFkdmljZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3VnZ2VzdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGMtZGFuZ2VyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnN1Z2dlc3Rpb24taW5pdGlhbHMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLnZhbGlkYXRpb24tbGV0dGVyLWFkdmljZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgIH1cbiAgICAgIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5zaXplLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy10b3AtZGVza3RvcDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC52YWx1ZXMge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgfVxuICAgICAgICAuc2l6ZS1zZXBhcmF0b3Ige1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBvcHVwLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwNDI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cbiAgICAgIC5wb3B1cC1zaXplLWd1aWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxMDQzO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgICAgLmNsb3NlcG9wdXAge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZS1pY29uLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgICNzaXplLWd1aWRlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB6LWluZGV4OiAxMDQ1O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLWJsb2NrLXRpdGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNpemUtZ3VpZGUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stdXBwZXJjYXNlLXN1YnRpdGxlO1xuICAgICAgICBAaW5jbHVkZSBwYXJhZ3JhcGgtYmxvY2stdGl0bGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5zaXplZ3VpZGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXRpdGxlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7XG4gICAgICAgIH1cbiAgICAgICAgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAuZmlyc3QtY29sdW1uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgLy9ib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY1ZjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b25zIHtcbiAgICAgIC5idG4tY2FydCB7XG4gICAgICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRwYWRkaW5nLWJvdHRvbS1kZXNrdG9wO1xuICAgICAgICAmLm5vdC1jbGlja2FibGUge1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudG9wLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqIFJFU1BPTlNJVkUgKiovXG5cbkBpbmNsdWRlIGJwKG1heC13aWR0aCwgJGJwLWxhcmdlKSB7XG4gIC5jb3Ntby1jdXN0b21pemVyLWluZGV4LWluZGV4IHtcbiAgICAuaW1hZ2VzLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXJyb3ctcHJldiB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAuYXJyb3ctbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLnRvcC1ibG9jayB7XG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgICAuY3VzdG9taXplci1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLy5zdWJ0aXRsZSB7XG4gICAgICAgIC8vICBkaXNwbGF5OiBub25lO1xuICAgICAgICAvL31cbiAgICAgICAgLmFjdGlvbnMtbW9iaWxlIHtcbiAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIC8vcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgYSwgYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLXVwcGVyY2FzZS1zdWJ0aXRsZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8mLnByaW1hcnktYmxvY2sge1xuICAgICAgICAvLyAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vfVxuICAgICAgICAub3B0aW9ucy10YWJsZSB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAudGFibGUtcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIG91dGxpbmU6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAuaWQge1xuICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIC8vcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIC8vdG9wOiAwO1xuICAgICAgICAgICAgICAvL3RleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnZhbHVlcyB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubWF0LWFycm93LW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJz4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAubWF0LWFycm93LXByZXYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnPCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaW5pdGlhbHMtYmxvY2sge1xuICAgICAgICAgICAgLnN1Z2dlc3Rpb24taW5pdGlhbHMge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi10aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAubGV0dGVycyB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIC5sZXR0ZXIge1xuICAgICAgICAgICAgICAuc3VnZ2VzdGlvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudmFsaWRhdGlvbi1sZXR0ZXItYWR2aWNlIHtcbiAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pbml0aWFscy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLmZyb250LWltZy1kZXRhaWwge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmN1cnJlbnQtc3RlcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgLnRvcC1ibG9jayB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRlbGl2ZXJ5X3RpbWVfZGF0ZSB7XG4gICAgICAgICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBibG9jay11cHBlcmNhc2Utc3VidGl0bGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuY3VycmVudC1zdGVwIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC1tZWRpdW0pIHtcbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXgge1xuICAgIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICAgIC5jdXN0b21pemVyLWJsb2NrLmluaXRpYWxzLWJsb2NrIHtcbiAgICAgICAgLmluaXRpYWxzLWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgLmJhY2staW1nLWRldGFpbC52aXNpYmxlLWRldGFpbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicChtYXgtd2lkdGgsICRicC14c21hbGwpIHtcbiAgLmNvc21vLWN1c3RvbWl6ZXItaW5kZXgtaW5kZXgge1xuICAgIC5wcm9kdWN0LWluZm8tY29udGFpbmVyIHtcbiAgICAgIC5pbml0aWFscy1ibG9jayB7XG4gICAgICAgIC5sZXR0ZXJzIHtcbiAgICAgICAgICAubGV0dGVyIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
