.alignnone{margin:5px 20px 20px 0}.aligncenter,div.aligncenter{display:block;margin:5px auto 5px auto}.alignright{float:right;margin:5px 0 20px 20px}.alignleft{float:left;margin:5px 20px 20px 0}a img.alignright{float:right;margin:5px 0 20px 20px}a img.alignnone{margin:5px 20px 20px 0}a img.alignleft{float:left;margin:5px 20px 20px 0}a img.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{background:#fff;border:1px solid #f0f0f0;max-width:96%;padding:5px 3px 10px;text-align:center}.wp-caption.alignnone{margin:5px 20px 20px 0}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.wp-caption p.wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}.screen-reader-text:focus{background-color:#eee;clip:auto !important;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.button{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.button.orange{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.button.orange:hover{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.button.white.hollow{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}.button.white.hollow:hover{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}@font-face{font-family:'Open Sans';font-weight:normal;font-style:normal;src:url("../fonts/opensans/opensans-regular-webfont.eot");src:url("../fonts/opensans/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-regular-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-regular-webfont.woff") format("woff"),url("../fonts/opensans/opensans-regular-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-regular-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:normal;font-style:italic;src:url("../fonts/opensans/opensans-italic-webfont.eot");src:url("../fonts/opensans/opensans-italic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-italic-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-italic-webfont.woff") format("woff"),url("../fonts/opensans/opensans-italic-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-italic-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:normal;src:url("../fonts/opensans/opensans-bold-webfont.eot");src:url("../fonts/opensans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bold-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bold-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bold-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bold-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:italic;src:url("../fonts/opensans/opensans-bolditalic-webfont.eot");src:url("../fonts/opensans/opensans-bolditalic-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bolditalic-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bolditalic-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bolditalic-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bolditalic-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'DINNextLTPro-Condensed';font-weight:normal;font-style:normal;src:url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.eot");src:url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.eot?#iefix") format("embedded-opentype"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.woff") format("woff"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.ttf") format("truetype"),url("../fonts/din-next-lt-pro/DINNextLTPro-Condensed.svg#open_sansregular") format("svg")}@font-face{font-family:'Open Sans';font-weight:700;font-style:normal;src:url("../fonts/opensans/opensans-bold-webfont.eot");src:url("../fonts/opensans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/opensans/opensans-bold-webfont.woff2") format("woff2"),url("../fonts/opensans/opensans-bold-webfont.woff") format("woff"),url("../fonts/opensans/opensans-bold-webfont.ttf") format("truetype"),url("../fonts/opensans/opensans-bold-webfont.svg#open_sansregular") format("svg")}@font-face{font-family:'Heartwell';font-weight:normal;font-style:normal;src:url("../fonts/heartwell/heartwell-webfont.eot");src:url("../fonts/heartwell/heartwell-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/heartwell/heartwell-webfont.woff2") format("woff2"),url("../fonts/heartwell/heartwell-webfont.woff") format("woff"),url("../fonts/heartwell/heartwell-webfont.ttf") format("truetype"),url("../fonts/heartwell/heartwell-webfont.svg#open_sansregular") format("svg")}body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:unset}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase}.post-template-default h2,.post-template-default .h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:16px;text-transform:none}body{background-color:#f6f7fb}body{opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.no-js body{opacity:0}.menu li a{color:#004084}.menu li a:hover{color:#f60;text-decoration:underline}.logo{display:inline-block;width:100%;text-align:center}.see-all-link{text-transform:uppercase;font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.875em;line-height:1;letter-spacing:0.5px;color:#004084;text-decoration:underline}iframe{max-width:100%}.click-to-tweet{color:#8a8a8a}.click-to-tweet .fa-twitter{color:#55acee}.aspect-ratio-16x9{position:relative;overflow:hidden}.aspect-ratio-16x9:before{display:block;content:"";width:100%;padding-top:56.25%}.aspect-ratio-16x9>.content{position:absolute;top:0;left:0;right:0;bottom:0}.grid-container.single,.grid-container.single-narrow,.grid-container.sidebar{padding-top:1.875em;padding-bottom:1.875em}.grid-container.sidebar .sticky.is-stuck{z-index:4}.grid-container.single-narrow .module.posts-carousel .slides .slide .title-wrap .title,.grid-container.sidebar .module.posts-carousel .slides .slide .title-wrap .title{font-size:1rem}.grid-container.full{overflow-x:hidden}.grid-container .module{margin-bottom:1.875em}.grid-container .module:last-of-type{margin-bottom:0}body.single .grid-container{padding-top:0}body.single .grid-container #sidebar-anchor{background-color:white}body.single .grid-container .title{padding:16px;line-height:1.1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.single .grid-container .title{padding:48px 96px}}body.single .grid-container .title .author-and-date{font-size:0.7em;color:#f60}body.single .grid-container .post-thumb img{width:100%}body.single .grid-container .the-content{padding:16px}body.single .grid-container .the-content .download-video-link{color:#f60}body.single .grid-container .the-content .title-share{text-align:center;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}body.single .grid-container .the-content .social-share.partial>a{display:block;margin:1em auto;text-align:center}@media print, screen and (min-width: 40em){body.single .grid-container .the-content{padding:48px 96px}}body.single #mobile-share .sticky{padding-top:.5em;padding-bottom:1.5em;background-color:white;text-align:center}body.single #mobile-share .sticky .title-share{line-height:1}body.single #mobile-share .sticky .social-share.partial .badge{font-size:1em;margin:0 5px}@media screen and (max-width: 63.9375em){body.single #sidebar .is-at-bottom{top:0 !important}}body.single-video .grid-container .player-and-content{background-color:#fff}body.single-video .grid-container h1.title{line-height:1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.single-video .grid-container h1.title{padding:0px 96px}}body.single-video .grid-container .download-video-link{color:#f60}body.single-video .grid-container .post-thumb{position:relative}@media print, screen and (min-width: 40em){body.single-video .grid-container .post-thumb{margin:0 96px}}body.single-video .grid-container .post-thumb:before{display:block;content:"";width:100%;padding-top:56.25%}body.single-video .grid-container .post-thumb>.content{position:absolute;top:0;left:0;right:0;bottom:0}body.single-video .grid-container .post-thumb .content iframe{width:100%;height:100%}body.search-results .title{background-color:white;padding:16px;line-height:1.1;color:#4a4a4a}@media print, screen and (min-width: 40em){body.search-results .title{padding:48px 96px}}body.search-results .title .query-string{font-size:0.7em;color:#f60}body.search-results .title .number-of-result{font-size:0.5em}@media print, screen and (min-width: 40em){body.search-results .posts.with-title{margin-top:-100px}body.search-results .posts .cell{margin-bottom:1.875em}body.search-results .posts .card{height:100%;margin:0}body.search-results .posts .card .date{color:#4a4a4a}}body.error404 .error-message{margin-top:5em;margin-bottom:5em}@media print, screen and (min-width: 40em){body.error404 .error-message{margin-bottom:50vh}}body.error404 .error-message .error-code{font-size:10em;line-height:1;color:#00346b}.partial.nav [data-sticky]{z-index:5;background-color:#004084}@media screen and (max-width: 63.9375em){.partial.nav [data-sticky] #headerRow1 .grid-container{padding:0}}.partial.nav [data-sticky] #headerRow1 .title-bar{background-color:transparent}.partial.nav [data-sticky] #headerRow1 .title-bar .logo img{max-width:125px}@media print, screen and (min-width: 40em){.partial.nav [data-sticky] #headerRow1 .title-bar .logo img{max-width:250px}}.partial.nav [data-sticky] #headerRow1 #headerContainer{background-color:white}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer{background-color:transparent;padding-top:.625rem;padding-bottom:.625rem}}.partial.nav [data-sticky] #headerRow1 #headerContainer .logo{width:125px}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li{border-bottom:1px solid #054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{color:#004084;font-weight:bold;font-size:.75em}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a:hover{text-decoration:underline}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{color:white}}@media screen and (min-width: 75em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li a{font-size:.875em}}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.is-dropdown-submenu-parent a:after{border-color:#f60 transparent transparent}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.is-drilldown-submenu-parent a:after{display:inline-block;position:initial;margin-left:.75rem;border-color:transparent transparent transparent #004084}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li.js-drilldown-back a:before{border-color:transparent #004084 transparent transparent}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu{border-color:#054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover{background-color:#f60}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover.is-dropdown-submenu-parent a:after{border-color:transparent transparent transparent white}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li:hover>a{color:white}}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li.is-dropdown-submenu-parent a:after{border-color:transparent transparent transparent #f60}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerMenu .menu li .submenu li a{color:#054873}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons{padding:.625rem 0}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .social-follow.partial{display:inline-block}.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .badge{font-size:.8em}@media print, screen and (min-width: 64em){.partial.nav [data-sticky] #headerRow1 #headerContainer #headerSocialIcons .badge{background-color:white;color:#004084}}.partial.nav [data-sticky] #headerRow2{background-color:white;border-bottom:2px solid #f60}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm,.partial.nav [data-sticky] #headerRow2 .search-form.partial{background-color:white;padding:.625em 0}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm label h4,.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm .input-group,.partial.nav [data-sticky] #headerRow2 .search-form.partial label h4,.partial.nav [data-sticky] #headerRow2 .search-form.partial .input-group{margin-bottom:0;line-height:1}.partial.nav [data-sticky] #headerRow2 #headerSubscriptionForm .button,.partial.nav [data-sticky] #headerRow2 .search-form.partial .button{min-width:120px}.partial.foot{padding:1.75em 0;background-color:white}.partial.foot .logo{width:81px}.partial.foot #footerSubscriptionForm .input-group{margin-bottom:0}.partial.foot #footerMenu .menu li a,.partial.foot #footerMenu .menu li a:hover{color:#5d6777;font-size:.75em;font-weight:bold;text-transform:uppercase}.partial.foot #footerSocialFollow{padding:.875em 0}.partial.foot #footerSocialFollow .social-follow.partial .badge{margin-right:10px}@media print, screen and (min-width: 64em){.partial.foot #footerSocialFollow .social-follow.partial .badge{margin-right:0}}.partial.social-follow .badge{font-size:.8em;background-color:#004084;color:white}.partial.social-share .badge{font-size:.8em;background-color:#004084;color:white}.partial.section-header{position:relative;text-align:center;margin-bottom:1.875em}.partial.section-header:before{content:' ';position:absolute;left:0;top:30%;width:100%;height:.75em}.partial.section-header .title-wrapper{display:inline-block;position:relative;background-color:#f6f7fb;padding:0 1em}.partial.section-header .title-wrapper .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;line-height:1;margin:0}.partial.section-header.blue{color:#004084}.partial.section-header.blue:before{background-color:#004084}.partial.section-header.orange{color:#f60}.partial.section-header.orange:before{background-color:#f60}.partial.subscription-form-popup{position:relative;background-color:white;max-width:700px;margin:0 auto;padding:20px}.module.banner{background-color:#ccc;position:relative}@media screen and (max-width: 39.9375em){.module.banner .slides .slide{position:relative}.module.banner .slides .slide:before{display:block;content:"";width:100%;padding-top:75%}.module.banner .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}}@media screen and (min-width: 40em) and (max-width: 63.9375em){.module.banner .slides .slide{position:relative}.module.banner .slides .slide:before{display:block;content:"";width:100%;padding-top:31.25%}.module.banner .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}}.module.banner .slides .slide .content{-webkit-background-size:100% auto;background-size:100% auto}@media print, screen and (min-width: 64em){.module.banner .slides .slide .content{height:320px;-webkit-background-size:cover;background-size:cover;background-position:center}}.module.banner .banner_title{position:absolute;width:100%;text-align:center;top:25%;color:#ffffff}.module.banner .banner_title h1{font-size:5.875rem;font-size:4.75rem}@media print, screen and (min-width: 40em){.module.banner .banner_title h1{font-size:5rem}}.module.banner .banner_title h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;text-transform:none}.module.load-more-post .title{background-color:#2ca4d7;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white !important;line-height:1;padding-top:1em;padding-bottom:1em}@media print, screen and (min-width: 40em){.module.load-more-post .title{margin-bottom:0;padding-top:50px !important;padding-bottom:120px !important}}@media print, screen and (min-width: 40em){.module.load-more-post .posts.with-title{margin-top:-100px}.module.load-more-post .posts .cell{margin-bottom:1.875em}.module.load-more-post .posts .card{height:100%;margin:0}.module.load-more-post .posts .card .date{color:#4a4a4a}}.module.who-we-are .title{background-color:#2ca4d7;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white;line-height:1;padding-top:1em;padding-bottom:1em}@media print, screen and (min-width: 40em){.module.who-we-are .title{margin-bottom:0;padding-top:50px;padding-bottom:120px}}.module.who-we-are .posts .cell .card .card-image img{width:100%}.module.who-we-are .posts .cell .card .card-section .name{color:#4a4a4a;margin-bottom:0;line-height:1}.module.who-we-are .posts .cell .card .card-section .author-title{color:#f60}.module.who-we-are .posts .cell .card .card-section .bio{color:#4a4a4a}@media print, screen and (min-width: 40em){.module.who-we-are .posts .cell{margin-bottom:1.875em}.module.who-we-are .posts .cell .card{height:100%;margin:0}.module.who-we-are .posts.with-title{margin-top:-100px}}@media print, screen and (min-width: 40em){.module.horizontal-card{padding-top:40px;padding-bottom:40px}}.module.horizontal-card .thumb img{width:100%}.module.horizontal-card .text{padding:calc(.9375rem*2)}.module.horizontal-card h2,.module.horizontal-card .h2{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:16px;text-transform:none}.module.carousel .slides .slide{position:relative}.module.carousel .slides .slide:before{display:block;content:"";width:100%;padding-top:56.25%}.module.carousel .slides .slide>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.carousel .slides .slide .content{background-color:#ccc;-webkit-background-size:cover;background-size:cover;background-position:center;padding:2em}.module.carousel .slides .slide .content .overlay{background:-webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(transparent, rgba(0,0,0,0.9));background:linear-gradient(transparent, rgba(0,0,0,0.9));-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#E5000000);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000,endColorstr=#E5000000);position:absolute;top:80%;bottom:0;left:0;right:0}.module.carousel .slides .slide .content .overlay .title{position:absolute;left:1em;right:1em;bottom:1em;color:white;margin:0;line-height:1.1}.module.carousel .nav .nav-button{color:white;background-color:#004084;height:100%;padding:2em;margin:0;cursor:pointer;border-left:5px solid #004084}.module.carousel .nav .nav-button.active,.module.carousel .nav .nav-button:hover{background-color:#00346b;border-left:5px solid #f60}@media print, screen and (min-width: 40em){.module.carousel .nav .nav-button{border-top:5px solid #004084;border-left:0}.module.carousel .nav .nav-button.active,.module.carousel .nav .nav-button:hover{border-top:5px solid #f60;border-left:0}}@media print, screen and (min-width: 40em){.module.post-list .posts .cell{margin-bottom:1.875em}.module.post-list .posts .card{height:100%;margin:0}.module.post-list .posts .card .date{color:#4a4a4a}}.module.marquee .marquee-title-bar{color:white;background-color:#2ca4d7;background-position:center right;-webkit-background-size:auto 100%;background-size:auto 100%;background-repeat:no-repeat;height:185px}@media print, screen and (min-width: 40em){.module.marquee .marquee-title-bar{height:auto;background-position:center left}}.module.marquee .marquee-title-bar>.grid-x{padding:1em;height:auto}@media print, screen and (min-width: 40em){.module.marquee .marquee-title-bar>.grid-x{height:130px}}.module.marquee .marquee-title-bar>.grid-x .title{margin:0;font-size:1.9375rem;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold}.module.marquee .marquee-title-bar>.grid-x .see-all-link{color:white}.module.marquee .posts{background-color:white}.module.marquee .posts .cell{padding-top:.9375rem;padding-bottom:.9375rem}@media print, screen and (min-width: 40em){.module.marquee .posts .cell .card{margin-bottom:0;height:100%}}.module.thumbnails-marquee .thumbnail-marquee{margin-bottom:.875em;position:relative}.module.thumbnails-marquee .thumbnail-marquee:before{display:block;content:"";width:100%;padding-top:56.25%}.module.thumbnails-marquee .thumbnail-marquee>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.thumbnails-marquee .thumbnail-marquee .content{-webkit-background-size:cover;background-size:cover}.module.thumbnails-marquee .thumbnail-marquee .content .overlay{display:table;width:100%;height:100%}.module.thumbnails-marquee .thumbnail-marquee .content .overlay .title{display:table-cell;text-align:center;vertical-align:middle;color:white;font-weight:bold}.module.posts-carousel .left-col-wrap{background-color:white;height:100%}.module.posts-carousel .left-col-wrap .canvas{position:relative}.module.posts-carousel .left-col-wrap .canvas:before{display:block;content:"";width:100%;padding-top:56.25%}.module.posts-carousel .left-col-wrap .canvas>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.posts-carousel .left-col-wrap .canvas .content{-webkit-background-size:cover;background-size:cover}.module.posts-carousel .left-col-wrap .canvas .content iframe{width:100%;height:100%}.module.posts-carousel .left-col-wrap .info-box{padding:1em}.module.posts-carousel .left-col-wrap .info-box .title a{color:black}.module.posts-carousel .left-col-wrap .info-box .title a:hover{text-decoration:underline}.module.posts-carousel .left-col-wrap .info-box .share-title{margin-right:.5em;color:#f60}.module.posts-carousel .left-col-wrap .info-box .download-video-link{color:#f60}.module.posts-carousel .slides .slide{padding-bottom:1em;cursor:pointer;border:0}.module.posts-carousel .slides .slide[data-post-type="video"] .thumb .content img{opacity:.6}.module.posts-carousel .slides .slide .thumb{position:relative;z-index:-1}.module.posts-carousel .slides .slide .thumb:before{display:block;content:"";width:100%;padding-top:56.25%}.module.posts-carousel .slides .slide .thumb>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.posts-carousel .slides .slide .thumb .content{background-color:#ccc;-webkit-background-size:cover;background-size:cover;background-position:center}.module.posts-carousel .slides .slide .thumb .content img{width:30%;height:auto;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);opacity:0}.module.posts-carousel .slides .slide .title-wrap{background-color:rgba(255,255,255,0.5);padding:.5em;width:100%;margin:0 auto;margin-top:0}.module.posts-carousel .slides .slide .title-wrap .title{margin:0;line-height:1}@media screen and (max-width: 63.9375em){.module.posts-carousel .slides .slide{margin:0 !important;padding:0 5px}}.module.photo-button-card .the-card{background-color:white}.module.photo-button-card .the-card .photo{position:relative}.module.photo-button-card .the-card .photo:before{display:block;content:"";width:100%;padding-top:56.25%}.module.photo-button-card .the-card .photo>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.photo-button-card .the-card .photo .content{-webkit-background-size:cover;background-size:cover}.module.photo-button-card .the-card .button-wrapper{color:#4a4a4a;padding:3em}.module.post-widget{background-color:#004084;color:white;padding:1em 2.5em}.module.post-widget.white{background-color:white;color:#4a4a4a}.module.post-widget.white a{color:#4a4a4a}.module.post-widget.blue{background-color:#004084;color:#f6f7fb}.module.post-widget.blue a{color:white}.module.post-widget a{color:white}.module.post-widget a img{width:100%}.module.post-widget a .post-title{margin:.5em 0 1em 0}.module.ali-views{position:relative}.module.ali-views .content{color:white;position:absolute;top:0;bottom:0;left:0;right:0}.module.ali-views .content>.grid-x{height:100%}.module.ali-views .content .title{font-family:'heartwell';text-transform:capitalize}.module.ali-views .content .button{background-color:rgba(0,0,0,0) !important;border-color:#fff !important;color:#fff !important}.module.ali-views .content .button:hover{background-color:#fff !important;border-color:#fff !important;color:#f60 !important}.module.text-and-button.blue{background-color:#2ca4d7;padding-top:1em}.module.text-and-button.blue .title{color:white;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.module.text-and-button.blue .button{background-color:#fff !important;border-color:#fff !important;color:#2ca4d7 !important}.module.text-and-button.blue .button:hover{background-color:#fff !important;border-color:#fff !important;color:#2ca4d7 !important}.module.text-and-button.no-bg{padding-top:1em;border-top:1px solid #5d6777;border-bottom:1px solid #5d6777}.module.text-and-button.no-bg .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:#5d6777}.module.text-and-button.no-bg .button{background-color:#004084 !important;border-color:#004084 !important;color:#fff !important}.module.text-and-button.no-bg .button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.external-links{background-color:#eee;padding:1em}.module.external-links .title{color:#004084}.module.external-links .link{color:#4a4a4a}.module.external-links .link:hover{text-decoration:underline}.module.external-links .source{color:#f60;text-transform:uppercase}.module.social-follow{padding:1.875em;background-color:#004084}.module.social-follow .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white}.module.social-follow .partial.social-follow .badge{font-size:1em;background-color:white;color:#004084}.module.signup-widget{padding:.9375em;background-color:#004084}.module.signup-widget .title{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;color:white}.module.signup-widget .button{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.signup-widget .button:hover{background-color:#f60 !important;border-color:#f60 !important;color:#fff !important}.module.gmv-2018 .gmv-mob-container{position:relative;width:100%;height:auto;max-width:690px}.module.gmv-2018 img{position:relative;height:auto;max-width:100%}.module.gmv-2018 .sidebar-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;position:absolute;height:100%;width:100%;padding:.5em;z-index:1;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.module.gmv-2018 .sidebar-inner-container{position:relative;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.module.gmv-2018 .sidebar-inner-container-3{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-flex:0.2;-webkit-flex:0.2;-ms-flex:0.2;flex:0.2}.module.gmv-2018 .sidebar-inner-container-4{-webkit-box-flex:0.5;-webkit-flex:0.5;-ms-flex:0.5;flex:0.5}.module.gmv-2018 .sidebar-inner-container-5{-webkit-box-flex:0.2;-webkit-flex:0.2;-ms-flex:0.2;flex:0.2}.module.gmv-2018 .sidebar-inner-container-6{-webkit-box-flex:0.5;-webkit-flex:0.5;-ms-flex:0.5;flex:0.5}.module.gmv-2018 .sidebar-container,.module.gmv-2018 .sidebar-inner-container,.module.gmv-2018 .gmv-mob-container h1,.module.gmv-2018 .gmv-mob-container h2,.module.gmv-2018 .gmv-mob-container h3,.module.gmv-2018 .gmv-mob-container h4,.module.gmv-2018 .gmv-mob-container h5,.module.gmv-2018 .gmv-mob-container p{text-align:center;margin:0;font-weight:bold}.module.gmv-2018 .gmv-mob-container h1{font-size:2.5em}.module.gmv-2018 .gmv-mob-container h2{font-size:1.5em}.module.gmv-2018 .gmv-mob-container h3{font-size:1.2em}.module.gmv-2018 .gmv-mob-container h4{font-size:1em}.module.gmv-2018 .gmv-mob-container h5{font-size:0.8em}.module.gmv-2018 .gmv-mob-container p{font-size:0.7em;line-height:1.2}.module.gmv-2018 .gmv-mob-container{font-size:20px}@media screen and (max-width: 650px){.module.gmv-2018 .gmv-mob-container{font-size:35px}}@media screen and (max-width: 600px){.module.gmv-2018 .gmv-mob-container{font-size:32px}}@media screen and (max-width: 550px){.module.gmv-2018 .gmv-mob-container{font-size:29px}}@media screen and (max-width: 500px){.module.gmv-2018 .gmv-mob-container{font-size:26px}}@media screen and (max-width: 450px){.module.gmv-2018 .gmv-mob-container{font-size:23px}}@media screen and (max-width: 400px){.module.gmv-2018 .gmv-mob-container{font-size:20px}}@media screen and (max-width: 350px){.module.gmv-2018 .gmv-mob-container{font-size:15px}}@media print, screen and (min-width: 40em){.module.gmv-2018 .gmv-mob-container{font-size:2.5em}}@media print, screen and (min-width: 64em){.module.gmv-2018 .gmv-mob-container{font-size:1em}}@media screen and (min-width: 75em){.module.gmv-2018 .gmv-mob-container{font-size:1em}}.module.gmv-2018-landscape .gmv-desk-container{position:relative;width:100%;height:auto}.module.gmv-2018-landscape img{position:relative;height:auto;max-width:100%}.module.gmv-2018-landscape .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;position:absolute;height:100%;width:100%;z-index:1;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.module.gmv-2018-landscape .inner-container{position:relative;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.module.gmv-2018-landscape .inner-container-3{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.module.gmv-2018-landscape .inner-block{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center;margin:0}.module.gmv-2018-landscape .inner-block img,.module.gmv-2018-landscape .inner-block h1,.module.gmv-2018-landscape .inner-block h2,.module.gmv-2018-landscape .inner-block h3,.module.gmv-2018-landscape .inner-block h4,.module.gmv-2018-landscape .inner-block h5,.module.gmv-2018-landscape .inner-block p,.module.gmv-2018-landscape .inner-block span{position:relative;margin:0}.module.gmv-2018-landscape .gmv-desk-container h1{font-size:2.2em}.module.gmv-2018-landscape .gmv-desk-container h2{font-size:1.5em}.module.gmv-2018-landscape .gmv-desk-container h3{font-size:1.2em}.module.gmv-2018-landscape .gmv-desk-container h4{font-size:1em}.module.gmv-2018-landscape .gmv-desk-container h5{font-size:0.8em}.module.gmv-2018-landscape .gmv-desk-container p{font-size:0.6em;padding-bottom:0.8em;line-height:1.4}.module.gmv-2018-landscape .gmv-desk-container{font-size:22px}@media screen and (max-width: 650px){.module.gmv-2018-landscape .gmv-desk-container{font-size:19px}}@media screen and (max-width: 600px){.module.gmv-2018-landscape .gmv-desk-container{font-size:16px}}@media screen and (max-width: 550px){.module.gmv-2018-landscape .gmv-desk-container{font-size:13px}}@media screen and (max-width: 500px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 450px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 400px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}@media screen and (max-width: 350px){.module.gmv-2018-landscape .gmv-desk-container{font-size:10px}}.module.gmv-2019{position:relative;color:white;text-align:center}.module.gmv-2019>img{width:100%}.module.gmv-2019 .content-wrapper{position:absolute;width:100%;height:100%;overflow:hidden}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9{position:relative}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9:before{display:block;content:"";width:100%;padding-top:56.25%}.module.gmv-2019 .content-wrapper .aspect-ratio-16x9>.content{position:absolute;top:0;left:0;right:0;bottom:0}.module.gmv-2019 .content-wrapper .dollar-sign{font-size:.5em}.module.gmv-2019 .text-1{font-weight:bold;font-size:5.3vw;line-height:1;margin-top:0.7em}.module.gmv-2019 .text-2{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:13vw;line-height:1;margin-top:0.3em;letter-spacing:0px}.module.gmv-2019 .text-3{font-size:6vw;line-height:0.7}.module.gmv-2019 .text-4{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:13vw;line-height:1;margin-top:0.2em;letter-spacing:0px}.module.gmv-2019 .text-5{font-size:5vw;margin-top:.5em}.module.gmv-2019 .text-5 p{font-size:.8em;line-height:1.2}@media print, screen and (min-width: 64em){.module.gmv-2019 .text-1{font-size:.93em;margin-bottom:.5em}.module.gmv-2019 .text-2{font-size:2.5em}.module.gmv-2019 .text-3{font-size:1.5em;line-height:0.5}.module.gmv-2019 .text-4{font-size:2.5em;margin-top:0.3em}.module.gmv-2019 .text-5{padding:0 0.5em;font-size:0.8em}}.module.gmv-2019-landscape{background-color:purple;position:relative;color:white;text-align:center}.module.gmv-2019-landscape .content-wrapper{position:absolute;width:100%;height:100%;overflow:hidden}.module.gmv-2019-landscape .content-wrapper .dollar-sign{font-size:.5em}.module.gmv-2019-landscape .text-1{font-weight:bold;font-size:2.6vw;line-height:1;margin-top:0.4em}.module.gmv-2019-landscape .text-2{font-family:"DINNextLTPro-Condensed","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:bold;font-size:5.4vw;line-height:1;margin-top:1.3em;padding:0 1em}.module.gmv-2019-landscape .text-5{font-size:1.5vw;margin-top:2.5em}.module.gmv-2019-landscape .text-5 p{font-size:.8em;line-height:1.2}@media screen and (min-width: 75em){.module.gmv-2019-landscape .text-1{font-size:1.9em}.module.gmv-2019-landscape .text-2{font-size:4em}.module.gmv-2019-landscape .text-5{font-size:1em;margin-top:4em}}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFsaXppbGEuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsV0FDSSxzQkFBdUIsQ0FDMUIsNkJBSUcsY0FDQSx3QkFBeUIsQ0FDNUIsWUFHRyxZQUNBLHNCQUF1QixDQUMxQixXQUdHLFdBQ0Esc0JBQXVCLENBQzFCLGlCQUdHLFlBQ0Esc0JBQXVCLENBQzFCLGdCQUdHLHNCQUF1QixDQUMxQixnQkFHRyxXQUNBLHNCQUF1QixDQUMxQixrQkFHRyxjQUNBLGlCQUNBLGlCQUFrQixDQUNyQixZQUdHLGdCQUNBLHlCQUNBLGNBQ0EscUJBQ0EsaUJBQWtCLENBQ3JCLHNCQUdHLHNCQUF1QixDQUMxQixzQkFHRyxzQkFBdUIsQ0FDMUIsdUJBR0csc0JBQXVCLENBQzFCLGdCQUdHLGNBQ0EsWUFDQSxTQUNBLGdCQUNBLFVBQ0EsVUFBVyxDQUNkLDhCQUdHLGVBQ0EsaUJBQ0EsU0FDQSxpQkFBa0IsQ0FDckIsb0JBSUMsU0FDQSw4QkFDQSw2QkFBQSxBQUNBLHFCQUFBLFdBQ0EsWUFDQSxnQkFDQSxVQUNBLDZCQUNBLFVBQ0EsMkJBQTRCLENBQzdCLDBCQUdDLHNCQUNBLHFCQUNBLHVCQUFBLEFBQ0EsZUFBQSxXQUNBLGNBQ0EsY0FDQSxZQUNBLFNBQ0EsbUJBQ0EsdUJBQ0EscUJBQ0EsUUFDQSxXQUNBLGNBQWUsQ0FFaEIsUUFvQ0Msb0NBQ0EsZ0NBQ0EscUJBQXdCLENBTTFCLGNBUkUsaUNBQ0EsNkJBQ0EscUJBQXdCLENBTTFCLGVBUkUsaUNBQ0EsNkJBQ0EscUJBQXdCLENBTTFCLHFCQVJFLG9DQUNBLGdDQUNBLHFCQUF3QixDQU0xQixxQkFSRSwwQ0FDQSw2QkFDQSxxQkFBd0IsQ0FNMUIsMkJBUkUsMENBQ0EsNkJBQ0EscUJBQXdCLENB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LGlCQUFrQixDQXZ4QnRCLDRDQXl4Qk0sa0JBQ0EsV0FDQSxZQUNBLGVBQWdCLENBNXhCdEIseURBOHhCUSxjQUFlLENBOXhCdkIsbUNBbXlCTSxpQkFDQSxnQkFDQSxjQUNBLGdCQUFpQixDQXR5QnZCLG1DQXl5Qk0saUZBQ0EsaUJBQ0EsZ0JBQ0EsY0FDQSxpQkFDQSxhQUFjLENBOXlCcEIsbUNBaXpCTSxnQkFDQSxnQkFBaUIsQ0FsekJ2QixxQ0FvekJRLGVBQ0EsZUFBZ0IsQ0FDakIsb0NBdHpCUCxtQ0EwekJRLGVBQWdCLENBMXpCeEIsbUNBNnpCUSxhQUFjLENBN3pCdEIsbUNBZzBCUSxjQUNBLGNBQWUsQ0FDaEIsQ0FBQSIsImZpbGUiOiJhbGl6aWxhLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdmb3VuZGF0aW9uJztcblxuLyogPVdvcmRQcmVzcyBDb3JlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi5hbGlnbmNlbnRlcixcbmRpdi5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xuICAgIG1heC13aWR0aDogOTYlOyAvKiBJbWFnZSBkb2VzIG5vdCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhICovXG4gICAgcGFkZGluZzogNXB4IDNweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25ub25lIHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi53cC1jYXB0aW9uIGltZyB7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDk4LjUlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNHB4IDVweDtcbn1cblxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgd29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLyogTWFueSBzY3JlZW4gcmVhZGVyIGFuZCBicm93c2VyIGNvbWJpbmF0aW9ucyBhbm5vdW5jZSBicm9rZW4gd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuICovXG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgY29sb3I6ICM0NDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwO1xuICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xufVxuXG4vLyBcbi8vIENvbG9yIFBhbGV0dGVcbi8vIFxuJGFsaXppbGEtYmx1ZTogIzAwNDA4NDtcbiRhbGl6aWxhLWJsdWUtZGFyazogIzAwMzQ2YjtcbiRhbGl6aWxhLWJsdWUtbGlnaHQ6ICMyY2E0ZDc7XG4kYWxpemlsYS1kYXJrLWJsdWU6ICMwNTQ4NzM7XG4kYWxpemlsYS1vcmFuZ2U6ICNmZjY2MDA7XG4kYWxpemlsYS1ncmV5OiAjNWQ2Nzc3O1xuJGFsaXppbGEtZ3JleS1iZzogI2NjY2NjYztcbiRhbGl6aWxhLWdyZXktbGlnaHQ6ICNlZWVlZWU7XG4kYWxpemlsYS13aGl0ZTogI2Y2ZjdmYjtcbiRhbGl6aWxhLWJsYWNrOiAjNGE0YTRhO1xuXG4vLyBcbi8vIE1peGluc1xuLy8gXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xuICB9XG4gID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cbkBtaXhpbiBidXR0b24oICRiZzogdHJhbnNwYXJlbnQsICRiZHI6ICRzeXUtZ3JlZW4sICRjb2xvcjogJHN5dS1ncmVlbiApIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGJkciAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8vIFxuLy8gQnV0dG9uc1xuLy8gXG4uYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLWJsdWUsICRhbGl6aWxhLWJsdWUsIHdoaXRlKTtcbiAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbigkYWxpemlsYS1vcmFuZ2UsICRhbGl6aWxhLW9yYW5nZSwgd2hpdGUpOyB9XG4gICYub3JhbmdlIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTtcbiAgICAmOmhvdmVyIHsgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLWJsdWUsICRhbGl6aWxhLWJsdWUsIHdoaXRlKTsgfVxuICB9XG4gICYud2hpdGUuaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24odHJhbnNwYXJlbnQsIHdoaXRlLCB3aGl0ZSk7XG4gICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbih0cmFuc3BhcmVudCwgd2hpdGUsIHdoaXRlKTsgfVxuICB9XG59XG5cbi8vIFxuLy8gRm9udHNcbi8vIFxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1pdGFsaWMtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1pdGFsaWMtd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtaXRhbGljLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXdlaWdodDogNzAwO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIFByZXR0eSBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC50dGYnKSAgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LnN2ZyNvcGVuX3NhbnNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZGl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkaXRhbGljLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGRpdGFsaWMtd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0RJTk5leHRMVFByby1Db25kZW5zZWQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZGluLW5leHQtbHQtcHJvL0RJTk5leHRMVFByby1Db25kZW5zZWQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICAvLyB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvZGluLW5leHQtbHQtcHJvL0RJTk5leHRMVFByby1Db25kZW5zZWQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL2Rpbi1uZXh0LWx0LXByby9ESU5OZXh0TFRQcm8tQ29uZGVuc2VkLnN2ZyNvcGVuX3NhbnNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IHVybCgnLi4vZm9udHMvb3BlbnNhbnMvb3BlbnNhbnMtYm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCAvKiBQcmV0dHkgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgdXJsKCcuLi9mb250cy9vcGVuc2Fucy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zL29wZW5zYW5zLWJvbGQtd2ViZm9udC5zdmcjb3Blbl9zYW5zcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0hlYXJ0d2VsbCc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQuZW90Jyk7IC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2hlYXJ0d2VsbC9oZWFydHdlbGwtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXG4gICAgICAgdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIFN1cGVyIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvaGVhcnR3ZWxsL2hlYXJ0d2VsbC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogUHJldHR5IE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgIHVybCgnLi4vZm9udHMvaGVhcnR3ZWxsL2hlYXJ0d2VsbC13ZWJmb250LnR0ZicpICBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXG4gICAgICAgdXJsKCcuLi9mb250cy9oZWFydHdlbGwvaGVhcnR3ZWxsLXdlYmZvbnQuc3ZnI29wZW5fc2Fuc3JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG59XG5cbiRmb250LWZhbWlseS0xOiBcIk9wZW4gU2Fuc1wiLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS0yOiBcIkRJTk5leHRMVFByby1Db25kZW5zZWRcIixcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiB1bnNldDtcbn1cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wb3N0LXRlbXBsYXRlLWRlZmF1bHQge1xuICBoMiwgLmgyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8vIFxuLy8gR2VuZXJhbFxuLy8gXG5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtd2hpdGU7IH1cbmJvZHkgeyBvcGFjaXR5OiAxOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xczsgfVxuLm5vLWpzIHsgYm9keSB7IG9wYWNpdHk6IDA7IH0gfVxuLm1lbnUge1xuICBsaSB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNlZS1hbGwtbGluayB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMjtcbiAgZm9udC1zaXplOiAuODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGNvbG9yOiAjMDA0MDg0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbmlmcmFtZSB7IG1heC13aWR0aDogMTAwJTsgfVxuLmNsaWNrLXRvLXR3ZWV0IHtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIC5mYS10d2l0dGVyIHtcbiAgICBjb2xvcjogIzU1YWNlZTtcbiAgfVxufVxuLmFzcGVjdC1yYXRpby0xNng5IHtcbiAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gXG4vLyBMRVZFTDogUEFHRSBHUklEXG4vLyBcbi5ncmlkLWNvbnRhaW5lciB7XG4gICYuc2luZ2xlLCAmLnNpbmdsZS1uYXJyb3csICYuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1ZW07XG4gIH1cbiAgJi5zaWRlYmFyIHtcbiAgICAuc3RpY2t5LmlzLXN0dWNrIHsgei1pbmRleDogNDsgfVxuICB9XG4gICYuc2luZ2xlLW5hcnJvdywgJi5zaWRlYmFyIHtcbiAgICAubW9kdWxlIHtcbiAgICAgICYucG9zdHMtY2Fyb3VzZWwge1xuICAgICAgICAuc2xpZGVzIHtcbiAgICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgLnRpdGxlLXdyYXAge1xuICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmZ1bGwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuICAubW9kdWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtO1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFxuLy8gTEVWRUw6IFRFTVBMQVRFXG4vLyBcbmJvZHkge1xuICAmLnNpbmdsZSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgI3NpZGViYXItYW5jaG9yIHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmc6IDQ4cHggOTZweDtcbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgIC5hdXRob3ItYW5kLWRhdGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBvc3QtdGh1bWIge1xuICAgICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgfVxuICAgICAgLnRoZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgLmRvd25sb2FkLXZpZGVvLWxpbmsge1xuICAgICAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLXNoYXJlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtc2hhcmUucGFydGlhbCB7XG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOiA0OHB4IDk2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI21vYmlsZS1zaGFyZSB7XG4gICAgICAuc3RpY2t5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IC41ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnRpdGxlLXNoYXJlIHsgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgLnNvY2lhbC1zaGFyZS5wYXJ0aWFsIHtcbiAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgI3NpZGViYXIge1xuICAgICAgICAuaXMtYXQtYm90dG9tIHtcbiAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvKiBib2R5LnNpbmdsZSAqL1xuICAmLnNpbmdsZS12aWRlbyB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIC5wbGF5ZXItYW5kLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgaDEudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHsgcGFkZGluZzogMHB4IDk2cHg7IH1cbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIH1cbiAgICAgIC5kb3dubG9hZC12aWRlby1saW5rIHtcbiAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgIH1cbiAgICAgIC5wb3N0LXRodW1iIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IG1hcmdpbjogMCA5NnB4OyB9XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIGJvZHkuc2luZ2xlLXZpZGVvICovXG4gICYuc2VhcmNoLXJlc3VsdHMge1xuICAgIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogNDhweCA5NnB4O1xuICAgICAgfVxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIC5xdWVyeS1zdHJpbmcge1xuICAgICAgICBmb250LXNpemU6IDAuN2VtO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgfVxuICAgICAgLm51bWJlci1vZi1yZXN1bHQge1xuICAgICAgICBmb250LXNpemU6IDAuNWVtOyAgICAgICAgXG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgJi53aXRoLXRpdGxlIHsgbWFyZ2luLXRvcDogLTEwMHB4OyB9XG4gICAgICAgIC5jZWxsIHsgbWFyZ2luLWJvdHRvbTogMS44NzVlbTsgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIGJvZHkuc2VhcmNoLXJlc3VsdHMgKi9cbiAgJi5lcnJvcjQwNCB7XG4gICAgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IDUwdmg7IH1cbiAgICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWUtZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogYm9keS5lcnJvcjQwNCAqL1xufVxuXG4vLyBcbi8vIExFVkVMOiBNT0RVTEUgLSAncGFydGlhbHMvJ1xuLy8gXG4ucGFydGlhbCB7XG4gICYubmF2IHtcbiAgICBbZGF0YS1zdGlja3ldIHtcbiAgICAgIHotaW5kZXg6IDU7IC8vIFRvIEZpeCB6ZiBEcm9wZG93biBNZW51IGJlaW5nIGhpZGUgdW5kZXIgb3RoZXIgcG9zaXRpb24gcmVsYXRpdmUgZWxlbWVudHNcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAjaGVhZGVyUm93MSB7XG4gICAgICAgIFxuICAgICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnRpdGxlLWJhciB7XG4gICAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgaW1nIHsgbWF4LXdpZHRoOiAxMjVweDsgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IGltZyB7IG1heC13aWR0aDogMjUwcHg7IH0gfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgI2hlYWRlckNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjYyNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmxvZ28geyB3aWR0aDogMTI1cHg7IH1cbiAgICAgICAgICAjaGVhZGVyTWVudSB7XG4gICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFsaXppbGEtZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7IGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7IGZvbnQtc2l6ZTogLjg3NWVtOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsaXppbGEtb3JhbmdlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYWxpemlsYS1ibHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkYWxpemlsYS1ibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRhbGl6aWxhLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgeyBhOmFmdGVyIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB3aGl0ZTsgfSB9XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgJj5hIHsgY29sb3I6IHdoaXRlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHsgYTphZnRlciB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGFsaXppbGEtb3JhbmdlOyB9IH1cbiAgICAgICAgICAgICAgICAgICAgYSB7IGNvbG9yOiAkYWxpemlsYS1kYXJrLWJsdWU7IH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI2hlYWRlclNvY2lhbEljb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC42MjVyZW0gMDtcbiAgICAgICAgICAgIC5zb2NpYWwtZm9sbG93LnBhcnRpYWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICNoZWFkZXJSb3cyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgICNoZWFkZXJTdWJzY3JpcHRpb25Gb3JtLCAuc2VhcmNoLWZvcm0ucGFydGlhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogLjYyNWVtIDA7XG4gICAgICAgICAgbGFiZWwgaDQsIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfSAvKiAubmF2LnBhcnRpYWwgKi9cbiAgJi5mb290IHtcbiAgICBwYWRkaW5nOiAxLjc1ZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAubG9nbyB7IHdpZHRoOiA4MXB4OyB9XG4gICAgI2Zvb3RlclN1YnNjcmlwdGlvbkZvcm0ge1xuICAgICAgLmlucHV0LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgI2Zvb3Rlck1lbnUge1xuICAgICAgLm1lbnUge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGFsaXppbGEtZ3JleTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNmb290ZXJTb2NpYWxGb2xsb3cge1xuICAgICAgcGFkZGluZzogLjg3NWVtIDA7XG4gICAgICAuc29jaWFsLWZvbGxvdy5wYXJ0aWFsIHtcbiAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLmZvb3QucGFydGlhbCAqL1xuICAmLnNvY2lhbC1mb2xsb3cge1xuICAgIC5iYWRnZSB7XG4gICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfSAvKiAuc29jaWFsLWZvbGxvdy5wYXJ0aWFsICovXG4gICYuc29jaWFsLXNoYXJlIHtcbiAgICAuYmFkZ2Uge1xuICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH0gLyogLnNvY2lhbC1zaGFyZS5wYXJ0aWFsICovXG4gICYuc2VjdGlvbi1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVlbTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAzMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogLjc1ZW07XG4gICAgfVxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLXdoaXRlO1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmJsdWUge1xuICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgICYub3JhbmdlIHtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnNlY3Rpb24taGVhZGVyLnBhcnRpYWwgKi9cbiAgJi5zdWJzY3JpcHRpb24tZm9ybS1wb3B1cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuXG4vLyBcbi8vIExFVkVMOiBNT0RVTEUgLSAnbW9kdWxlcy8nXG4vLyBcbi5tb2R1bGUge1xuICAvLyBcbiAgLy8gTEVWRUw6IE1PRFVMRSAtICdtb2R1bGVzL2Z1bGwtd2lkdGgvJ1xuICAvLyBcbiAgJi5iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWdyZXktYmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5zbGlkZXMge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkgeyBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDk2MCw3MjApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBvbmx5KSB7IEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTAyNCwzMjApOyB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5iYW5uZXJfdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDI1JTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDUuODc1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCkgeyBcbiAgICAgICAgICBmb250LXNpemU6IDQuNzVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7IFxuICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IFxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmxvYWQtbW9yZS1wb3N0IHtcbiAgICAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZS1saWdodDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAucG9zdHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICYud2l0aC10aXRsZSB7IG1hcmdpbi10b3A6IC0xMDBweDsgfVxuICAgICAgICAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLndoby13ZS1hcmUge1xuICAgIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWxpZ2h0O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgICAgICBpbWcgeyB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1zZWN0aW9uIHtcbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRhbGl6aWxhLWJsYWNrO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hdXRob3ItdGl0bGUgeyBjb2xvcjogJGFsaXppbGEtb3JhbmdlOyB9XG4gICAgICAgICAgICAuYmlvIHsgY29sb3I6ICRhbGl6aWxhLWJsYWNrOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1ZW07XG4gICAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLndpdGgtdGl0bGUgeyBtYXJnaW4tdG9wOiAtMTAwcHg7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ob3Jpem9udGFsLWNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICAudGh1bWIge1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIHBhZGRpbmc6IGNhbGMoLjkzNzVyZW0qMik7XG4gICAgfVxuICAgICYud2l0aC1iYWNrZ3JvdW5kIHtcbiAgICAgIC8vIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgLy8gcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIGgyLCAuaDIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0xO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLy8gXG4gIC8vIExFVkVMOiBNT0RVTEUgLSAnbW9kdWxlcy9tYWluLWNvbHVtbi8nXG4gIC8vIFxuICAmLmNhcm91c2VsIHtcbiAgICAuc2xpZGVzIHtcbiAgICAgIC5zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ncmV5LWJnO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgICAgICAub3ZlcmxheSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwwLDAsMC45KSk7XG4gICAgICAgICAgICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMDAwMDAwMDAsZW5kQ29sb3JzdHI9I0U1MDAwMDAwKTtcbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzAwMDAwMDAwLGVuZENvbG9yc3RyPSNFNTAwMDAwMCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDgwJTsgYm90dG9tOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMWVtO1xuICAgICAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgICAgICBib3R0b206IDFlbTtcbiAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uYXYge1xuICAgICAgLm5hdi1idXR0b24ge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYWxpemlsYS1ibHVlO1xuICAgICAgICAmLmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZS1kYXJrO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGFsaXppbGEtb3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkYWxpemlsYS1ibHVlO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkYWxpemlsYS1vcmFuZ2U7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLmNhcm91c2VsLm1vZHVsZSAqL1xuICBcbiAgJi5wb3N0LWxpc3Qge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgLnBvc3RzIHtcbiAgICAgICAgLmNlbGwgeyBtYXJnaW4tYm90dG9tOiAxLjg3NWVtOyB9XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnBvc3QtbGlzdC5tb2R1bGUgKi9cblxuICAmLm1hcnF1ZWUge1xuICAgIC5tYXJxdWVlLXRpdGxlLWJhciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlLWxpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgaGVpZ2h0OiAxODVweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICAgICAgfVxuICAgICAgPiAuZ3JpZC14IHtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkgeyBoZWlnaHQ6IDEzMHB4OyB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgICAuc2VlLWFsbC1saW5rIHsgY29sb3I6IHdoaXRlOyB9XG4gICAgICB9XG4gICAgfVxuICAgIC5wb3N0cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjkzNzVyZW07XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8qIC5tYXJxdWVlLm1vZHVsZSAqL1xuXG4gICYudGh1bWJuYWlscy1tYXJxdWVlIHtcbiAgICAudGh1bWJuYWlsLW1hcnF1ZWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjg3NWVtO1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgLm92ZXJsYXkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnRodW1ibmFpbHMtbWFycXVlZS5tb2R1bGUgKi9cblxuICAmLnBvc3RzLWNhcm91c2VsIHtcbiAgICAubGVmdC1jb2wtd3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC5jYW52YXMge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8gKDE2LDkpO1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mby1ib3gge1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNoYXJlLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgICAuZG93bmxvYWQtdmlkZW8tbGluayB7XG4gICAgICAgICAgY29sb3I6ICRhbGl6aWxhLW9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2xpZGVzIHtcbiAgICAgIC5zbGlkZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtZ3JleTtcbiAgICAgICAgfVxuICAgICAgICAmW2RhdGEtcG9zdC10eXBlPVwidmlkZW9cIl0geyAudGh1bWIgeyAuY29udGVudCB7IGltZyB7IG9wYWNpdHk6IC42OyB9IH0gfSB9XG4gICAgICAgIC50aHVtYiB7XG4gICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvICgxNiw5KTtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ncmV5LWJnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlLXdyYXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuICAgICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnBvc3RzLWNhcm91c2VsLm1vZHVsZSAqL1xuXG4gICYucGhvdG8tYnV0dG9uLWNhcmQge1xuICAgIC50aGUtY2FyZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIC5waG90byB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDNlbTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyogLnBob3RvLWJ1dHRvbi1jYXJkLm1vZHVsZSAqL1xuICBcbiAgLy8gXG4gIC8vIExFVkVMOiBNT0RVTEUgLSAnbW9kdWxlcy9zaWRlYmFyLydcbiAgLy8gXG4gICYucG9zdC13aWRnZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDFlbSAyLjVlbTtcbiAgICAvLyBwYWRkaW5nLXRvcDogMi41ZW07XG4gICAgJi53aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAkYWxpemlsYS1ibGFjaztcbiAgICAgIGEgeyBjb2xvcjogJGFsaXppbGEtYmxhY2s7IH1cbiAgICB9XG4gICAgJi5ibHVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgICBjb2xvcjogJGFsaXppbGEtd2hpdGU7XG4gICAgICBhIHsgY29sb3I6IHdoaXRlOyB9XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgaW1nIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wb3N0LXRpdGxlIHsgbWFyZ2luOiAuNWVtIDAgMWVtIDA7IH1cbiAgICB9XG4gIH1cbiAgJi5hbGktdmlld3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuY29udGVudCB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICAmID4gLmdyaWQteCB7IGhlaWdodDogMTAwJTsgfVxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdoZWFydHdlbGwnO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24odHJhbnNwYXJlbnQsIHdoaXRlLCB3aGl0ZSk7XG4gICAgICAgICY6aG92ZXIgeyBAaW5jbHVkZSBidXR0b24od2hpdGUsIHdoaXRlLCAkYWxpemlsYS1vcmFuZ2UpOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYudGV4dC1hbmQtYnV0dG9uIHtcbiAgICAmLmJsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtYmx1ZS1saWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICAudGl0bGUge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24od2hpdGUsIHdoaXRlLCAkYWxpemlsYS1ibHVlLWxpZ2h0KTtcbiAgICAgICAgJjpob3ZlciB7IEBpbmNsdWRlIGJ1dHRvbih3aGl0ZSwgd2hpdGUsICRhbGl6aWxhLWJsdWUtbGlnaHQpOyB9XG4gICAgICB9XG4gICAgfVxuICAgICYubm8tYmcge1xuICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYWxpemlsYS1ncmV5O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhbGl6aWxhLWdyZXk7XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogJGFsaXppbGEtZ3JleTtcbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtYmx1ZSwgJGFsaXppbGEtYmx1ZSwgd2hpdGUpO1xuICAgICAgICAmOmhvdmVyIHsgQGluY2x1ZGUgYnV0dG9uKCRhbGl6aWxhLW9yYW5nZSwgJGFsaXppbGEtb3JhbmdlLCB3aGl0ZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5leHRlcm5hbC1saW5rcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsaXppbGEtZ3JleS1saWdodDtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgLnRpdGxlIHsgY29sb3I6ICRhbGl6aWxhLWJsdWU7IH1cbiAgICAubGluayB7XG4gICAgICBjb2xvcjogJGFsaXppbGEtYmxhY2s7XG4gICAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICB9XG4gICAgLnNvdXJjZSB7XG4gICAgICBjb2xvcjogJGFsaXppbGEtb3JhbmdlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbiAgJi5zb2NpYWwtZm9sbG93IHtcbiAgICBwYWRkaW5nOiAxLjg3NWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAucGFydGlhbC5zb2NpYWwtZm9sbG93IC5iYWRnZSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgY29sb3I6ICRhbGl6aWxhLWJsdWU7XG4gICAgfVxuICB9XG4gICYuc2lnbnVwLXdpZGdldCB7XG4gICAgcGFkZGluZzogLjkzNzVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxpemlsYS1ibHVlO1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LTE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTtcbiAgICAgICY6aG92ZXIgeyBAaW5jbHVkZSBidXR0b24oJGFsaXppbGEtb3JhbmdlLCAkYWxpemlsYS1vcmFuZ2UsIHdoaXRlKTsgfVxuICAgIH1cbiAgfVxuICAmLmdtdi0yMDE4IHtcbiAgICAvKiBCYW5uZXIgU3R5bGUgKi9cbiAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuc2lkZWJhci1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLnNpZGViYXItaW5uZXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAgY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuICAgIC5zaWRlYmFyLWlubmVyLWNvbnRhaW5lci0zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMC4yO1xuICAgIH1cbiAgICAuc2lkZWJhci1pbm5lci1jb250YWluZXItNCB7XG4gICAgICAgIGZsZXg6IDAuNTtcbiAgICB9XG4gICAgLnNpZGViYXItaW5uZXItY29udGFpbmVyLTUge1xuICAgICAgICBmbGV4OiAwLjI7XG4gICAgfVxuICAgIC5zaWRlYmFyLWlubmVyLWNvbnRhaW5lci02IHtcbiAgICAgICAgZmxleDogMC41O1xuICAgIH1cbiAgICAuc2lkZWJhci1jb250YWluZXIsIC5zaWRlYmFyLWlubmVyLWNvbnRhaW5lciwgLmdtdi1tb2ItY29udGFpbmVyIGgxLCAuZ212LW1vYi1jb250YWluZXIgaDIsICAuZ212LW1vYi1jb250YWluZXIgaDMsICAuZ212LW1vYi1jb250YWluZXIgaDQsIC5nbXYtbW9iLWNvbnRhaW5lciBoNSwgLmdtdi1tb2ItY29udGFpbmVyIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLyogQmFubmVyIEZvbnQgc2l6ZSBSZXNwb25zaXZlICovICAgXG4gICAgLmdtdi1tb2ItY29udGFpbmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgfVxuICAgIC5nbXYtbW9iLWNvbnRhaW5lciBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cbiAgICAuZ212LW1vYi1jb250YWluZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG4gICAgLmdtdi1tb2ItY29udGFpbmVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cbiAgICAuZ212LW1vYi1jb250YWluZXIgaDUge1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB9XG4gICAgLmdtdi1tb2ItY29udGFpbmVyIHAge1xuICAgICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICAgIC5nbXYtbW9iLWNvbnRhaW5lciB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDI5cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAuZ212LW1vYi1jb250YWluZXIge1xuICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xuICAgICAgLmdtdi1tb2ItY29udGFpbmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9IC8qLmdtdi0yMDE4Lm1vZHVsZSovXG4gICYuZ212LTIwMTgtbGFuZHNjYXBlIHtcbiAgICAvKiBCYW5uZXIgU3R5bGUgKi9cbiAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLy8gbWF4LXdpZHRoOiA4NDVweDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuaW5uZXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgfVxuICAgIC5pbm5lci1jb250YWluZXItMyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgLmlubmVyLWJsb2NrIHtcbiAgICAgIGZsZXg6MTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmlubmVyLWJsb2NrIGltZywgLmlubmVyLWJsb2NrIGgxLCAgLmlubmVyLWJsb2NrIGgyLCAgLmlubmVyLWJsb2NrIGgzLCAgLmlubmVyLWJsb2NrIGg0LCAgLmlubmVyLWJsb2NrIGg1LCAgLmlubmVyLWJsb2NrIHAsIC5pbm5lci1ibG9jayBzcGFue1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuXG4gICAgLyogQmFubmVyIEZvbnQgc2l6ZSBSZXNwb25zaXZlICovXG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciBoMSB7XG4gICAgICBmb250LXNpemU6IDIuMmVtO1xuICAgIH1cbiAgICAuZ212LWRlc2stY29udGFpbmVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxuICAgIC5nbXYtZGVzay1jb250YWluZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciBoNCB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG4gICAgLmdtdi1kZXNrLWNvbnRhaW5lciBoNSB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgICAuZ212LWRlc2stY29udGFpbmVyIHAge1xuICAgICAgZm9udC1zaXplOiAwLjZlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjhlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgICAgICAuZ212LWRlc2stY29udGFpbmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgLmdtdi1kZXNrLWNvbnRhaW5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM1MHB4KSB7XG4gICAgICAgIC5nbXYtZGVzay1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgfSAvKi5nbXYtMjAxOC1sYW5kc2NhcGUubW9kdWxlKi9cblxuICAmLmdtdi0yMDE5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmID4gaW1nIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC5hc3BlY3QtcmF0aW8tMTZ4OSB7IEBpbmNsdWRlIGFzcGVjdC1yYXRpbyAoMTYsOSk7IH1cbiAgICAgIC5kb2xsYXItc2lnbiB7IGZvbnQtc2l6ZTogLjVlbTsgfVxuICAgIH1cbiAgICAvLyBSZXNwb25zaXZlIGZvbnQgc2l6aW5nXG4gICAgLnRleHQtMSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogNS4zdnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbi10b3A6IDAuN2VtO1xuICAgIH1cbiAgICAudGV4dC0yIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxM3Z3O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgfVxuICAgIC50ZXh0LTMge1xuICAgICAgZm9udC1zaXplOiA2dnc7XG4gICAgICBsaW5lLWhlaWdodDogMC43O1xuICAgIH1cbiAgICAudGV4dC00IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxM3Z3O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgfVxuICAgIC50ZXh0LTUge1xuICAgICAgZm9udC1zaXplOiA1dnc7XG4gICAgICBtYXJnaW4tdG9wOiAuNWVtO1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIC50ZXh0LTEge1xuICAgICAgICBmb250LXNpemU6IC45M2VtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgfVxuICAgICAgLnRleHQtMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgICB9XG4gICAgICAudGV4dC0zIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTQge1xuICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0LTUge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgfVxuICAgIH1cbiAgfSAvKi5nbXYtMjAxOS5tb2R1bGUqL1xuXG4gICYuZ212LTIwMTktbGFuZHNjYXBlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwdXJwbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAuZG9sbGFyLXNpZ24ge1xuICAgICAgICBmb250LXNpemU6IC41ZW07XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlc3BvbnNpdmUgZm9udCBzaXppbmdcbiAgICAudGV4dC0xIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAyLjZ2dztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgfVxuICAgIC50ZXh0LTIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0yO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDUuNHZ3O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAxLjNlbTtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIH1cbiAgICAudGV4dC01IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41dnc7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVlbTtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xuICAgICAgLnRleHQtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45ZW07XG4gICAgICB9XG4gICAgICAudGV4dC0yIHtcbiAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgICB9XG4gICAgICAudGV4dC01IHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLyouZ212LTIwMTktbGFuZHNjYXBlLm1vZHVsZSovXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiJdfQ== */
