.post-item.item-style-image .post-content{background:rgba(0,0,0,0.65)}.post-item.item-style-image .post-content .post-summary{display:none}.post-item .post-image a,.post-item .post-footer{position:absolute;top:0;left:0;right:0;bottom:0}#blog-list .pagination{max-width:75rem;margin-right:auto;margin-left:auto}.post-item{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);transform:translateZ(0);transition:all 0.25s}@media print, screen and (min-width: 64em){.post-item:hover{box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);transform:translateY(-3px)}}#blog-list .pagination{display:flex;justify-content:space-between;align-items:center;align-content:center;flex-wrap:wrap}@supports (-webkit-line-clamp: 2){.post-item .post-content .post-summary{text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.post-item .post-content .post-summary::after{content:none}}.landingPageContainer{display:flex;flex-wrap:wrap;align-content:center}.landingPageContainer{flex-direction:column}.no-cssgrid>.image-title .button-wrapper{visibility:hidden}.no-cssgrid .image-item figure img{position:absolute;top:50%;left:50%;height:auto;width:auto;min-width:100%;min-height:100%;transform:translate(-50%, -50%)}.post-item.item-style-image .post-content{background:rgba(0,0,0,0.65)}.post-item.item-style-image .post-content .post-summary{display:none}.result-filters .panel-button{bottom:54px}#footer-promo{padding-bottom:4rem}#footer-promo .promo-banner{height:54px;position:fixed;bottom:0;width:100vw;padding:0.5rem 1rem;color:white;background-color:rgba(0,0,0,0.9);z-index:20;line-height:1}#footer-promo .promo-banner .promo-campaign{font-weight:800;font-size:1.2rem;line-height:1;text-transform:uppercase}@media print, screen and (min-width: 40em){#footer-promo .promo-banner .promo-campaign{font-size:1.5rem}}@media screen and (min-width: 90em){#footer-promo .promo-banner .promo-campaign{font-size:1.8rem}}#footer-promo .promo-banner .promo-offer{margin-bottom:0.5rem}@media screen and (min-width: 90em){#footer-promo .promo-banner .promo-offer{font-size:1.2rem}}#footer-promo .promo-banner .promo-time{font-size:0.8rem;color:rgba(255,255,255,0.6)}#footer-promo .promo-banner .promo-cta{text-align:right}#footer-promo .promo-banner .promo-cta .button{color:white;background-color:#ef0000}#footer-promo .promo-banner .promo-cta .button:hover{color:white}#blog-list .pagination{flex-direction:row-reverse;padding-bottom:1rem}.post-item{cursor:pointer;position:relative;float:left;height:32rem;width:100%;margin:0;background:#fefefe}.post-item .post-image{position:relative;width:100%;height:100%;overflow:hidden}.post-item .post-image a{background:#e6e6e6;background-position:center;background-repeat:no-repeat;background-size:cover}.post-item .post-image a img{height:100%}.post-item .post-content{padding:1rem;background-color:none;padding-bottom:2.5rem}.post-item .post-content .post-title{margin-top:0.5rem}.post-item .post-content .post-summary{position:relative;font-size:0.9rem;overflow:hidden}.post-item .post-content .post-summary::after{content:'';text-align:right;position:absolute;bottom:0;right:0;width:25%;height:1.8rem}.post-item .post-footer{top:auto;padding:0.5rem 1rem}.post-item .post-footer .share-links{float:left;width:60%;color:#8a8a8a}.post-item .post-footer a{color:#8a8a8a;font-size:0.8rem;margin:0 0.1rem}.post-item .post-footer a.readmore-link{float:right;font-size:0.9rem}.post-item:not(.item-style-card) .post-content{position:absolute;bottom:0;width:100%}.post-item:not(.item-style-card) .post-content .post-title{font-size:2rem}.post-item:not(.item-style-card) .post-content .post-title a{color:white}.post-item:not(.item-style-card) .post-footer .share-links a,.post-item:not(.item-style-card) .post-footer a.readmore-link{color:rgba(255,255,255,0.85);letter-spacing:0.8px;text-decoration:underline}.post-item:not(.item-style-card) .post-footer .share-links a i,.post-item:not(.item-style-card) .post-footer a.readmore-link i{margin-left:0.3rem}.post-item.item-style-card .post-image{max-height:230px}.post-item.item-style-card .post-content .post-title{font-size:1.3rem}.post-item.item-style-card .post-content .post-summary{height:4.5rem;-webkit-line-clamp:3}.post-item.item-style-card .post-content .post-summary::after{background:linear-gradient(to right, rgba(255,255,255,0), #fff 80%)}.post-item.item-style-card .post-footer{border-top:solid 1px #ddd;background:#e6e6e6}@media print, screen and (min-width: 40em){.post-item.item-style-card.item-size-3 .post-image{float:left;width:50%;max-height:none}}@media print, screen and (min-width: 40em){.post-item.item-style-card.item-size-3 .post-content{margin-left:50%}}@media print, screen and (min-width: 64em){.post-item.item-style-card.item-size-3 .post-content .post-summary{height:7.2rem;-webkit-line-clamp:5}}@media print, screen and (min-width: 40em){.post-item.item-style-card.item-size-3 .post-footer{left:50%}}.post-item.item-style-color .post-image{display:none}.post-item.item-style-color .post-content{top:0;background-image:linear-gradient(130deg, #f7941e 0%, #fe682b 100%)}.post-item.item-style-color .post-content .post-summary{font-size:1.2rem;color:white;height:15.2rem;-webkit-line-clamp:8}.post-item.item-style-color .post-content .post-summary::after{background:radial-gradient(ellipse at right, rgba(254,103,43,0.8) 0%, rgba(254,103,43,0) 100%)}@media print, screen and (min-width: 40em){.post-item.item-style-color.item-size-3 .post-content .post-summary{height:5.76rem;-webkit-line-clamp:3}}.post-item.item-size-3,.post-item.item-size-2,.post-item.item-size-1{margin:2rem 0.9375rem;margin-bottom:0}@media print, screen and (min-width: 40em){.post-item.item-size-1{width:calc(50% - 1.875rem)}}@media print, screen and (min-width: 64em){.post-item.item-size-1{width:calc(33.33333% - 1.875rem)}}@media print, screen and (min-width: 40em){.post-item.item-size-2{width:calc(50% - 1.875rem)}}@media print, screen and (min-width: 64em){.post-item.item-size-2{width:calc(66.66666% - 1.875rem)}}@media print, screen and (min-width: 40em){.post-item.item-size-3{height:18.75rem}}.post-item.post-placeholder .post-image{height:70%}.post-item.post-placeholder.item-size-2{margin:auto;width:100%}.post-item.post-placeholder.item-size-2 .post-image{height:60%;border-radius:0}.post-item.post-placeholder.item-size-2 .post-content{background:none !important;top:auto;bottom:30px;max-width:15rem}.post-item.post-placeholder .post-content{padding:0.6rem 1rem}:not(.related-articles) .post-read{display:none}.no-cssgrid .related-articles.alernative-bg .post-item{flex-basis:calc(25% - 1.875rem);margin-left:0.9375px;margin-right:0.9375px}.no-cssgrid .related-articles{display:flex}.no-cssgrid .related-articles .post-item{flex-basis:calc(25% - 0.8rem);margin:0 0.4rem;display:flex;flex-direction:column}.blog-related-articles{padding:0.9375rem calc(0.9375rem + 10px);grid-gap:1.875rem !important}@media print, screen and (min-width: 64em){.blog-related-articles{padding:0.9375rem 29.76px}}.blog-related-articles .post-item:not(.item-style-card) .post-content{background-image:linear-gradient(360deg, rgba(0,0,0,0.8), transparent)}.related-articles{display:grid;grid-gap:0.9375rem;background:none;grid-template-columns:repeat(1, 1fr)}@media print, screen and (min-width: 40em){.related-articles{grid-template-columns:repeat(2, 1fr)}}@media print, screen and (min-width: 64em){.related-articles{grid-template-columns:repeat(4, 1fr)}}.related-articles .post-item{height:24rem;display:flex;width:100%}.related-articles .post-item .post-date,.related-articles .post-item .post-summary,.related-articles .post-item .post-footer{display:none}.related-articles .post-item .post-content{padding:0 0.5rem 0 1rem;top:8rem;text-align:left;display:flex;flex-direction:column}.related-articles .post-item .post-content .post-read{display:block;color:white;text-align:right;margin-bottom:0.5rem;font-size:0.7rem;position:absolute;width:calc(100% - 1.475rem);letter-spacing:0.8px;bottom:0;text-decoration:underline}.related-articles .post-item .post-content .post-read i{margin-left:0.3rem}.related-articles .post-item .post-content .post-title{font-size:1.9rem;font-weight:600;bottom:1.5rem;letter-spacing:0.8px;position:absolute;right:1rem;left:1rem;line-height:40px}.related-articles .post-item .post-content .post-category{position:absolute;left:0;right:0;bottom:1.5rem}.category-link{display:inline-block;font-size:0.75rem;margin-right:0.5rem;padding:0 0.5rem;border-radius:3px;color:#fefefe;background-color:#2d6caf;text-transform:capitalize;cursor:pointer;box-shadow:0 0 2px 1px rgba(255,255,255,0.5)}.category-link:hover{color:#fefefe;background-color:#00adef}.post-author{text-align:center}.post-author .author-pic{display:block;width:3rem;height:3rem;margin:0.5rem auto;border-radius:50%;box-shadow:0 0 5px rgba(0,0,0,0.3)}.post-author .author-name{font-weight:bold}.blog-content{padding-top:4rem}.post-container p{margin-bottom:2rem;line-height:1.9;font-size:1.05rem;text-align:left}.post-container p:first-child:first-line{font-weight:700}.post-container p:first-child:first-letter{line-height:1;font-size:3rem;color:#00adef}.post-container p.caption{margin-top:0.5rem;font-size:0.8rem;text-align:center;color:#8a8a8a}.post-container img{display:block;text-align:center;margin-bottom:2rem}.post-container .responsive-video{margin-bottom:2rem}.post-container blockquote{margin-bottom:2rem;border:none;text-align:center;font-size:1.8rem;color:#00adef}.post-container blockquote::before,.post-container blockquote::after{font-family:Georgia;font-weight:800;line-height:0.5}.post-container blockquote::before{content:open-quote}.post-container blockquote::after{content:close-quote}.post-container .post-keywords{text-align:left}.post-container .post-keywords span{display:inline-block;font-size:0.75rem;margin-right:0.5rem;padding:0 0.5rem;border-radius:3px;border:solid 1px #ddd;text-transform:capitalize}.post-container .post-author{position:relative;margin:2rem 0}.post-container .post-author .author-pic{width:5rem;height:5rem}.post-container .post-author .author-bio{margin:0;margin-top:0.5rem;padding:0 0.5rem;font-size:0.95rem;line-height:1.5;text-align:center;color:#777}@media print, screen and (min-width: 40em){.post-container .post-author .author-bio{padding:0 5rem}}.post-container .post-author::after,.post-container .post-author::before{content:'';position:absolute;top:2.5rem;left:0;right:0;height:2px;margin-top:-1px;background:#e6e6e6}.post-container .post-author::before{right:63%}.post-container .post-author::after{left:63%}.post-nav,.post-nav-list{width:100%;overflow:hidden;border-top:solid 1px #ddd;border-top-width:2px;display:flex}.post-nav [class$='-post'],.post-nav-list [class$='-post']{position:relative;flex-basis:50%;padding:1rem;color:#003e7e}@media print, screen and (min-width: 64em){.post-nav [class$='-post'],.post-nav-list [class$='-post']{padding:1rem 2rem}}.post-nav [class$='-post']::after,.post-nav-list [class$='-post']::after{position:absolute;font-family:'Font Awesome 5 Pro';top:50%;margin-top:-1.5rem;font-size:2rem;color:#cacaca}.post-nav [class$='-post'].prev-post,.post-nav-list [class$='-post'].prev-post{border-right:solid 1px #ddd;text-align:right}.post-nav [class$='-post'].prev-post::after,.post-nav-list [class$='-post'].prev-post::after{content:"\f053";left:0.5rem}@media print, screen and (min-width: 64em){.post-nav [class$='-post'].prev-post::after,.post-nav-list [class$='-post'].prev-post::after{left:2.5rem}}.post-nav [class$='-post'].prev-post>h3,.post-nav-list [class$='-post'].prev-post>h3{padding-left:3rem}.post-nav [class$='-post'].next-post,.post-nav-list [class$='-post'].next-post{border-left:solid 1px #ddd;text-align:left}.post-nav [class$='-post'].next-post::after,.post-nav-list [class$='-post'].next-post::after{content:"\f054";right:0.5rem}@media print, screen and (min-width: 64em){.post-nav [class$='-post'].next-post::after,.post-nav-list [class$='-post'].next-post::after{right:2.5rem}}.post-nav [class$='-post'].next-post>h3,.post-nav-list [class$='-post'].next-post>h3{padding-right:3rem}.post-nav [class$='-post'] span,.post-nav-list [class$='-post'] span{display:block;margin-bottom:0.5rem;text-transform:uppercase;font-size:0.8rem}.post-nav [class$='-post'] h3,.post-nav-list [class$='-post'] h3{text-transform:capitalize}@media screen and (max-width: 63.9375em){.post-nav [class$='-post'] h3,.post-nav-list [class$='-post'] h3{font-size:0.9rem}}.post-nav [class$='-post']:hover,.post-nav-list [class$='-post']:hover,.post-nav [class$='-post']:hover::after,.post-nav-list [class$='-post']:hover::after,.post-nav [class$='-post']:hover h3,.post-nav-list [class$='-post']:hover h3{color:#00adef}.post-nav{background:#fefefe}.newsletter-widget{margin-bottom:2rem;padding:1rem;border-radius:3px;background:#f0f2f8}@media print, screen and (min-width: 64em){.newsletter-widget{padding:2.5rem}}.newsletter-widget p{margin-bottom:1rem;font-size:0.9rem}div.blog-nav{background-color:rgba(0,62,126,0.8)}div.blog-nav ul.menu{margin:0 1rem;padding:0}div.blog-nav ul.menu>li{opacity:0.6}div.blog-nav ul.menu>li>a{color:#fefefe}div.blog-nav ul.menu>li:hover{opacity:1}.landingPageContainer{flex-wrap:nowrap}@media screen and (max-width: 63.9375em){.landingPageContainer .padding .row{margin:0 0.7rem}.landingPageContainer .footer-grid{grid-template-columns:1fr;grid-template-rows:1fr;margin-top:1rem}}.landingPageContainer .section{background-color:white}@media screen and (max-width: 63.9375em){.landingPageContainer .section:not(:last-of-type){padding:1.875rem 0 0 0}.landingPageContainer .section.no-padding{padding:0}.landingPageContainer .section.no-padding-top{padding-top:0}}.careers__panel{min-height:14rem;border-top:solid 5px #2d6caf;border-bottom:solid 1px #2d6caf;padding:1rem}.image-over{text-align:center}.image-over__image{position:relative;transform:translate(0, -50%)}

.no-cssgrid>.image-title .button-wrapper{visibility:hidden}.no-cssgrid .image-item figure img{position:absolute;top:50%;left:50%;height:auto;width:auto;min-width:100%;min-height:100%;transform:translate(-50%, -50%)}.seoLinksButton+.seoLinksButton{margin-left:1rem}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRhaW5lcnMtbGFuZGluZ1BhZ2UtTGFuZGluZ1BhZ2VDb250YWluZXI3MjNlNTQ5YjVlZDVmOGU2ZmFmOS5taW4uY3NzIiwid2VicGFjazovLy9qcy9jb250YWluZXJzL2xhbmRpbmdQYWdlL0xhbmRpbmdQYWdlQ29udGFpbmVyLmpzIl0sIm5hbWVzIjpbIkdyaWRJbWFnZSIsImxvYWRhYmxlIiwiR3JpZCIsInJlbGF0ZWRBdHRyYWN0aW9ucyIsInJlbGF0ZWRMaXN0UGFnZSIsImxhYmVscyIsImlzRGVmYXVsdEN1bHR1cmUiLCJnb29kVG9Lbm93IiwiaGlnaGxpZ2h0cyIsInNlbGVjdGVkQ3VycmVuY3kiLCJzZWxlY3RlZEN1cnJlbmN5U3ltYm9sIiwib3JpZW50YXRpb24iLCJ1c3BzIiwiYWxpYXMiLCJpc0NyaXRpY2FsIiwidG9wVG91cnMiLCJjbGFzc05hbWUiLCJzZWN0aW9uIiwiaXNMb2FkaW5nIiwiaXNUYWJsZXQiLCJoaWRlRGl2aXNpb24iLCJvblBsYXlWaWRlbyIsImRpc3BsYXlDYXRlZ29yaWVzIiwiYmFubmVycyIsImZldGNoaW5nUHJvZHVjdHNCb29raW5ncyIsInRpdGxlIiwibGVuZ3RoIiwiaXNNb2JpbGUiLCJpc0NvbnRhaW5lciIsImJ1dHRvblRleHQiLCJ2aWV3TW9yZSIsImtleSIsInJlbmRlckFzTGlzdCIsImRlc2NyaXB0aW9uIiwiZ3JpZEl0ZW1zIiwiVG91cnNMaXN0Q29udGFpbmVyIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJwcm9wcyIsImRpc3BhdGNoR2V0Qm9va2luZ3NDb3VudCIsImN1cnJlbnRDdWx0dXJlIiwidXNlRWZmZWN0IiwibG9hZEF0dHJhY3Rpb24iLCJ3aW5kb3ciLCJNU0lucHV0TWV0aG9kQ29udGV4dCIsImRvY3VtZW50TW9kZSJdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDLDJCQUEyQixDQUFDLHdEQUF3RCxZQUFZLENBQUMsaURBQWlELGlCQUFpQixDQUFDLEtBQUssQ0FB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LHlCQUFBLENBQUEseUNBT0MsaUVBQ0ksZ0JBQUEsQ0FBQSxDQUFBLHlPQUlpQ3RCLGFBQWpDLENBQUEsVUFBQSxrQkFBQSxDQUFBLG1CQUFBLGtCQUNKLENBQUEsWUFDSSxDQUFBLGlCQUFBLENBQUEsa0JBQXFDSSxDQUFRSiwyQ0FBN0MsbUJBQUEsY0FDSixDQUFBLENBQUEscUJBQ0gsa0JBRUksQ0FBQSxnQkFBOEJBLENBQUFBLGFBQTJCSSxtQ0FBekQsQ0FBQSxxQkFBQSxhQU1OLENBQ0UsU0FBTyxDQUFBLHdCQUtYLFdBQU8sQ0FBQSwwQkFBS21CLGFBQTJCQyxDQUFBQSw4QkFBaEMsU0FBQSxDQUFBLHNCQUFBLGdCQUVvQixDQUFBLHlDQUl6QmhCLG9DQUNBbEIsZUFDQUMsQ0FBQUEsbUNBYUVrQyx5QkFURjlCLENBQ0FGLHNCQUNBRyxDQU9FNkIsZUFQRjdCLENBQUFBLENBQUFBLCtCQU9FNkIsc0JBQUFBLENBQUFBLHlDQUZGQyxrREFLQXBDLHNCQUVBRSxDQUFBQSwwQ0FHQUcsU0FDQUMsQ0FBQUEsOENBRUFVLGFBQ0FiLENBQUFBLENBQUFBLGdCQUNBSyxnQkFDQTZCLENBQUFBLDRCQUtGQyxDQUFBQSwrQkFDUUMsQ0FBQUEsWUFBQUEsQ0FBQUEsWUFKZUMsaUJBQU9DLENBQUFBLG1CQUFtQ0MsaUJBTzlELENBQUEsNEJBR0Q7O0FEdlRKLHlDQUF5QyxpQkFBaUIsQ0FBQyxtQ0FBbUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsK0JBQStCLENBQUMsZ0NBQWdDLGdCQUFnQiIsImZpbGUiOiJjb250YWluZXJzLWxhbmRpbmdQYWdlLUxhbmRpbmdQYWdlQ29udGFpbmVyNzIzZTU0OWI1ZWQ1ZjhlNmZhZjkubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1pbWFnZSAucG9zdC1jb250ZW50e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjY1KX0ucG9zdC1pdGVtLml0ZW0tc3R5bGUtaW1hZ2UgLnBvc3QtY29udGVudCAucG9zdC1zdW1tYXJ5e2Rpc3BsYXk6bm9uZX0ucG9zdC1pdGVtIC5wb3N0LWltYWdlIGEsLnBvc3QtaXRlbSAucG9zdC1mb290ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9I2Jsb2ctbGlzdCAucGFnaW5hdGlvbnttYXgtd2lkdGg6NzVyZW07bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucG9zdC1pdGVte2JveC1zaGFkb3c6MCAycHggNXB4IDAgcmdiYSgwLDAsMCwwLjE2KSwwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjEyKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2l0aW9uOmFsbCAwLjI1c31AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnBvc3QtaXRlbTpob3Zlcntib3gtc2hhZG93OjAgOHB4IDE3cHggMCByZ2JhKDAsMCwwLDAuMiksMCA2cHggMjBweCAwIHJnYmEoMCwwLDAsMC4xOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCl9fSNibG9nLWxpc3QgLnBhZ2luYXRpb257ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1jb250ZW50OmNlbnRlcjtmbGV4LXdyYXA6d3JhcH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDogMil7LnBvc3QtaXRlbSAucG9zdC1jb250ZW50IC5wb3N0LXN1bW1hcnl7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW59LnBvc3QtaXRlbSAucG9zdC1jb250ZW50IC5wb3N0LXN1bW1hcnk6OmFmdGVye2NvbnRlbnQ6bm9uZX19LmxhbmRpbmdQYWdlQ29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDthbGlnbi1jb250ZW50OmNlbnRlcn0ubGFuZGluZ1BhZ2VDb250YWluZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5uby1jc3NncmlkPi5pbWFnZS10aXRsZSAuYnV0dG9uLXdyYXBwZXJ7dmlzaWJpbGl0eTpoaWRkZW59Lm5vLWNzc2dyaWQgLmltYWdlLWl0ZW0gZmlndXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO2hlaWdodDphdXRvO3dpZHRoOmF1dG87bWluLXdpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgLTUwJSl9LnBvc3QtaXRlbS5pdGVtLXN0eWxlLWltYWdlIC5wb3N0LWNvbnRlbnR7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNjUpfS5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1pbWFnZSAucG9zdC1jb250ZW50IC5wb3N0LXN1bW1hcnl7ZGlzcGxheTpub25lfS5yZXN1bHQtZmlsdGVycyAucGFuZWwtYnV0dG9ue2JvdHRvbTo1NHB4fSNmb290ZXItcHJvbW97cGFkZGluZy1ib3R0b206NHJlbX0jZm9vdGVyLXByb21vIC5wcm9tby1iYW5uZXJ7aGVpZ2h0OjU0cHg7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjA7d2lkdGg6MTAwdnc7cGFkZGluZzowLjVyZW0gMXJlbTtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC45KTt6LWluZGV4OjIwO2xpbmUtaGVpZ2h0OjF9I2Zvb3Rlci1wcm9tbyAucHJvbW8tYmFubmVyIC5wcm9tby1jYW1wYWlnbntmb250LXdlaWdodDo4MDA7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7I2Zvb3Rlci1wcm9tbyAucHJvbW8tYmFubmVyIC5wcm9tby1jYW1wYWlnbntmb250LXNpemU6MS41cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKXsjZm9vdGVyLXByb21vIC5wcm9tby1iYW5uZXIgLnByb21vLWNhbXBhaWdue2ZvbnQtc2l6ZToxLjhyZW19fSNmb290ZXItcHJvbW8gLnByb21vLWJhbm5lciAucHJvbW8tb2ZmZXJ7bWFyZ2luLWJvdHRvbTowLjVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSl7I2Zvb3Rlci1wcm9tbyAucHJvbW8tYmFubmVyIC5wcm9tby1vZmZlcntmb250LXNpemU6MS4ycmVtfX0jZm9vdGVyLXByb21vIC5wcm9tby1iYW5uZXIgLnByb21vLXRpbWV7Zm9udC1zaXplOjAuOHJlbTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNil9I2Zvb3Rlci1wcm9tbyAucHJvbW8tYmFubmVyIC5wcm9tby1jdGF7dGV4dC1hbGlnbjpyaWdodH0jZm9vdGVyLXByb21vIC5wcm9tby1iYW5uZXIgLnByb21vLWN0YSAuYnV0dG9ue2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6I2VmMDAwMH0jZm9vdGVyLXByb21vIC5wcm9tby1iYW5uZXIgLnByb21vLWN0YSAuYnV0dG9uOmhvdmVye2NvbG9yOndoaXRlfSNibG9nLWxpc3QgLnBhZ2luYXRpb257ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7cGFkZGluZy1ib3R0b206MXJlbX0ucG9zdC1pdGVte2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7aGVpZ2h0OjMycmVtO3dpZHRoOjEwMCU7bWFyZ2luOjA7YmFja2dyb3VuZDojZmVmZWZlfS5wb3N0LWl0ZW0gLnBvc3QtaW1hZ2V7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnBvc3QtaXRlbSAucG9zdC1pbWFnZSBhe2JhY2tncm91bmQ6I2U2ZTZlNjtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyfS5wb3N0LWl0ZW0gLnBvc3QtaW1hZ2UgYSBpbWd7aGVpZ2h0OjEwMCV9LnBvc3QtaXRlbSAucG9zdC1jb250ZW50e3BhZGRpbmc6MXJlbTtiYWNrZ3JvdW5kLWNvbG9yOm5vbmU7cGFkZGluZy1ib3R0b206Mi41cmVtfS5wb3N0LWl0ZW0gLnBvc3QtY29udGVudCAucG9zdC10aXRsZXttYXJnaW4tdG9wOjAuNXJlbX0ucG9zdC1pdGVtIC5wb3N0LWNvbnRlbnQgLnBvc3Qtc3VtbWFyeXtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MC45cmVtO292ZXJmbG93OmhpZGRlbn0ucG9zdC1pdGVtIC5wb3N0LWNvbnRlbnQgLnBvc3Qtc3VtbWFyeTo6YWZ0ZXJ7Y29udGVudDonJzt0ZXh0LWFsaWduOnJpZ2h0O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6MjUlO2hlaWdodDoxLjhyZW19LnBvc3QtaXRlbSAucG9zdC1mb290ZXJ7dG9wOmF1dG87cGFkZGluZzowLjVyZW0gMXJlbX0ucG9zdC1pdGVtIC5wb3N0LWZvb3RlciAuc2hhcmUtbGlua3N7ZmxvYXQ6bGVmdDt3aWR0aDo2MCU7Y29sb3I6IzhhOGE4YX0ucG9zdC1pdGVtIC5wb3N0LWZvb3RlciBhe2NvbG9yOiM4YThhOGE7Zm9udC1zaXplOjAuOHJlbTttYXJnaW46MCAwLjFyZW19LnBvc3QtaXRlbSAucG9zdC1mb290ZXIgYS5yZWFkbW9yZS1saW5re2Zsb2F0OnJpZ2h0O2ZvbnQtc2l6ZTowLjlyZW19LnBvc3QtaXRlbTpub3QoLml0ZW0tc3R5bGUtY2FyZCkgLnBvc3QtY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlfS5wb3N0LWl0ZW06bm90KC5pdGVtLXN0eWxlLWNhcmQpIC5wb3N0LWNvbnRlbnQgLnBvc3QtdGl0bGV7Zm9udC1zaXplOjJyZW19LnBvc3QtaXRlbTpub3QoLml0ZW0tc3R5bGUtY2FyZCkgLnBvc3QtY29udGVudCAucG9zdC10aXRsZSBhe2NvbG9yOndoaXRlfS5wb3N0LWl0ZW06bm90KC5pdGVtLXN0eWxlLWNhcmQpIC5wb3N0LWZvb3RlciAuc2hhcmUtbGlua3MgYSwucG9zdC1pdGVtOm5vdCguaXRlbS1zdHlsZS1jYXJkKSAucG9zdC1mb290ZXIgYS5yZWFkbW9yZS1saW5re2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC44NSk7bGV0dGVyLXNwYWNpbmc6MC44cHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucG9zdC1pdGVtOm5vdCguaXRlbS1zdHlsZS1jYXJkKSAucG9zdC1mb290ZXIgLnNoYXJlLWxpbmtzIGEgaSwucG9zdC1pdGVtOm5vdCguaXRlbS1zdHlsZS1jYXJkKSAucG9zdC1mb290ZXIgYS5yZWFkbW9yZS1saW5rIGl7bWFyZ2luLWxlZnQ6MC4zcmVtfS5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jYXJkIC5wb3N0LWltYWdle21heC1oZWlnaHQ6MjMwcHh9LnBvc3QtaXRlbS5pdGVtLXN0eWxlLWNhcmQgLnBvc3QtY29udGVudCAucG9zdC10aXRsZXtmb250LXNpemU6MS4zcmVtfS5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jYXJkIC5wb3N0LWNvbnRlbnQgLnBvc3Qtc3VtbWFyeXtoZWlnaHQ6NC41cmVtOy13ZWJraXQtbGluZS1jbGFtcDozfS5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jYXJkIC5wb3N0LWNvbnRlbnQgLnBvc3Qtc3VtbWFyeTo6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMCksICNmZmYgODAlKX0ucG9zdC1pdGVtLml0ZW0tc3R5bGUtY2FyZCAucG9zdC1mb290ZXJ7Ym9yZGVyLXRvcDpzb2xpZCAxcHggI2RkZDtiYWNrZ3JvdW5kOiNlNmU2ZTZ9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jYXJkLml0ZW0tc2l6ZS0zIC5wb3N0LWltYWdle2Zsb2F0OmxlZnQ7d2lkdGg6NTAlO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jYXJkLml0ZW0tc2l6ZS0zIC5wb3N0LWNvbnRlbnR7bWFyZ2luLWxlZnQ6NTAlfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnBvc3QtaXRlbS5pdGVtLXN0eWxlLWNhcmQuaXRlbS1zaXplLTMgLnBvc3QtY29udGVudCAucG9zdC1zdW1tYXJ5e2hlaWdodDo3LjJyZW07LXdlYmtpdC1saW5lLWNsYW1wOjV9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucG9zdC1pdGVtLml0ZW0tc3R5bGUtY2FyZC5pdGVtLXNpemUtMyAucG9zdC1mb290ZXJ7bGVmdDo1MCV9fS5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jb2xvciAucG9zdC1pbWFnZXtkaXNwbGF5Om5vbmV9LnBvc3QtaXRlbS5pdGVtLXN0eWxlLWNvbG9yIC5wb3N0LWNvbnRlbnR7dG9wOjA7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTMwZGVnLCAjZjc5NDFlIDAlLCAjZmU2ODJiIDEwMCUpfS5wb3N0LWl0ZW0uaXRlbS1zdHlsZS1jb2xvciAucG9zdC1jb250ZW50IC5wb3N0LXN1bW1hcnl7Zm9udC1zaXplOjEuMnJlbTtjb2xvcjp3aGl0ZTtoZWlnaHQ6MTUuMnJlbTstd2Via2l0LWxpbmUtY2xhbXA6OH0ucG9zdC1pdGVtLml0ZW0tc3R5bGUtY29sb3IgLnBvc3QtY29udGVudCAucG9zdC1zdW1tYXJ5OjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHJpZ2h0LCByZ2JhKDI1NCwxMDMsNDMsMC44KSAwJSwgcmdiYSgyNTQsMTAzLDQzLDApIDEwMCUpfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucG9zdC1pdGVtLml0ZW0tc3R5bGUtY29sb3IuaXRlbS1zaXplLTMgLnBvc3QtY29udGVudCAucG9zdC1zdW1tYXJ5e2hlaWdodDo1Ljc2cmVtOy13ZWJraXQtbGluZS1jbGFtcDozfX0ucG9zdC1pdGVtLml0ZW0tc2l6ZS0zLC5wb3N0LWl0ZW0uaXRlbS1zaXplLTIsLnBvc3QtaXRlbS5pdGVtLXNpemUtMXttYXJnaW46MnJlbSAwLjkzNzVyZW07bWFyZ2luLWJvdHRvbTowfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucG9zdC1pdGVtLml0ZW0tc2l6ZS0xe3dpZHRoOmNhbGMoNTAlIC0gMS44NzVyZW0pfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7LnBvc3QtaXRlbS5pdGVtLXNpemUtMXt3aWR0aDpjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKX19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3N0LWl0ZW0uaXRlbS1zaXplLTJ7d2lkdGg6Y2FsYyg1MCUgLSAxLjg3NXJlbSl9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsucG9zdC1pdGVtLml0ZW0tc2l6ZS0ye3dpZHRoOmNhbGMoNjYuNjY2NjYlIC0gMS44NzVyZW0pfX1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSl7LnBvc3QtaXRlbS5pdGVtLXNpemUtM3toZWlnaHQ6MTguNzVyZW19fS5wb3N0LWl0ZW0ucG9zdC1wbGFjZWhvbGRlciAucG9zdC1pbWFnZXtoZWlnaHQ6NzAlfS5wb3N0LWl0ZW0ucG9zdC1wbGFjZWhvbGRlci5pdGVtLXNpemUtMnttYXJnaW46YXV0bzt3aWR0aDoxMDAlfS5wb3N0LWl0ZW0ucG9zdC1wbGFjZWhvbGRlci5pdGVtLXNpemUtMiAucG9zdC1pbWFnZXtoZWlnaHQ6NjAlO2JvcmRlci1yYWRpdXM6MH0ucG9zdC1pdGVtLnBvc3QtcGxhY2Vob2xkZXIuaXRlbS1zaXplLTIgLnBvc3QtY29udGVudHtiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDt0b3A6YXV0bztib3R0b206MzBweDttYXgtd2lkdGg6MTVyZW19LnBvc3QtaXRlbS5wb3N0LXBsYWNlaG9sZGVyIC5wb3N0LWNvbnRlbnR7cGFkZGluZzowLjZyZW0gMXJlbX06bm90KC5yZWxhdGVkLWFydGljbGVzKSAucG9zdC1yZWFke2Rpc3BsYXk6bm9uZX0ubm8tY3NzZ3JpZCAucmVsYXRlZC1hcnRpY2xlcy5hbGVybmF0aXZlLWJnIC5wb3N0LWl0ZW17ZmxleC1iYXNpczpjYWxjKDI1JSAtIDEuODc1cmVtKTttYXJnaW4tbGVmdDowLjkzNzVweDttYXJnaW4tcmlnaHQ6MC45Mzc1cHh9Lm5vLWNzc2dyaWQgLnJlbGF0ZWQtYXJ0aWNsZXN7ZGlzcGxheTpmbGV4fS5uby1jc3NncmlkIC5yZWxhdGVkLWFydGljbGVzIC5wb3N0LWl0ZW17ZmxleC1iYXNpczpjYWxjKDI1JSAtIDAuOHJlbSk7bWFyZ2luOjAgMC40cmVtO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmJsb2ctcmVsYXRlZC1hcnRpY2xlc3twYWRkaW5nOjAuOTM3NXJlbSBjYWxjKDAuOTM3NXJlbSArIDEwcHgpO2dyaWQtZ2FwOjEuODc1cmVtICFpbXBvcnRhbnR9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5ibG9nLXJlbGF0ZWQtYXJ0aWNsZXN7cGFkZGluZzowLjkzNzVyZW0gMjkuNzZweH19LmJsb2ctcmVsYXRlZC1hcnRpY2xlcyAucG9zdC1pdGVtOm5vdCguaXRlbS1zdHlsZS1jYXJkKSAucG9zdC1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDM2MGRlZywgcmdiYSgwLDAsMCwwLjgpLCB0cmFuc3BhcmVudCl9LnJlbGF0ZWQtYXJ0aWNsZXN7ZGlzcGxheTpncmlkO2dyaWQtZ2FwOjAuOTM3NXJlbTtiYWNrZ3JvdW5kOm5vbmU7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLCAxZnIpfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKXsucmVsYXRlZC1hcnRpY2xlc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsIDFmcil9fUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsucmVsYXRlZC1hcnRpY2xlc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsIDFmcil9fS5yZWxhdGVkLWFydGljbGVzIC5wb3N0LWl0ZW17aGVpZ2h0OjI0cmVtO2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS5yZWxhdGVkLWFydGljbGVzIC5wb3N0LWl0ZW0gLnBvc3QtZGF0ZSwucmVsYXRlZC1hcnRpY2xlcyAucG9zdC1pdGVtIC5wb3N0LXN1bW1hcnksLnJlbGF0ZWQtYXJ0aWNsZXMgLnBvc3QtaXRlbSAucG9zdC1mb290ZXJ7ZGlzcGxheTpub25lfS5yZWxhdGVkLWFydGljbGVzIC5wb3N0LWl0ZW0gLnBvc3QtY29udGVudHtwYWRkaW5nOjAgMC41cmVtIDAgMXJlbTt0b3A6OHJlbTt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ucmVsYXRlZC1hcnRpY2xlcyAucG9zdC1pdGVtIC5wb3N0LWNvbnRlbnQgLnBvc3QtcmVhZHtkaXNwbGF5OmJsb2NrO2NvbG9yOndoaXRlO3RleHQtYWxpZ246cmlnaHQ7bWFyZ2luLWJvdHRvbTowLjVyZW07Zm9udC1zaXplOjAuN3JlbTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDpjYWxjKDEwMCUgLSAxLjQ3NXJlbSk7bGV0dGVyLXNwYWNpbmc6MC44cHg7Ym90dG9tOjA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucmVsYXRlZC1hcnRpY2xlcyAucG9zdC1pdGVtIC5wb3N0LWNvbnRlbnQgLnBvc3QtcmVhZCBpe21hcmdpbi1sZWZ0OjAuM3JlbX0ucmVsYXRlZC1hcnRpY2xlcyAucG9zdC1pdGVtIC5wb3N0LWNvbnRlbnQgLnBvc3QtdGl0bGV7Zm9udC1zaXplOjEuOXJlbTtmb250LXdlaWdodDo2MDA7Ym90dG9tOjEuNXJlbTtsZXR0ZXItc3BhY2luZzowLjhweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxcmVtO2xlZnQ6MXJlbTtsaW5lLWhlaWdodDo0MHB4fS5yZWxhdGVkLWFydGljbGVzIC5wb3N0LWl0ZW0gLnBvc3QtY29udGVudCAucG9zdC1jYXRlZ29yeXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MS41cmVtfS5jYXRlZ29yeS1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTowLjc1cmVtO21hcmdpbi1yaWdodDowLjVyZW07cGFkZGluZzowIDAuNXJlbTtib3JkZXItcmFkaXVzOjNweDtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6IzJkNmNhZjt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAwIDJweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjUpfS5jYXRlZ29yeS1saW5rOmhvdmVye2NvbG9yOiNmZWZlZmU7YmFja2dyb3VuZC1jb2xvcjojMDBhZGVmfS5wb3N0LWF1dGhvcnt0ZXh0LWFsaWduOmNlbnRlcn0ucG9zdC1hdXRob3IgLmF1dGhvci1waWN7ZGlzcGxheTpibG9jazt3aWR0aDozcmVtO2hlaWdodDozcmVtO21hcmdpbjowLjVyZW0gYXV0bztib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCA1cHggcmdiYSgwLDAsMCwwLjMpfS5wb3N0LWF1dGhvciAuYXV0aG9yLW5hbWV7Zm9udC13ZWlnaHQ6Ym9sZH0uYmxvZy1jb250ZW50e3BhZGRpbmctdG9wOjRyZW19LnBvc3QtY29udGFpbmVyIHB7bWFyZ2luLWJvdHRvbToycmVtO2xpbmUtaGVpZ2h0OjEuOTtmb250LXNpemU6MS4wNXJlbTt0ZXh0LWFsaWduOmxlZnR9LnBvc3QtY29udGFpbmVyIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGluZXtmb250LXdlaWdodDo3MDB9LnBvc3QtY29udGFpbmVyIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVye2xpbmUtaGVpZ2h0OjE7Zm9udC1zaXplOjNyZW07Y29sb3I6IzAwYWRlZn0ucG9zdC1jb250YWluZXIgcC5jYXB0aW9ue21hcmdpbi10b3A6MC41cmVtO2ZvbnQtc2l6ZTowLjhyZW07dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzhhOGE4YX0ucG9zdC1jb250YWluZXIgaW1ne2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbToycmVtfS5wb3N0LWNvbnRhaW5lciAucmVzcG9uc2l2ZS12aWRlb3ttYXJnaW4tYm90dG9tOjJyZW19LnBvc3QtY29udGFpbmVyIGJsb2NrcXVvdGV7bWFyZ2luLWJvdHRvbToycmVtO2JvcmRlcjpub25lO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxLjhyZW07Y29sb3I6IzAwYWRlZn0ucG9zdC1jb250YWluZXIgYmxvY2txdW90ZTo6YmVmb3JlLC5wb3N0LWNvbnRhaW5lciBibG9ja3F1b3RlOjphZnRlcntmb250LWZhbWlseTpHZW9yZ2lhO2ZvbnQtd2VpZ2h0OjgwMDtsaW5lLWhlaWdodDowLjV9LnBvc3QtY29udGFpbmVyIGJsb2NrcXVvdGU6OmJlZm9yZXtjb250ZW50Om9wZW4tcXVvdGV9LnBvc3QtY29udGFpbmVyIGJsb2NrcXVvdGU6OmFmdGVye2NvbnRlbnQ6Y2xvc2UtcXVvdGV9LnBvc3QtY29udGFpbmVyIC5wb3N0LWtleXdvcmRze3RleHQtYWxpZ246bGVmdH0ucG9zdC1jb250YWluZXIgLnBvc3Qta2V5d29yZHMgc3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MC43NXJlbTttYXJnaW4tcmlnaHQ6MC41cmVtO3BhZGRpbmc6MCAwLjVyZW07Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyOnNvbGlkIDFweCAjZGRkO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnBvc3QtY29udGFpbmVyIC5wb3N0LWF1dGhvcntwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MnJlbSAwfS5wb3N0LWNvbnRhaW5lciAucG9zdC1hdXRob3IgLmF1dGhvci1waWN7d2lkdGg6NXJlbTtoZWlnaHQ6NXJlbX0ucG9zdC1jb250YWluZXIgLnBvc3QtYXV0aG9yIC5hdXRob3ItYmlve21hcmdpbjowO21hcmdpbi10b3A6MC41cmVtO3BhZGRpbmc6MCAwLjVyZW07Zm9udC1zaXplOjAuOTVyZW07bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiM3Nzd9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pey5wb3N0LWNvbnRhaW5lciAucG9zdC1hdXRob3IgLmF1dGhvci1iaW97cGFkZGluZzowIDVyZW19fS5wb3N0LWNvbnRhaW5lciAucG9zdC1hdXRob3I6OmFmdGVyLC5wb3N0LWNvbnRhaW5lciAucG9zdC1hdXRob3I6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyLjVyZW07bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjJweDttYXJnaW4tdG9wOi0xcHg7YmFja2dyb3VuZDojZTZlNmU2fS5wb3N0LWNvbnRhaW5lciAucG9zdC1hdXRob3I6OmJlZm9yZXtyaWdodDo2MyV9LnBvc3QtY29udGFpbmVyIC5wb3N0LWF1dGhvcjo6YWZ0ZXJ7bGVmdDo2MyV9LnBvc3QtbmF2LC5wb3N0LW5hdi1saXN0e3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci10b3A6c29saWQgMXB4ICNkZGQ7Ym9yZGVyLXRvcC13aWR0aDoycHg7ZGlzcGxheTpmbGV4fS5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J117cG9zaXRpb246cmVsYXRpdmU7ZmxleC1iYXNpczo1MCU7cGFkZGluZzoxcmVtO2NvbG9yOiMwMDNlN2V9QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J117cGFkZGluZzoxcmVtIDJyZW19fS5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddOjphZnRlciwucG9zdC1uYXYtbGlzdCBbY2xhc3MkPSctcG9zdCddOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtmb250LWZhbWlseTonRm9udCBBd2Vzb21lIDUgUHJvJzt0b3A6NTAlO21hcmdpbi10b3A6LTEuNXJlbTtmb250LXNpemU6MnJlbTtjb2xvcjojY2FjYWNhfS5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddLnByZXYtcG9zdCwucG9zdC1uYXYtbGlzdCBbY2xhc3MkPSctcG9zdCddLnByZXYtcG9zdHtib3JkZXItcmlnaHQ6c29saWQgMXB4ICNkZGQ7dGV4dC1hbGlnbjpyaWdodH0ucG9zdC1uYXYgW2NsYXNzJD0nLXBvc3QnXS5wcmV2LXBvc3Q6OmFmdGVyLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J10ucHJldi1wb3N0OjphZnRlcntjb250ZW50OlwiXFxmMDUzXCI7bGVmdDowLjVyZW19QG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pey5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddLnByZXYtcG9zdDo6YWZ0ZXIsLnBvc3QtbmF2LWxpc3QgW2NsYXNzJD0nLXBvc3QnXS5wcmV2LXBvc3Q6OmFmdGVye2xlZnQ6Mi41cmVtfX0ucG9zdC1uYXYgW2NsYXNzJD0nLXBvc3QnXS5wcmV2LXBvc3Q+aDMsLnBvc3QtbmF2LWxpc3QgW2NsYXNzJD0nLXBvc3QnXS5wcmV2LXBvc3Q+aDN7cGFkZGluZy1sZWZ0OjNyZW19LnBvc3QtbmF2IFtjbGFzcyQ9Jy1wb3N0J10ubmV4dC1wb3N0LC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J10ubmV4dC1wb3N0e2JvcmRlci1sZWZ0OnNvbGlkIDFweCAjZGRkO3RleHQtYWxpZ246bGVmdH0ucG9zdC1uYXYgW2NsYXNzJD0nLXBvc3QnXS5uZXh0LXBvc3Q6OmFmdGVyLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J10ubmV4dC1wb3N0OjphZnRlcntjb250ZW50OlwiXFxmMDU0XCI7cmlnaHQ6MC41cmVtfUBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKXsucG9zdC1uYXYgW2NsYXNzJD0nLXBvc3QnXS5uZXh0LXBvc3Q6OmFmdGVyLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J10ubmV4dC1wb3N0OjphZnRlcntyaWdodDoyLjVyZW19fS5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddLm5leHQtcG9zdD5oMywucG9zdC1uYXYtbGlzdCBbY2xhc3MkPSctcG9zdCddLm5leHQtcG9zdD5oM3twYWRkaW5nLXJpZ2h0OjNyZW19LnBvc3QtbmF2IFtjbGFzcyQ9Jy1wb3N0J10gc3BhbiwucG9zdC1uYXYtbGlzdCBbY2xhc3MkPSctcG9zdCddIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjAuNXJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1zaXplOjAuOHJlbX0ucG9zdC1uYXYgW2NsYXNzJD0nLXBvc3QnXSBoMywucG9zdC1uYXYtbGlzdCBbY2xhc3MkPSctcG9zdCddIGgze3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKXsucG9zdC1uYXYgW2NsYXNzJD0nLXBvc3QnXSBoMywucG9zdC1uYXYtbGlzdCBbY2xhc3MkPSctcG9zdCddIGgze2ZvbnQtc2l6ZTowLjlyZW19fS5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddOmhvdmVyLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J106aG92ZXIsLnBvc3QtbmF2IFtjbGFzcyQ9Jy1wb3N0J106aG92ZXI6OmFmdGVyLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J106aG92ZXI6OmFmdGVyLC5wb3N0LW5hdiBbY2xhc3MkPSctcG9zdCddOmhvdmVyIGgzLC5wb3N0LW5hdi1saXN0IFtjbGFzcyQ9Jy1wb3N0J106aG92ZXIgaDN7Y29sb3I6IzAwYWRlZn0ucG9zdC1uYXZ7YmFja2dyb3VuZDojZmVmZWZlfS5uZXdzbGV0dGVyLXdpZGdldHttYXJnaW4tYm90dG9tOjJyZW07cGFkZGluZzoxcmVtO2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6I2YwZjJmOH1AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSl7Lm5ld3NsZXR0ZXItd2lkZ2V0e3BhZGRpbmc6Mi41cmVtfX0ubmV3c2xldHRlci13aWRnZXQgcHttYXJnaW4tYm90dG9tOjFyZW07Zm9udC1zaXplOjAuOXJlbX1kaXYuYmxvZy1uYXZ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsNjIsMTI2LDAuOCl9ZGl2LmJsb2ctbmF2IHVsLm1lbnV7bWFyZ2luOjAgMXJlbTtwYWRkaW5nOjB9ZGl2LmJsb2ctbmF2IHVsLm1lbnU+bGl7b3BhY2l0eTowLjZ9ZGl2LmJsb2ctbmF2IHVsLm1lbnU+bGk+YXtjb2xvcjojZmVmZWZlfWRpdi5ibG9nLW5hdiB1bC5tZW51PmxpOmhvdmVye29wYWNpdHk6MX0ubGFuZGluZ1BhZ2VDb250YWluZXJ7ZmxleC13cmFwOm5vd3JhcH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pey5sYW5kaW5nUGFnZUNvbnRhaW5lciAucGFkZGluZyAucm93e21hcmdpbjowIDAuN3JlbX0ubGFuZGluZ1BhZ2VDb250YWluZXIgLmZvb3Rlci1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z3JpZC10ZW1wbGF0ZS1yb3dzOjFmcjttYXJnaW4tdG9wOjFyZW19fS5sYW5kaW5nUGFnZUNvbnRhaW5lciAuc2VjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSl7LmxhbmRpbmdQYWdlQ29udGFpbmVyIC5zZWN0aW9uOm5vdCg6bGFzdC1vZi10eXBlKXtwYWRkaW5nOjEuODc1cmVtIDAgMCAwfS5sYW5kaW5nUGFnZUNvbnRhaW5lciAuc2VjdGlvbi5uby1wYWRkaW5ne3BhZGRpbmc6MH0ubGFuZGluZ1BhZ2VDb250YWluZXIgLnNlY3Rpb24ubm8tcGFkZGluZy10b3B7cGFkZGluZy10b3A6MH19LmNhcmVlcnNfX3BhbmVse21pbi1oZWlnaHQ6MTRyZW07Ym9yZGVyLXRvcDpzb2xpZCA1cHggIzJkNmNhZjtib3JkZXItYm90dG9tOnNvbGlkIDFweCAjMmQ2Y2FmO3BhZGRpbmc6MXJlbX0uaW1hZ2Utb3Zlcnt0ZXh0LWFsaWduOmNlbnRlcn0uaW1hZ2Utb3Zlcl9faW1hZ2V7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLCAtNTAlKX1cblxuLm5vLWNzc2dyaWQ+LmltYWdlLXRpdGxlIC5idXR0b24td3JhcHBlcnt2aXNpYmlsaXR5OmhpZGRlbn0ubm8tY3NzZ3JpZCAuaW1hZ2UtaXRlbSBmaWd1cmUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7aGVpZ2h0OmF1dG87d2lkdGg6YXV0bzttaW4td2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKX0uc2VvTGlua3NCdXR0b24rLnNlb0xpbmtzQnV0dG9ue21hcmdpbi1sZWZ0OjFyZW19XG5cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9Y29udGFpbmVycy1sYW5kaW5nUGFnZS1MYW5kaW5nUGFnZUNvbnRhaW5lci5qcy5tYXAqLyIsImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcydcclxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXHJcbmltcG9ydCB7IHNlbGVjdExhYmVscyB9IGZyb20gJ2pzL3JlZHVjZXJzL3N0YXRpY1JlZHVjZXJzJ1xyXG5pbXBvcnQgeyBzZWxlY3RDb21tb25TdGF0ZSB9IGZyb20gJ2pzL3JlZHVjZXJzL2NvbW1vblJlZHVjZXInXHJcbmltcG9ydCB7IHNlbGVjdExhbmRpbmdQYWdlIH0gZnJvbSAnLi4vbGFuZGluZ1BhZ2UvTGFuZGluZ1BhZ2VSZWR1Y2VyJ1xyXG5pbXBvcnQgeyBsb2FkQXR0cmFjdGlvbiB9IGZyb20gJy4vTGFuZGluZ1BhZ2VBY3Rpb25zJ1xyXG5pbXBvcnQgJy4uLy4uLy4uL3Nhc3MvcGFnZXMvX2xhbmRpbmdQYWdlLnNjc3MnXHJcbmltcG9ydCBIZWFkZXIgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyJ1xyXG5pbXBvcnQgeyBzZWxlY3RIZWFkZXIgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyUmVkdWNlcidcclxuXHJcbmltcG9ydCBIZWFkZXJDb250ZW50RGVmYXVsdCBmcm9tICcuLi8uLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXJDb250ZW50RGVmYXVsdCdcclxuaW1wb3J0IHsgcGxheVZpZGVvIH0gZnJvbSAnLi4vdG91ckRldGFpbC90b3VyRGV0YWlsQWN0aW9ucydcclxuaW1wb3J0IHsgZ2V0Qm9va2luZ3NDb3VudCB9IGZyb20gJ2pzL2NvbnRhaW5lcnMvdG91cnNMaXN0L3RvdXJzTGlzdEFjdGlvbnMnXHJcblxyXG5pbXBvcnQgbG9hZGFibGUgZnJvbSAnQGxvYWRhYmxlL2NvbXBvbmVudCdcclxuaW1wb3J0IFVzcHMgZnJvbSAnLi4vLi4vY29tcG9uZW50cy91c3BzJ1xyXG5pbXBvcnQgSW1hZ2VPdmVyIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbGFuZGluZy1wYWdlL0ltYWdlT3ZlcidcclxuaW1wb3J0IFNlb0xpbmtzIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VvLWxpbmtzL1Nlb0xpbmtzJ1xyXG5pbXBvcnQgVXNwU2luZ2xlIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdXNwU2luZ2xlJ1xyXG5pbXBvcnQgeyBsYXp5TG9hZFVwZGF0ZSB9IGZyb20gJy4uLy4uL2hvb2tzL0RvbUhvb2tzJ1xyXG5cclxuY29uc3QgUGl4bGVlQ29tcG9uZW50ID0gbG9hZGFibGUoKCkgPT5cclxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvcGl4bGVlL1BpeGxlZUNvbXBvbmVudCcpXHJcbilcclxuY29uc3QgR3JpZEltYWdlID0gbG9hZGFibGUoKCkgPT5cclxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvZ3JpZC1pbWFnZS1saW5rL0dyaWRJbWFnZScpXHJcbilcclxuY29uc3QgVG91cnNXaWRnZXQgPSBsb2FkYWJsZSgoKSA9PlxyXG4gIGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy90b3Vycy13aWRnZXQvdG91cnNXaWRnZXQnKVxyXG4pXHJcbmNvbnN0IFRvdXJzTGlzdENvbnRhaW5lciA9IGxvYWRhYmxlKCgpID0+XHJcbiAgaW1wb3J0KCcuLi90b3Vyc0xpc3QvdG91cnNMaXN0Q29udGFpbmVyJylcclxuKVxyXG5jb25zdCBUb3Vyc0xpc3RTb3J0YWJsZUNvbnRhaW5lciA9IGxvYWRhYmxlKCgpID0+XHJcbiAgaW1wb3J0KCcuLi90b3Vyc0xpc3QvdG91cnNMaXN0U29ydGFibGVDb250YWluZXInKVxyXG4pXHJcbmNvbnN0IEdyaWRWaWV3ID0gbG9hZGFibGUoKCkgPT4gaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL2dyaWQtZWRpdG9yL0dyaWRWaWV3JykpXHJcbmNvbnN0IFJldmlld3NMYW5kaW5nUGFnZSA9IGxvYWRhYmxlKCgpID0+XHJcbiAgaW1wb3J0KCcuLi8uLi9jb21wb25lbnRzL2xhbmRpbmctcGFnZS9yZXZpZXdzTGFuZGluZ1BhZ2UnKVxyXG4pXHJcbmNvbnN0IEd1aWRlc0xpc3QgPSBsb2FkYWJsZSgoKSA9PlxyXG4gIGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9ob21lLXBhZ2UvR3VpZGVzTGlzdCcpXHJcbilcclxuY29uc3QgRmV0Y2hCbG9nUG9zdHNHcmlkID0gbG9hZGFibGUoKCkgPT5cclxuICBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvYmxvZy9ibG9nLXBvc3QtZ3JpZC9GZXRjaEJsb2dQb3N0c0dyaWQnKVxyXG4pXHJcbmNvbnN0IEdvb2RUb0tub3cgPSBsb2FkYWJsZSgoKSA9PlxyXG4gIGltcG9ydCgnLi4vLi4vY29tcG9uZW50cy9nb29kLXRvLWtub3cvR29vZFRvS25vdycpXHJcbilcclxuXHJcbmNvbnN0IEdyaWQgPSBsb2FkYWJsZSgoKSA9PiBpbXBvcnQoJy4uLy4uL2NvbXBvbmVudHMvZ3JpZC1pbWFnZS1saW5rL0dyaWQnKSlcclxuY29uc3QgSGlnaGxpZ2h0cyA9IGxvYWRhYmxlKCgpID0+IGltcG9ydCgnLi4vaGlnaGxpZ2h0cy9IaWdobGlnaHRzJykpXHJcbmNvbnN0IFJldmlld3NDb250YWluZXIgPSBsb2FkYWJsZSgoKSA9PiBpbXBvcnQoJy4uL3Jldmlld3MvcmV2aWV3c0NvbnRhaW5lcicpKVxyXG5jb25zdCBGaWx0ZXJMaXN0ID0gbG9hZGFibGUoKCkgPT4gaW1wb3J0KCcuL0ZpbHRlckxpc3RDb250YWluZXInKSlcclxuLyoqXHJcbiAqIEFmdGVyIHdlIHJlY2VpdmUgYSBhcnJheSBvZiBzZWN0aW9ucyBmcm9tIHRoZSBiYWNrZW5kLCB0aGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIHRoZSBjb3JyZWN0IGNvbXBvbmVudFxyXG4gKiB0byBiZSByZW5kZXJlZCBpbiB0aGUgb3JkZXIgd2UgcmVjZWl2ZWRcclxuICovXHJcbmV4cG9ydCBjb25zdCBBZGRTZWN0aW9uID0gKHtcclxuICByZWxhdGVkQXR0cmFjdGlvbnMsXHJcbiAgcmVsYXRlZExpc3RQYWdlLFxyXG4gIGxhYmVscyxcclxuICBpc0RlZmF1bHRDdWx0dXJlLFxyXG4gIGdvb2RUb0tub3csXHJcbiAgaXNNb2JpbGUsXHJcbiAgaGlnaGxpZ2h0cyxcclxuICBzZWxlY3RlZEN1cnJlbmN5LFxyXG4gIHNlbGVjdGVkQ3VycmVuY3lTeW1ib2wsXHJcbiAgaXNUYWJsZXQsXHJcbiAgc2VjdGlvbixcclxuICBwb3NpdGlvbixcclxuICBvcmllbnRhdGlvbixcclxuICBvblBsYXlWaWRlbyxcclxuICBmZXRjaGluZ1Byb2R1Y3RzQm9va2luZ3MsXHJcbiAgY3VycmVudEN1bHR1cmVcclxufSkgPT4ge1xyXG4gIGNvbnN0IGlzQ3JpdGljYWwgPSBwb3NpdGlvbiA8PSAxIHx8ICghaXNNb2JpbGUgJiYgcG9zaXRpb24gPD0gMilcclxuICBzd2l0Y2ggKHNlY3Rpb24uYWxpYXMpIHtcclxuICAgIGNhc2UgJ2xhbmRQYWdlRWxlbWVudFVuaXF1ZVNlbGxpbmdQb2ludCc6XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFVzcHNcclxuICAgICAgICAgIHVzcExpc3Q9e3NlY3Rpb24udXNwc31cclxuICAgICAgICAgIGtleT17c2VjdGlvbi5hbGlhc31cclxuICAgICAgICAgIGlzQ3JpdGljYWw9e2lzQ3JpdGljYWx9XHJcbiAgICAgICAgLz5cclxuICAgICAgKVxyXG4gICAgY2FzZSAncGFnZUVsZW1lbnRCZXN0c2VsbGVycyc6XHJcbiAgICAgIGNvbnN0IHRvcFRvdXJzID0gc2VjdGlvbi50b3BUb3Vyc1xyXG4gICAgICBjb25zdCBpc0xvYWRpbmcgPSAhdG9wVG91cnMgPyB0cnVlIDogdG9wVG91cnMubGVuZ3RoID09PSAwXHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWN0aW9uIGFsdGVybmF0aXZlLWJnIHdpZHRoLTEwMFwiPlxyXG4gICAgICAgICAgeyFmZXRjaGluZ1Byb2R1Y3RzQm9va2luZ3MgJiYgKFxyXG4gICAgICAgICAgICA8VG91cnNXaWRnZXRcclxuICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24uYWxpYXMgKyBzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgICAgIHRpdGxlPXtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgICAgIHRvdXJzPXt0b3BUb3Vyc31cclxuICAgICAgICAgICAgICBpc01vYmlsZT17aXNNb2JpbGV9XHJcbiAgICAgICAgICAgICAgb3JpZW50YXRpb249e29yaWVudGF0aW9ufVxyXG4gICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxyXG4gICAgICAgICAgICAgIGxhYmVscz17bGFiZWxzfVxyXG4gICAgICAgICAgICAgIGlzVGFibGV0PXtpc1RhYmxldH1cclxuICAgICAgICAgICAgICBzZWxlY3RlZEN1cnJlbmN5PXtzZWxlY3RlZEN1cnJlbmN5fVxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ3VycmVuY3lTeW1ib2w9e3NlbGVjdGVkQ3VycmVuY3lTeW1ib2x9XHJcbiAgICAgICAgICAgICAgaGlkZURpdmlzaW9uPXtzZWN0aW9uLmhpZGVEaXZpc2lvbn1cclxuICAgICAgICAgICAgICBvblBsYXlWaWRlbz17b25QbGF5VmlkZW99XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApXHJcbiAgICBjYXNlICdsYW5kUGFnZUVsZW1lbnRDYXRlZ29yeVBpY2tlcic6XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEZpbHRlckxpc3RcclxuICAgICAgICAgIGtleT17c2VjdGlvbi5hbGlhc31cclxuICAgICAgICAgIHRpdGxlPXtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgZGlzcGxheUNhdGVnb3JpZXM9e3NlY3Rpb24uY2F0SWRzfVxyXG4gICAgICAgICAgYmFubmVycz17c2VjdGlvbi5iYW5uZXJzfVxyXG4gICAgICAgICAgZmV0Y2hpbmdQcm9kdWN0c0Jvb2tpbmdzPXtmZXRjaGluZ1Byb2R1Y3RzQm9va2luZ3N9XHJcbiAgICAgICAgLz5cclxuICAgICAgKVxyXG4gICAgY2FzZSAnbGFuZFBhZ2VFbGVtZW50R29vZFRvS25vdyc6XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEdvb2RUb0tub3dcclxuICAgICAgICAgIHRpdGxlPXtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAga2V5PXtzZWN0aW9uLmFsaWFzfVxyXG4gICAgICAgICAgey4uLmdvb2RUb0tub3d9XHJcbiAgICAgICAgICBtYXBJZD1cImF0dHJhY3Rpb25cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIClcclxuICAgIGNhc2UgJ2xhbmRQYWdlRWxlbWVudEhpZ2hsaWdodHMnOlxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIGhpZ2hsaWdodHMuaGlnaGxpZ2h0cy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgIDxIaWdobGlnaHRzIGxhYmVscz17bGFiZWxzfSBrZXk9e3NlY3Rpb24uYWxpYXN9IHsuLi5oaWdobGlnaHRzfSAvPlxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgY2FzZSAnbGFuZFBhZ2VFbGVtZW50UmVsYXRlZEF0dHJhY3Rpb25zJzpcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8UmVhY3QuRnJhZ21lbnQga2V5PXtzZWN0aW9uLmFsaWFzfT5cclxuICAgICAgICAgIHtyZWxhdGVkQXR0cmFjdGlvbnMgJiYgcmVsYXRlZEF0dHJhY3Rpb25zLmxlbmd0aCA+IDAgJiYgKFxyXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgPEdyaWRcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm5vLXBhZGRpbmdcIlxyXG4gICAgICAgICAgICAgICAgdGl0bGU9e3NlY3Rpb24udGl0bGV9XHJcbiAgICAgICAgICAgICAgICBncmlkSXRlbXM9e3JlbGF0ZWRBdHRyYWN0aW9uc31cclxuICAgICAgICAgICAgICAgIGlzTW9iaWxlPXtpc01vYmlsZX1cclxuICAgICAgICAgICAgICAgIGlzVGFibGV0PXtpc1RhYmxldH1cclxuICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cclxuICAgICAgICAgICAgICAgIGlzQ3JpdGljYWw9e2lzQ3JpdGljYWx9XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24gbm8tcGFkZGluZy10b3BcIiBrZXk9e3NlY3Rpb24uYWxpYXN9PlxyXG4gICAgICAgICAgICB7cmVsYXRlZExpc3RQYWdlICYmIChcclxuICAgICAgICAgICAgICA8R3JpZFxyXG4gICAgICAgICAgICAgICAgaXNNb2JpbGU9e2lzTW9iaWxlfVxyXG4gICAgICAgICAgICAgICAgaXNUYWJsZXQ9e2lzVGFibGV0fVxyXG4gICAgICAgICAgICAgICAgb3JpZW50YXRpb249e29yaWVudGF0aW9ufVxyXG4gICAgICAgICAgICAgICAgaXNDcml0aWNhbD17aXNDcml0aWNhbH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvb3Rlci1ncmlkIGl0ZW0tZ3JpZFwiXHJcbiAgICAgICAgICAgICAgICBpc0NvbnRhaW5lcj17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICBncmlkSXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlbGF0ZWRMaXN0UGFnZSxcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25UZXh0OiAhaXNNb2JpbGUgJiYgYCR7bGFiZWxzLnZpZXdNb3JlfWBcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXX1cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XHJcbiAgICAgIClcclxuICAgIGNhc2UgJ2xhbmRwYWdlRWxlbWVudFJldmlld3MnOlxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb25cIiBrZXk9e3NlY3Rpb24uYWxpYXN9PlxyXG4gICAgICAgICAgPFJldmlld3NDb250YWluZXJcclxuICAgICAgICAgICAgY2VudGVyZWQ9e3RydWV9XHJcbiAgICAgICAgICAgIHRpdGxlPXtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgICBpZHM9e3NlY3Rpb24ubGlzdElkc31cclxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZC1jb250YWluZXIgZ3JpZC15IGFsaWduLW1pZGRsZVwiXHJcbiAgICAgICAgICAgIHJlbmRlckFzTGlzdFxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgIClcclxuICAgIGNhc2UgJ2xhbmRQYWdlRWxlbWVudEJsb2dQb3N0cyc6IHtcclxuICAgICAgcmV0dXJuICFpc01vYmlsZSA/IChcclxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uXCIga2V5PXtzZWN0aW9uLmFsaWFzfT5cclxuICAgICAgICAgIDxGZXRjaEJsb2dQb3N0c0dyaWRcclxuICAgICAgICAgICAgY3VsdHVyZT17Y3VycmVudEN1bHR1cmV9XHJcbiAgICAgICAgICAgIHRpdGxlPXtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgICBpZHM9e3NlY3Rpb24ubGlzdElkc31cclxuICAgICAgICAgICAgbGFiZWxzPXtsYWJlbHN9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgKSA6IG51bGxcclxuICAgIH1cclxuICAgIGNhc2UgJ2xpbmtzV2lkZ2V0RWxlbWVudCc6XHJcbiAgICAgIGNvbnN0IGxpbmtzID0gc2VjdGlvbi5jb250ZW50XHJcblxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24gcGFkZGluZ1wiIGtleT17c2VjdGlvbi5hbGlhc30+XHJcbiAgICAgICAgICA8R3JpZEltYWdlXHJcbiAgICAgICAgICAgIHRpdGxlPXtzZWN0aW9uLnRpdGxlfVxyXG4gICAgICAgICAgICBkZXNjcmlwdGlvbj17c2VjdGlvbi5kZXNjcmlwdGlvbn1cclxuICAgICAgICAgICAgZ3JpZEl0ZW1zPXtsaW5rcyAmJiBsaW5rcy5saW5rczF9XHJcbiAgICAgICAgICAgIGdyaWRJdGVtczI9e2xpbmtzICYmIGxpbmtzLmxpbmtzMn1cclxuICAgICAgICAgICAgaXNNb2JpbGU9e2lzTW9iaWxlfVxyXG4gICAgICAgICAgICBpc1RhYmxldD17aXNUYWJsZXR9XHJcbiAgICAgICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cclxuICAgICAgICAgICAgaXNDcml0aWNhbD17aXNDcml0aWNhbH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICApXHJcbiAgICBjYXNlICdzZW9MaW5rc1dpZGdldEVsZW1lbnQnOlxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgICFpc01vYmlsZSAmJiAoXHJcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uXCIga2V5PXtzZWN0aW9uLmFsaWFzfT5cclxuICAgICAgICAgICAgPFNlb0xpbmtzIHRpdGxlPXtzZWN0aW9uLnRpdGxlfSBncmlkSXRlbXM9e3NlY3Rpb24ubGlua3N9IC8+XHJcbiAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcblxyXG4gICAgY2FzZSAnbGFuZFBhZ2VVbmlxdWVTZWxsaW5nUG9pbnRTaW5nbGUnOlxyXG4gICAgICByZXR1cm4gc2VjdGlvbi51c3AgPyAoXHJcbiAgICAgICAgPFVzcFNpbmdsZVxyXG4gICAgICAgICAga2V5PXtzZWN0aW9uLmFsaWFzfVxyXG4gICAgICAgICAgdXNwPXtzZWN0aW9uLnVzcH1cclxuICAgICAgICAgIGlzQ3JpdGljYWw9e2lzQ3JpdGljYWx9XHJcbiAgICAgICAgLz5cclxuICAgICAgKSA6IG51bGxcclxuICAgIGNhc2UgJ25lc3RlZFRvdXJMaXN0JzpcclxuICAgICAgcmV0dXJuIGlzTW9iaWxlID8gKFxyXG4gICAgICAgIDxUb3Vyc0xpc3RTb3J0YWJsZUNvbnRhaW5lclxyXG4gICAgICAgICAga2V5PXtzZWN0aW9uLmFsaWFzfVxyXG4gICAgICAgICAgZmV0Y2hpbmdQcm9kdWN0c0Jvb2tpbmdzPXtmZXRjaGluZ1Byb2R1Y3RzQm9va2luZ3N9XHJcbiAgICAgICAgLz5cclxuICAgICAgKSA6IChcclxuICAgICAgICA8VG91cnNMaXN0Q29udGFpbmVyXHJcbiAgICAgICAgICBrZXk9e3NlY3Rpb24uYWxpYXN9XHJcbiAgICAgICAgICBuZXN0ZWRUb3VyTGlzdD17dHJ1ZX1cclxuICAgICAgICAgIGZldGNoaW5nUHJvZHVjdHNCb29raW5ncz17ZmV0Y2hpbmdQcm9kdWN0c0Jvb2tpbmdzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgIClcclxuICAgIC8vIHRoaXMgaXMgdG8gYmUgZGVwcmVjYXRlZFxyXG4gICAgY2FzZSAnbmVzdGVkR3JpZEVsZW1lbnQnOlxyXG4gICAgICByZXR1cm4gPEdyaWRWaWV3IGtleT17c2VjdGlvbi5pZH0gbWFya3VwPXtzZWN0aW9uLm1hcmt1cH0gLz5cclxuICAgIGNhc2UgJ25lc3RlZEltYWdlT3Zlcic6XHJcbiAgICAgIHJldHVybiA8SW1hZ2VPdmVyIGtleT17c2VjdGlvbi5hbGlhc30gey4uLnNlY3Rpb259IGlzQ3JpdGljYWwgLz5cclxuICAgIGNhc2UgJ25lc3RlZFJldmlld3NRdW90ZSc6XHJcbiAgICAgIHJldHVybiA8UmV2aWV3c0xhbmRpbmdQYWdlIGtleT17c2VjdGlvbi5hbGlhc30gey4uLnNlY3Rpb259IC8+XHJcbiAgICBjYXNlICduZXN0ZWRHdWlkZXMnOlxyXG4gICAgICByZXR1cm4gPEd1aWRlc0xpc3QgaXNNb2JpbGU9e2lzTW9iaWxlfSBrZXk9e3NlY3Rpb24uYWxpYXN9IHsuLi5zZWN0aW9ufSAvPlxyXG4gICAgY2FzZSAncGl4bGVlV2lkZ2V0RW1iZWRkZWQnOiB7XHJcbiAgICAgIGlmIChpc0RlZmF1bHRDdWx0dXJlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxQaXhsZWVDb21wb25lbnQga2V5PXtzZWN0aW9uLmFsaWFzfSBsYWJlbHM9e2xhYmVsc30gey4uLnNlY3Rpb259IC8+XHJcbiAgICAgICAgKVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbnVsbFxyXG4gICAgfVxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG51bGxcclxuICB9XHJcbn1cclxuXHJcbmNvbnN0IE5lc3RlZEdyaWRFbGVtZW50ID0gcHJvcHMgPT4ge1xyXG4gIHJldHVybiA8ZGl2IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogcHJvcHMubWFya3VwIH19IC8+XHJcbn1cclxuY29uc3QgTGFuZGluZ1BhZ2VDb250YWluZXIgPSBwcm9wcyA9PiB7XHJcbiAgY29uc3Qge1xyXG4gICAgcGFnZUlkLFxyXG4gICAgY3VycmVudEN1bHR1cmUsXHJcbiAgICBvblBsYXlWaWRlbyxcclxuICAgIHJlbGF0ZWRBdHRyYWN0aW9ucyxcclxuICAgIHJlbGF0ZWRMaXN0UGFnZSxcclxuICAgIGxhYmVscyxcclxuICAgIGdvb2RUb0tub3csXHJcbiAgICBpc01vYmlsZSxcclxuICAgIGhpZ2hsaWdodHMsXHJcbiAgICBpc0RlZmF1bHRDdWx0dXJlLFxyXG4gICAgc2VsZWN0ZWRDdXJyZW5jeSxcclxuICAgIHNlbGVjdGVkQ3VycmVuY3lTeW1ib2wsXHJcbiAgICBpc1RhYmxldCxcclxuICAgIHBhZ2UsXHJcbiAgICBvcmllbnRhdGlvbixcclxuICAgIGRpc3BhdGNoR2V0Qm9va2luZ3NDb3VudCxcclxuICAgIGZldGNoaW5nUHJvZHVjdHNCb29raW5nc1xyXG4gIH0gPSBwcm9wc1xyXG5cclxuICBjb25zdCBuZXdwcm9wcyA9IHtcclxuICAgIHJlbGF0ZWRBdHRyYWN0aW9ucyxcclxuICAgIHJlbGF0ZWRMaXN0UGFnZSxcclxuICAgIGxhYmVscyxcclxuICAgIGdvb2RUb0tub3csXHJcbiAgICBpc01vYmlsZSxcclxuICAgIGhpZ2hsaWdodHMsXHJcbiAgICBzZWxlY3RlZEN1cnJlbmN5LFxyXG4gICAgc2VsZWN0ZWRDdXJyZW5jeVN5bWJvbCxcclxuICAgIGlzVGFibGV0LFxyXG4gICAgaXNEZWZhdWx0Q3VsdHVyZSxcclxuICAgIG9yaWVudGF0aW9uLFxyXG4gICAgY3VycmVudEN1bHR1cmVcclxuICB9XHJcbiAgY29uc3QgaXNJRTExID0gKCkgPT4gISF3aW5kb3cuTVNJbnB1dE1ldGhvZENvbnRleHQgJiYgISFkb2N1bWVudC5kb2N1bWVudE1vZGVcclxuXHJcbiAgbGF6eUxvYWRVcGRhdGUoKVxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBwcm9wcy5sb2FkQXR0cmFjdGlvbihwYWdlLCBwYWdlSWQsIGN1cnJlbnRDdWx0dXJlKVxyXG4gICAgaWYgKCFpc0lFMTEoKSkgZGlzcGF0Y2hHZXRCb29raW5nc0NvdW50KClcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gIH0sIFtdKVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPGRpdj5cclxuICAgICAge3Byb3BzLmhlYWRlci50aXRsZSAmJiAoXHJcbiAgICAgICAgPEhlYWRlclxyXG4gICAgICAgICAgb25WaWRlb0NsaWNrPXtvblBsYXlWaWRlb31cclxuICAgICAgICAgIHsuLi5wcm9wcy5oZWFkZXJ9XHJcbiAgICAgICAgICBpc01vYmlsZT17cHJvcHMuaXNNb2JpbGV9XHJcbiAgICAgICAgICBjb250ZW50PXtwcm9wcyA9PiAoXHJcbiAgICAgICAgICAgIDxIZWFkZXJDb250ZW50RGVmYXVsdCBrZXk9XCJsYW5kaW5nLWhlYWRlci1jb250ZW50XCIgey4uLnByb3BzfSAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAvPlxyXG4gICAgICApfVxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhbmRpbmdQYWdlQ29udGFpbmVyXCI+XHJcbiAgICAgICAge3BhZ2UubWFwKChzZWN0aW9uLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17YCR7c2VjdGlvbi5hbGlhc30tJHtzZWN0aW9uLmlkfWB9PlxyXG4gICAgICAgICAgICAgIDxBZGRTZWN0aW9uXHJcbiAgICAgICAgICAgICAgICBzZWN0aW9uPXtzZWN0aW9ufVxyXG4gICAgICAgICAgICAgICAgb25QbGF5VmlkZW89e29uUGxheVZpZGVvfVxyXG4gICAgICAgICAgICAgICAgey4uLm5ld3Byb3BzfVxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb249e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hHZXRCb29raW5nc0NvdW50PXtkaXNwYXRjaEdldEJvb2tpbmdzQ291bnR9XHJcbiAgICAgICAgICAgICAgICBmZXRjaGluZ1Byb2R1Y3RzQm9va2luZ3M9e2ZldGNoaW5nUHJvZHVjdHNCb29raW5nc31cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIH0pfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG5cclxuQWRkU2VjdGlvbi5wcm9wVHlwZXMgPSB7XHJcbiAgcmVsYXRlZEF0dHJhY3Rpb25zOiBQcm9wVHlwZXMuYW55LFxyXG4gIHJlbGF0ZWRMaXN0UGFnZTogUHJvcFR5cGVzLmFueSxcclxuICBoaWdobGlnaHRzOiBQcm9wVHlwZXMuYW55LFxyXG4gIGxhYmVsczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxyXG4gIGdvb2RUb0tub3c6IFByb3BUeXBlcy5hbnksXHJcbiAgaXNNb2JpbGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXHJcbiAgY3VycmVudEN1bHR1cmU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcclxuICBpc0RlZmF1bHRDdWx0dXJlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxyXG4gIHNlbGVjdGVkQ3VycmVuY3k6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcclxuICBzZWxlY3RlZEN1cnJlbmN5U3ltYm9sOiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWQsXHJcbiAgaXNUYWJsZXQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXHJcbiAga2V5OiBQcm9wVHlwZXMuYW55LFxyXG4gIGRpc3BhdGNoR2V0Qm9va2luZ3NDb3VudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcclxuICBmZXRjaGluZ1Byb2R1Y3RzQm9va2luZ3M6IFByb3BUeXBlcy5hbnksXHJcbiAgc2VjdGlvbjogUHJvcFR5cGVzLnNoYXBlKHtcclxuICAgIGFsaWFzOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gICAgdXNwczogUHJvcFR5cGVzLmFueSxcclxuICAgIGxpc3RJZHM6IFByb3BUeXBlcy5hcnJheSxcclxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gICAgaGlkZURpdmlzaW9uOiBQcm9wVHlwZXMuYW55LFxyXG4gICAgcG9zdHM6IFByb3BUeXBlcy5hbnksXHJcbiAgICBiYW5uZXJzOiBQcm9wVHlwZXMuYW55LFxyXG4gICAgY2F0SWRzOiBQcm9wVHlwZXMuYW55LFxyXG4gICAgbWFya3VwOiBQcm9wVHlwZXMuYW55LFxyXG4gICAgaWQ6IFByb3BUeXBlcy5hbnksXHJcbiAgICB1c3A6IFByb3BUeXBlcy5hbnksXHJcbiAgICBsaW5rczogUHJvcFR5cGVzLmFycmF5T2YoXHJcbiAgICAgIFByb3BUeXBlcy5zaGFwZSh7XHJcbiAgICAgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgICAgICAgdXJsOiBQcm9wVHlwZXMuc3RyaW5nXHJcbiAgICAgIH0pXHJcbiAgICApLFxyXG4gICAgZGVzY3JpcHRpb246IFByb3BUeXBlcy5hbnksXHJcbiAgICBjb250ZW50OiBQcm9wVHlwZXMuYW55LFxyXG4gICAgcG9zdDogUHJvcFR5cGVzLmFueSxcclxuICAgIHRvcFRvdXJzOiBQcm9wVHlwZXMuYXJyYXlcclxuICB9KSxcclxuICBwb3NpdGlvbjogUHJvcFR5cGVzLmFueSxcclxuICBvcmllbnRhdGlvbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxyXG4gIG9uUGxheVZpZGVvOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXHJcbn1cclxuTGFuZGluZ1BhZ2VDb250YWluZXIucHJvcFR5cGVzID0ge1xyXG4gIGlzVGFibGV0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxyXG4gIG9yaWVudGF0aW9uOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXHJcbiAgcHJvZHVjdHNCb29raW5nczogUHJvcFR5cGVzLmFueSxcclxuICBkaXNwYXRjaEdldEJvb2tpbmdzQ291bnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXHJcbiAgZmV0Y2hpbmdQcm9kdWN0c0Jvb2tpbmdzOiBQcm9wVHlwZXMuYm9vbCxcclxuICBvblBsYXlWaWRlbzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcclxuICBwYWdlOiBQcm9wVHlwZXMuYXJyYXksXHJcbiAgcGFnZUlkOiBQcm9wVHlwZXMubnVtYmVyLFxyXG4gIGN1cnJlbnRDdWx0dXJlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXHJcbiAgdXNwczogUHJvcFR5cGVzLmFycmF5LFxyXG4gIGlzRGVmYXVsdEN1bHR1cmU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXHJcbiAgcmVsYXRlZFBvc3RzOiBQcm9wVHlwZXMuYXJyYXksXHJcbiAgcmVsYXRlZEF0dHJhY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXksXHJcbiAgcmVsYXRlZExpc3RQYWdlOiBQcm9wVHlwZXMub2JqZWN0LFxyXG4gIGdvb2RUb0tub3c6IFByb3BUeXBlcy5vYmplY3QsXHJcbiAgaXNNb2JpbGU6IFByb3BUeXBlcy5ib29sLFxyXG4gIHRvcFRvdXJzOiBQcm9wVHlwZXMuYXJyYXksXHJcbiAgaGlnaGxpZ2h0czogUHJvcFR5cGVzLm9iamVjdCxcclxuICBzZWxlY3RlZEN1cnJlbmN5OiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIHNlbGVjdGVkQ3VycmVuY3lTeW1ib2w6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgbGFiZWxzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXHJcbiAgbG9hZEF0dHJhY3Rpb246IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXHJcbiAgaGVhZGVyOiBQcm9wVHlwZXMuYW55XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xyXG4gIGNvbnN0IGxhYmVscyA9IHNlbGVjdExhYmVscyhzdGF0ZSlcclxuICBjb25zdCBjb21tb25TdGF0ZSA9IHNlbGVjdENvbW1vblN0YXRlKHN0YXRlKVxyXG4gIGNvbnN0IGxhbmRpbmdQYWdlID0gc2VsZWN0TGFuZGluZ1BhZ2Uoc3RhdGUpXHJcbiAgY29uc3QgaGVhZGVyID0gc2VsZWN0SGVhZGVyKHN0YXRlKVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgbGFiZWxzLFxyXG4gICAgLi4ubGFuZGluZ1BhZ2UsXHJcbiAgICBoaWdobGlnaHRzOiBzdGF0ZS5oaWdobGlnaHRzLFxyXG4gICAgLi4uY29tbW9uU3RhdGUsXHJcbiAgICBoZWFkZXJcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xyXG4gIHJldHVybiB7XHJcbiAgICBsb2FkQXR0cmFjdGlvbjogKGF0dHJhY3Rpb24sIHBhZ2VJZCwgY3VsdHVyZSkgPT4ge1xyXG4gICAgICBkaXNwYXRjaChsb2FkQXR0cmFjdGlvbihhdHRyYWN0aW9uLCBwYWdlSWQsIGN1bHR1cmUpKVxyXG4gICAgfSxcclxuICAgIG9uUGxheVZpZGVvOiB2aWRlb0lkID0+IHtcclxuICAgICAgZGlzcGF0Y2gocGxheVZpZGVvKHZpZGVvSWQpKVxyXG4gICAgfSxcclxuICAgIGRpc3BhdGNoR2V0Qm9va2luZ3NDb3VudDogKCkgPT4ge1xyXG4gICAgICBkaXNwYXRjaChnZXRCb29raW5nc0NvdW50KCkpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KFxyXG4gIG1hcFN0YXRlVG9Qcm9wcyxcclxuICBtYXBEaXNwYXRjaFRvUHJvcHNcclxuKShSZWFjdC5tZW1vKExhbmRpbmdQYWdlQ29udGFpbmVyKSlcclxuIl19 */