/* ===================================================================================
 *
 * @project        sjrw
 * @author         Caleb Zahnd <caleb@midcoast.iom>
 * @build          Fri, Jan 23, 2026 1:46 AM CST
 * @release        751b1deab150212ecea3c4f8554b86f0458f9a29 [Detached: 751b1deab150212ecea3c4f8554b86f0458f9a29]
 * @copyright      Copyright (c) 2026, Caleb Zahnd
 *
 *  Do not edit this file! This file is machine-generated and constantly overwritten.
 *  Any changes you make will be overwritten the next time the /src is compiled.
 *  Edit the /src files to make edits and updates.
 *
 * =================================================================================== */





@import url("https://fonts.googleapis.com/css2?family=Lato&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");












.span-1 {
  width: 8.3333333333%;
}

.span-2 {
  width: 16.6666666667%;
}

.span-3 {
  width: 25%;
}

.span-4 {
  width: 33.3333333333%;
}

.span-5 {
  width: 41.6666666667%;
}

.span-6 {
  width: 50%;
}

.span-7 {
  width: 58.3333333333%;
}

.span-8 {
  width: 66.6666666667%;
}

.span-9 {
  width: 75%;
}

.span-10 {
  width: 83.3333333333%;
}

.span-11 {
  width: 91.6666666667%;
}

.span-12 {
  width: 100%;
}







@font-face {
  font-family: "iconfont";
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?pl06t");
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?pl06t#iefix") format("eot"), url("../../assets/media/fonts/iconfont/iconfont.woff2?pl06t") format("woff2"), url("../../assets/media/fonts/iconfont/iconfont.woff?pl06t") format("woff"), url("../../assets/media/fonts/iconfont/iconfont.ttf?pl06t") format("truetype"), url("../../assets/media/fonts/iconfont/iconfont.svg?pl06t#iconfont") format("svg");
  font-weight: normal;
  font-style: normal;
}
.icon-account::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea01";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea02";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea03";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-left-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea04";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea05";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea06";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea07";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up-long::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea08";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea09";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-bell::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-browser::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-calendar::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea0f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea10";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chat::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea11";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-check::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea12";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkbox-empty::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea13";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkbox::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea14";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea15";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-left::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea16";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-right::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea17";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-chevron-up::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea18";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-circle::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea19";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-clock::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close-white::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-close::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-compose::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-document::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-download::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea1f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email-alt::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea20";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-email::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea21";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-facebook::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea22";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-home::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea23";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info-alert::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea24";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea25";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-instagram::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea26";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-learn-alert::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea27";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-lightbulb::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea28";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-linkedin::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea29";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-loan::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-location::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-lock::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-midcoast::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-minus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-person::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea2f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-phone::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea30";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-pinterest::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea31";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-play-circle::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea32";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-play::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea33";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plus::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea34";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-quote::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea35";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-reset::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea36";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-scroll-down::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea37";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-search::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea38";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-snapchat::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea39";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star-half::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3a";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-star::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3b";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-three-dots::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3c";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-tiktok::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3d";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-twitter::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3e";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-video::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea3f";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-vimeo::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea40";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-website::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea41";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-yelp::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea42";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-youtube::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea43";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bl-logos .container {
  justify-content: center;
  align-items: center;
  border-top: 1px solid;
}
@media (min-width: 0) and (max-width: 543px) {
  .bl-logos .container {
    flex-direction: column;
  }
}
.bl-logos__logo {
  margin: 10px 30px;
  max-width: 200px;
  max-height: 100px;
}
@media (min-width: 768px) {
  .bl-logos__logo {
    margin: 30px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvZ29zL3NyYy9zY3NzL2JsLWxvZ29zLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9ibG9ja3MvX2ltcG9ydC1kZXBlbmRlbmNpZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9mdW5jdGlvbnMvX2luaXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvZnVuY3Rpb25zL19nbG9iYWwtY29uZmlnLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL2Z1bmN0aW9ucy9fcmVtLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL2Z1bmN0aW9ucy9fYmxvZy1tYXgtd2lkdGguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2Jsb2NrLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19jb250YWluZXItYnJlYWtvdXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fcHVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fcHVzaC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fc3Bhbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2Jsb2NrLWVkaXRvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2JyaWNrLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19zaGFkZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX3otaW5kZXguc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL3BhcnRpYWxzL19pY29uZm9udC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2ljb25mb250LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYnJlYWtwb2ludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQ1BBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQ0E7QUFBQTtBQTZEUTtBQzlEUjtBQUNBO0FBQUE7QUNEQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDRkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF5QkE7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FDM0REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QVpBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QWFBQTtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7O0FBMkVKO0VDOUVDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdUVrQztFQ3RFbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvRUQ7RUNqRkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwRTBDO0VDekUxQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVFRDtFQ3BGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZFcUM7RUM1RXJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMEVEO0VDdkZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ0YwQztFQy9FMUMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2RUQ7RUMxRkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtRnFDO0VDbEZyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdGRDtFQzdGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNGMkM7RUNyRjNDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbUZEO0VDaEdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeUZzQztFQ3hGdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzRkQ7RUNuR0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0RndDO0VDM0Z4QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlGRDtFQ3RHQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtGbUM7RUM5Rm5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENEZEO0VDekdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa0crQjtFQ2pHL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrRkQ7RUM1R0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxR2tDO0VDcEdsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtHRDtFQy9HQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdHbUM7RUN2R25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcUdEO0VDbEhDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMkdxQztFQzFHckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3R0Q7RUNySEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4R3FDO0VDN0dyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJHRDtFQ3hIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlIc0M7RUNoSHRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOEdEO0VDM0hDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb0htQztFQ25IbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpSEQ7RUM5SEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1SCtCO0VDdEgvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9IRDtFQ2pJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBIZ0M7RUN6SGhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdUhEO0VDcElDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENkh5QztFQzVIekMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwSEQ7RUN2SUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnSW1DO0VDL0huQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZIRDtFQzFJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1JdUM7RUNsSXZDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ0lEO0VDN0lDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc0l1QztFQ3JJdkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtSUQ7RUNoSkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5SXdDO0VDeEl4QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNJRDtFQ25KQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRJcUM7RUMzSXJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeUlEO0VDdEpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK0lpQztFQzlJakMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0SUQ7RUN6SkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrSmdDO0VDakpoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtJRDtFQzVKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFKc0M7RUNwSnRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa0pEO0VDL0pDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd0pnQztFQ3ZKaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxSkQ7RUNsS0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QySmtDO0VDMUpsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdKRDtFQ3JLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhKbUM7RUM3Sm5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMkpEO0VDeEtDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaUttQztFQ2hLbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4SkQ7RUMzS0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvS29DO0VDbktwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlLRDtFQzlLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVLZ0M7RUN0S2hDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb0tEO0VDakxDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMEttQztFQ3pLbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1S0Q7RUNwTEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2SytCO0VDNUsvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBLRDtFQ3ZMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdMcUM7RUMvS3JDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENktEO0VDMUxDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbUwrQjtFQ2xML0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnTEQ7RUM3TEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzTG9DO0VDckxwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1MRDtFQ2hNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlMc0M7RUN4THRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEc0xEO0VDbk1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENExvQztFQzNMcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR5TEQ7RUN0TUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QrTG1DO0VDOUxuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDRMRDtFQ3pNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGtNK0I7RUNqTS9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEK0xEO0VDNU1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEcU1tQztFQ3BNbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURrTUQ7RUMvTUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R3TStCO0VDdk0vQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHFNRDtFQ2xOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDJNbUM7RUMxTW5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEd01EO0VDck5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOE1nQztFQzdNaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQyTUQ7RUN4TkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RpTmlDO0VDaE5qQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDhNRDtFQzNOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG9OZ0M7RUNuTmhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEaU5EO0VDOU5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdU5vQztFQ3ROcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvTkQ7RUNqT0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwTnNDO0VDek50QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVORDtFQ3BPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZOK0I7RUM1Ti9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEME5EO0VDdk9DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ08rQjtFQy9OL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2TkQ7RUMxT0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtT2dDO0VDbE9oQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdPRDtFQzdPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNPZ0M7RUNyT2hDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbU9EO0VDaFBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeU9zQztFQ3hPdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzT0Q7RUNuUEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0T2lDO0VDM09qQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlPRDtFQ3RQQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtPbUM7RUM5T25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENE9EO0VDelBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa1BvQztFQ2pQcEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrT0Q7RUM1UEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxUCtCO0VDcFAvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtQRDtFQy9QQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdQcUM7RUN2UHJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcVBEO0VDbFFDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMlBpQztFQzFQakMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3UEQ7RUNyUUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4UGtDO0VDN1BsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJQRDtFQ3hRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlRZ0M7RUNoUWhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOFBEO0VDM1FDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb1FnQztFQ25RaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpUUQ7RUM5UUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1UWtDO0VDdFFsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9RRDtFQ2pSQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBRK0I7RUN6US9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdVFEO0VDcFJDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENlFrQztFQzVRbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QXBCUEE7RUFDQztFQUNBO0VBQ0E7O0FxQnFCQztFckJ4QkY7SUFNRTs7O0FBSUY7RUFDQztFQUNNO0VBQ047O0FxQkFDO0VyQkhGO0lBT0UiLCJmaWxlIjoibG9nb3Mvc3JjL3Njc3MvYmwtbG9nb3MuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCbG9jazogTG9nb3NcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuLyoqIEltcG9ydCBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzICovXG5AaW1wb3J0ICdfaW1wb3J0LWRlcGVuZGVuY2llcy5zY3NzJztcblxuLmJsLWxvZ29zIHtcbiAgICBcblx0LmNvbnRhaW5lciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IodmVyeS1saWdodC1ib3JkZXIpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4cywgb25seSkge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR9XG5cdH1cblxuXHQmX19sb2dvIHtcblx0XHRtYXJnaW46IDEwcHggMzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcblx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHQgICAgXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1kKSB7XG5cdFx0XHRtYXJnaW46IDMwcHg7XG5cdFx0fVxuXHR9XG59IiwiLyoqXG4gKiBOZWNlc3NhcnkgZGVwZW5kZW5jaWVzIGZvciB0aGUgQmxvY2sgc2NzcyBzdHlsZXNoZWV0cy4gVGhpcyBmaWxlIGlzIGltcG9ydGVkIGludG8gZWFjaCBvZiB0aGUgYnVpbGRzIGZvciBCbG9jayBzY3NzLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG4vLyBcbkBpbXBvcnQgJ2NvcmUvX3ZhcmlhYmxlcyc7XG5cbkBpbXBvcnQgJ2NvcmUvZnVuY3Rpb25zL19pbml0JztcblxuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fYmxvY2snO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fY29udGFpbmVyLWJyZWFrb3V0JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lcic7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19ndXR0ZXJzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX3B1bGwnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fcHVzaCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19zcGFuJztcblxuQGltcG9ydCAnY29yZS9taXhpbnMvX2FsbGNoYXJzJztcblxuQGltcG9ydCAnY29yZS9taXhpbnMvX2Jsb2NrLWVkaXRvcic7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYnJpY2snO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2Jyb3dzZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2J1dHRvbnMnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2NvdmVyZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2ZsdWlkLXR5cGUnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2ljb25mb250JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19tYXAtZ2V0LW5leHQnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX29wYWNpdHknO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3RyYW5zaXRpb25zJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL193b3Jkd3JhcCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fY2VudGVyZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2NvbG9yJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19lbGxpcHNpcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZm9udC1zaXplJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19ob3Zlcic7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fbWFwLWRlZXAtZ2V0JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19vYmplY3QtZml0JztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19zaGFkZSc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fdmlzdWFsbHloaWRkZW4nO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3otaW5kZXgnO1xuXG4vL0BpbXBvcnQgJ2NvcmUvdHlwb2dyYXBoeS9fZm9udHMnO1xuQGltcG9ydCAnY29yZS90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LW1peGlucyc7XG5cbkBpbXBvcnQgJ2NvcmUvZnVuY3Rpb25zL19ibG9nLW1heC13aWR0aCc7XG5cbkBpbXBvcnQgJ3BhcnRpYWxzL2ljb25mb250JztcbiIsIi8qLS0tLS0tLS0tLS0qL1xuLyogVmFyaWFibGVzXG4vKi0tLS0tLS0tLS0tKi9cblxuLy9HbG9iYWwgR3JpZCwgdmFyaWFibGVzXG4kZ2xvYmFsLWNvbmZpZzogKFxuXHR0aGVtZS1uYW1lOiAnc2pydycsXG5cdGJsb2NrLS13aWR0aDogMTAwdncsXG5cdHdpZHRoOiAxNjAwcHgsXG5cdG1heC13aWR0aDogMTYwMHB4LFxuXHRibG9nLW1heC13aWR0aDogMTIwMHB4LFxuXHRjb2x1bW5zOiAxMixcblx0Z3V0dGVyczogMTVweCxcblx0aHRtbC1mb250LXNpemU6IDEwcHgsXG5cdG1pbi1oZWFkZXItaGVpZ2h0OiA3NXB4LFxuKTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcblx0eHM6ICAwLFxuXHRzbTogIDU0NHB4LFxuXHRtZDogIDc2OHB4LFxuXHRsZzogIDk5MnB4LFxuXHR4bDogIDEyMDBweCxcblx0eGwyOiAxNDQwcHgsXG5cdHhsMzogMTYwMHB4LFxuKTtcblxuLy9Db2xvcnNcbiRjb2xvcnM6IChcblx0YmxhY2s6XHRcdFx0XHQjMjMyMzI1LFxuXHR3aGl0ZTpcdFx0XHRcdCNGRkZGRkYsXG5cdHVsdHJhbGlnaHQ6XHRcdFx0I2YyZjJmMixcblx0dHJhbnNwYXJlbnQ6XHRcdHRyYW5zcGFyZW50LFxuXG5cdHJlZDpcdFx0XHRcdCNjMjM3MjUsXG5cdGJsdWU6XHRcdFx0XHQjMTI5NDkwLFxuXHRsaWdodC1zdG9uZTpcdFx0I2VjZWJlNyxcblxuXHRncmF5LWRhcms6IzM5MzkzOSxcblxuXHQvLyBCRUxPVyBBUkUgT0xEIE5WQiBDT0xPUlNcblxuXHRibHVlLWRhcmtlc3Q6XHRcdCMxNjE3MTksXG5cdGJsdWUtZ3JheTpcdFx0XHQjMjEyNTI5LFxuXHRcblx0Ymx1ZS1saWdodDpcdFx0XHQjNDJDMEU4LFxuXHRibHVlLWJhcmVseTpcdFx0I0U4RUZGNixcblx0Ymx1ZS11bHRyYWxpZ2h0Olx0I0Y0RjhGQyxcblx0Z3JlZW46XHRcdFx0XHQjNDdBMjQ3LFxuXHRncmVlbi1saWdodDpcdFx0I0VERjZFNixcblx0b3JhbmdlOlx0XHRcdFx0I0Y4OEUxNCxcblx0b3JhbmdlLWxpZ2h0Olx0XHQjRDk5RTFFLFxuXHRncmF5LXVsdHJhbGlnaHQ6XHQjZjNmOGZjLFxuXHRncmF5LWxpZ2h0Olx0XHRcdCNCREM4RDUsXG5cdGdyYXk6XHRcdFx0XHQjM0U0ODUxLFxuXHRncmF5LW1lZGl1bTpcdFx0IzlBQTZCNCxcblx0cGVhY2g6XHRcdFx0XHQjRkZGOEU5LFxuXHR5ZWxsb3c6XHRcdFx0XHQjRUJDODFCLFxuXHR0cnVlLWJsYWNrOlx0XHRcdCMwMDAwMDAsXG4pO1xuXG4vLyBUeXBvZ3JhcGhpYyBJbXBvcnRzIGFuZCBWYXJpYWJsZXNcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUxhdG8mZmFtaWx5PU1vbnRzZXJyYXQ6aXRhbCx3Z2h0QDAsMTAwLi45MDA7MSwxMDAuLjkwMCZkaXNwbGF5PXN3YXAnKTtcblxuJGZvbnQtZmFtaWx5LXNlcmlmOlx0XHRcdCdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOlx0J01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuXG4kZm9udC1mYW1pbHktc2VyaWYtcmVndWxhcjpcdFx0XHQ0MDA7XG4kZm9udC1mYW1pbHktc2VyaWYtc2VtaWJvbGQ6XHRcdDYwMDtcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYtdGhpbjogICAgICAgMTAwO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYtZXh0cmFsaWdodDpcdDIwMDtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmLWxpZ2h0OiAgICAgIDMwMDtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmLXJlZ3VsYXI6XHQ0MDA7XG5cblxuLy9aLUluZGV4IE1hbmFnZW1lbnQgLS0gdXRpbGl6ZXMgU2FzcyBNYXBzXG4vL0Vhc2llc3Qgd2F5IHRvIHVzZSBpcyB2aWEgdGhlIG1peGluOiBAaW5jbHVkZSB6LWluZGV4KHplcm8pO1xuJHotaW5kZXg6IChcblx0aGVhdmVuXHRcdFx0XHRcdDpcdDk5OTksXG5cdHNlYXJjaFx0XHRcdFx0XHQ6XHQxMDAwLFxuXHRoZWFkZXJcdFx0XHRcdFx0Olx0NjAwLFxuXHRoYW1idXJnZXJcdFx0XHRcdDpcdDU1MCxcblx0c2l0ZS1tZW51XHRcdFx0XHQ6XHQ1MDAsXG5cdGZvb3Rlclx0XHRcdFx0XHQ6XHQ0MDAsXG5cdGFib3ZlZ3JvdW5kXHRcdFx0XHQ6XHQxMDAsXG5cdGdyYXNzXHRcdFx0XHRcdDpcdDIsXG5cdGdyb3VuZFx0XHRcdFx0XHQ6XHQxLFxuXHR6ZXJvXHRcdFx0XHRcdDpcdDAsXG5cdHVuZGVyZ3JvdW5kXHRcdFx0XHQ6XHQtMSxcblx0aGVsbFx0XHRcdFx0XHQ6XHQtOTk5OVxuKTtcblxuJGJveC1zaGFkb3c6IDVweCA1cHggMTZweCAtNnB4IHJnYmEoMCwgMCwgMCwgLjM1KTtcbiRib3JkZXItcmFkaXVzOiAgOHB4O1xuXG4kdHJhbnNpdGlvbnM6IChcblx0ZWFzZVx0XHRcdDogXHRlYXNlLFxuXHRsaW5lYXJcdFx0XHQ6IFx0bGluZWFyLFxuXHRlYXNlLWluXHRcdFx0OiBcdGVhc2UtaW4sXG5cdGVhc2Utb3V0XHRcdDogXHRlYXNlLW91dCxcblx0ZWFzZS1pbi1vdXRcdFx0OiBcdGVhc2UtaW4tb3V0LFxuXHRzdGVwLXN0YXJ0XHRcdDogXHRzdGVwLXN0YXJ0LFxuXHRzdGVwLWVuZFx0XHQ6IFx0c3RlcC1lbmQsXG5cblx0Ly8gU3BlY2lhbCBFZmZlY3RzXG5cdGJvdW5jZVx0XHRcdDpcdGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpLFxuXG5cdC8vIEN1YmljXG5cdGVhc2VJbkN1YmljXHRcdDpcdGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCksXG5cdGVhc2VPdXRDdWJpYyBcdDpcdGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCksXG5cdGVhc2VJbk91dEN1YmljXHQ6XHRjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLFxuXG5cdC8vIENpcmNcblx0ZWFzZUluQ2lyYyAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KSxcblx0ZWFzZU91dENpcmMgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKSxcblx0ZWFzZUluT3V0Q2lyY1x0Olx0Y3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKSxcblxuXHQvLyBFeHBvXG5cdGVhc2VJbkV4cG8gICBcdDpcdGN1YmljLWJlemllcigwLjk1MCwgMC4wNTAsIDAuNzk1LCAwLjAzNSksXG5cdGVhc2VPdXRFeHBvICBcdDpcdGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCksXG5cdGVhc2VJbk91dEV4cG9cdDpcdGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCksXG5cblx0Ly8gUXVhZFxuXHRlYXNlSW5RdWFkICAgICBcdDpcdGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCksXG5cdGVhc2VPdXRRdWFkICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKSxcblx0ZWFzZUluT3V0UXVhZCAgXHQ6XHRjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpLFxuXG5cdC8vIFF1YXJ0XG5cdGVhc2VJblF1YXJ0ICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKSxcblx0ZWFzZU91dFF1YXJ0ICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApLFxuXHRlYXNlSW5PdXRRdWFydCBcdDpcdGN1YmljLWJlemllcigwLjc3MCwgMC4wMDAsIDAuMTc1LCAxLjAwMCksXG5cblx0Ly8gUXVpbnRcblx0ZWFzZUluUXVpbnQgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApLFxuXHRlYXNlT3V0UXVpbnQgICBcdDpcdGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCksXG5cdGVhc2VJbk91dFF1aW50IFx0Olx0Y3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKSxcblxuXHQvLyBTaW5lXG5cdGVhc2VJblNpbmUgICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNDcwLCAwLjAwMCwgMC43NDUsIDAuNzE1KSxcblx0ZWFzZU91dFNpbmUgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4zOTAsIDAuNTc1LCAwLjU2NSwgMS4wMDApLFxuXHRlYXNlSW5PdXRTaW5lICBcdDpcdGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCksXG5cblx0Ly8gQmFja1xuXHRlYXNlSW5CYWNrICAgICBcdDpcdGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpLFxuXHRlYXNlT3V0QmFjayAgICBcdDpcdGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpLFxuXHRlYXNlSW5PdXRCYWNrICBcdDpcdGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApLFxuKTsiLCIvKioqKioqKioqL1xuLyogU2FzcyBGdW5jdGlvbnNcbi8qKioqKioqKiovXG5cbkBpbXBvcnQgJ19pcy1pbnQnO1xuQGltcG9ydCAnX2dsb2JhbC1jb25maWcnO1xuQGltcG9ydCAnX3JlbSc7XG5AaW1wb3J0ICdfc3RyaXAtdW5pdCc7XG5AaW1wb3J0ICdfYmxvZy1tYXgtd2lkdGgnOyIsIi8qKlxuICogRnVuY3Rpb24gZm9yIGNhbGxpbmcgdmFsdWVzIG91dCBvZiB0aGUgZ2xvYmFsIGNvbmZpZyBtYXBcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuIEBmdW5jdGlvbiBnbG9iYWwtY29uZmlnKCRuYW1lKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCAkbmFtZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaGFzIHB4IHVuaXRzLCBhbmQgaWYgc28sIGNvbnZlcnQgdG8gcmVtXG4gICAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICAgICAgQHJldHVybiByZW0oJHZhbHVlKTsgLy8gQ2FsbCB0aGUgcmVtKCkgZnVuY3Rpb24gdG8gY29udmVydCBweCB0byByZW1cbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gdGhlIHZhbHVlIGFzIGlzIGlmIGl0J3Mgbm90IGluIHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG59IiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKipcbiAqIHJlbSgpIGZ1bmN0aW9uIHRvIGNvbnZlcnQgcHggdG8gcmVtXG4gKiBVc2FnZTogZm9udC1zaXplKDE2cHgpO1xuICogRnVuY3Rpb24gcmV0dXJuczogMS42cmVtO1xuKi9cblxuQGZ1bmN0aW9uIHJlbSgkcHhWYWx1ZSkge1xuICAgICRiYXNlRm9udFNpemU6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGh0bWwtZm9udC1zaXplKTsgLy8gR2V0IHRoZSBiYXNlIGZvbnQgc2l6ZSBmcm9tIHRoZSBnbG9iYWwgY29uZmlnXG5cbiAgICAvLyBFbnN1cmUgdGhlIGlucHV0IGhhcyAncHgnIHVuaXRzIGFuZCBiYXNlIGZvbnQgc2l6ZSBleGlzdHNcbiAgICBAaWYgdW5pdCgkcHhWYWx1ZSkgPT0gJ3B4JyBhbmQgdHlwZS1vZigkYmFzZUZvbnRTaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGJ5IGRpdmlkaW5nIHRoZSBweCB2YWx1ZSBieSB0aGUgYmFzZSBmb250IHNpemVcbiAgICAgICAgQHJldHVybiBtYXRoLmRpdigkcHhWYWx1ZSwgJGJhc2VGb250U2l6ZSkgKiAxcmVtO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gcHggb3IgYmFzZSBmb250IHNpemUgaXMgaW52YWxpZCwgcmV0dXJuIHRoZSBvcmlnaW5hbCB2YWx1ZVxuICAgIEByZXR1cm4gJHB4VmFsdWU7XG59IiwiLyoqXG4gKiBNaXhpbiBmb3IgcmV0dXJuIHRoZSBkZWZpbmVkIG1heC13aWR0aCBmb3IgYmxvZyBlbGVtZW50c1xuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG5AZnVuY3Rpb24gYmxvZy1tYXgtd2lkdGgoKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgYmxvZy1tYXgtd2lkdGgpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogYmxvY2soKVxuICpcbiAqIERlZmluZXMgdGhlIGJhc2UgY29udGFpbmVyIGZvciBhIHBhZ2UgYmxvY2tcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuQG1peGluIGJsb2NrKCR3aWR0aDogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgYmxvY2stLXdpZHRoKSwgJGd1dHRlcnM6IGZhbHNlLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG5cdHBvc2l0aW9uOiAkcG9zaXRpb247XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6ICR3aWR0aDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdEBpZiAoJGd1dHRlcnMgPT0gdHJ1ZSkge1xuXHRcdEBpbmNsdWRlIGd1dHRlcnMoKTtcblx0fVxufSIsIi8qKlxuICogTWl4aW46IGJsb2NrKClcbiAqXG4gKiBDcmVhdGVzIGEgZnVsbC1icm93c2VyLXdpZHRoIGNvbnRhaW5lciB3aGVuIHlvdSBhcmUgaW5zaWRlIGEgbGltaXRlZC13aWR0aCBwYXJlbnQsIGVnLCBpbnNpZGUgb2YgQG1peGluIGNvbnRhaW5lcigpLlxuICogVGhpcyBpcyBzb21ld2hhdCB1bm5lY2Vzc2FyeSwgc2luY2UgYWxsIGNvbXBvbmVudHMgc3RhcnQgaW5zaWRlIGEgMTAwdncgYmxvY2suIEhvd2V2ZXIsIGl0IGNhbiBiZSBoZWxwZnVsIGlmIHlvdVxuICogbmVlZCB0byBjcmVhdGUgYSBmdWxsIHdpZHRoIGNvbXBvbmVudCB0aGF0IGlzIGluc2lkZSBhIC5jb250YWluZXIgcGFyZW50LlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG5AbWl4aW4gY29udGFpbmVyLWJyZWFrb3V0KCkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDB2dztcblx0bWF4LXdpZHRoOiAxMDB2dztcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IGNvbnRhaW5lcigpXG4gKlxuICogQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBwYWdlIGJsb2NrIHRoYXQgaXMgMTAwJSBvZiB0aGUgJGdsb2JhbC13aWR0aCBkZWZpbmVkIGluIHZhcmlhYmxlcy5zY3NzXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmRcbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG5AbWl4aW4gY29udGFpbmVyKFxuXHQkZmxleDogdHJ1ZSxcblx0JHBhZGRpbmc6IDAsXG5cdCRtYXJnaW46IG51bGwsXG5cdC8vIGNoYW5nZWQgZnJvbSB0cnVlIHRvIG51bGxcblx0JHdpZHRoOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCB3aWR0aCksXG5cdCRmbGV4LWRpcmVjdGlvbjogcm93LFxuXHQkbWF4LXdpZHRoOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCB3aWR0aClcblx0KSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogJG1heC13aWR0aDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0Ly8gRmxleCBoYW5kbGluZ1xuXHRAaWYgJGZsZXggPT0gdHJ1ZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogJGZsZXgtZGlyZWN0aW9uO1xuXHR9XG5cblx0Ly8gTWFyZ2luIGhhbmRsaW5nOiBub3cgc3VwcG9ydHMgcmVhbCBDU1MgdmFsdWVzXG5cdEBpZiAkbWFyZ2luICE9IG51bGwge1xuXHRcdG1hcmdpbjogJG1hcmdpbjtcblx0fVxuXG5cdC8vIFBhZGRpbmcgdmlhIGd1dHRlcnMgbWl4aW5cblx0QGlmICRwYWRkaW5nIHtcblx0XHRAaW5jbHVkZSBndXR0ZXJzKCRwYWRkaW5nKTtcblx0fVxufSIsIi8qKlxuICogR3JpZCBNaXhpbjogZ3V0dGVycygpXG4gKlxuICogQ3JlYXRlcyBsZWZ0L3JpZ2h0IGd1dHRlcnMgb24gYW4gZWxlbWVudC4gUHJpbWFyaWx5IHVzZWQgb24gc3BhbigpIGVsZW1lbnRzLCBidXQgY2FuIGJlIHV0aWxpemVkIGFueXdoZXJlLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG4gQGZ1bmN0aW9uIGd1dHRlcnMoJGZhY3RvcjogMSkge1xuXHQkZ3V0dGVyczogKG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGd1dHRlcnMpICogJGZhY3Rvcik7XG5cdEByZXR1cm4gcmVtKCRndXR0ZXJzKTtcbn1cblxuQG1peGluIGd1dHRlcnMoJGZhY3RvcjogMSkge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbShndXR0ZXJzKCRmYWN0b3IpKTtcblx0cGFkZGluZy1yaWdodDogcmVtKGd1dHRlcnMoJGZhY3RvcikpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogcHVsbCgpXG4gKlxuICogUHVsbHMgYW4gaXRlbSBsZWZ0IHVzaW5nIG5lZ2F0aXZlIG1hcmdpbnMsIGJhc2VkIG9uIDEyLWNvbHVtbiBncmlkXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbkBtaXhpbiBwdWxsKCRjb2x1bW5zOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGNvbnRhaW5lcjogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucykpIHtcblx0bWFyZ2luLWxlZnQ6IChzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKSAqIC0xKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IHB1c2goKVxuICpcbiAqIFB1c2hlcyBhbiBpdGVtIHJpZ2h0IHVzaW5nIHBvc2l0aXZlIG1hcmdpbnMsIGJhc2VkIG9uIDEyLWNvbHVtbiBncmlkXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG4gXG4gQG1peGluIHB1c2goJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSkge1xuXHRtYXJnaW4tbGVmdDogc3BhbigkY29sdW1ucywgJGNvbnRhaW5lcik7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBzcGFuKClcbiAqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIG9mIGEgZGVmaW5lZCAlIHdpZHRoLCBiYXNlZCBvbiBhIDEyIGNvbHVtbiBncmlkXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGZ1bmN0aW9uIHNwYW4oJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSkge1xuXHRAcmV0dXJuIHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRjb250YWluZXIpKTtcbn1cblxuQG1peGluIHNwYW4oJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGZsZXg6IHRydWUsICRndXR0ZXJzOiB0cnVlKSB7XG5cdHdpZHRoOiBzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKTtcblx0QGlmICgkZmxleCA9PSBmYWxzZSkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHR9XG5cdEBpZiAoJGd1dHRlcnMgPT0gdHJ1ZSkge1xuXHRcdEBpbmNsdWRlIGd1dHRlcnMoKTtcblx0fVxufVxuXG4uc3Bhbi0xIHtcblx0d2lkdGg6IHNwYW4oMSk7XG59XG4uc3Bhbi0yIHtcblx0d2lkdGg6IHNwYW4oMik7XG59XG4uc3Bhbi0zIHtcblx0d2lkdGg6IHNwYW4oMyk7XG59XG4uc3Bhbi00IHtcblx0d2lkdGg6IHNwYW4oNCk7XG59XG4uc3Bhbi01IHtcblx0d2lkdGg6IHNwYW4oNSk7XG59XG4uc3Bhbi02IHtcblx0d2lkdGg6IHNwYW4oNik7XG59XG4uc3Bhbi03IHtcblx0d2lkdGg6IHNwYW4oNyk7XG59XG4uc3Bhbi04IHtcblx0d2lkdGg6IHNwYW4oOCk7XG59XG4uc3Bhbi05IHtcblx0d2lkdGg6IHNwYW4oOSk7XG59XG4uc3Bhbi0xMCB7XG5cdHdpZHRoOiBzcGFuKDEwKTtcbn1cbi5zcGFuLTExIHtcblx0d2lkdGg6IHNwYW4oMTEpO1xufVxuLnNwYW4tMTIge1xuXHR3aWR0aDogc3BhbigxMik7XG59XG4iLCIvKipcbiAqIE1peGluIGZvciB3cml0aW5nIHN0eWxlcyB0aGF0IG9ubHkgZGlzcGxheSBpbiB0aGUgYmxvY2sgZWRpdG9yXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbiBAbWl4aW4gYmxvY2stZWRpdG9yKCkge1xuXHQuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCIvKipcbiAqIE1peGluIGZvciBkaXNwbGF5IGEgYnJpY2sgcHNldWR1byBlbGVtZW50LiBBIGJyaWNrIGlzIHRoZSBsaXR0bGUgaG9yaXpvbnRhbCBsaW5lIHVuZGVyIGhlYWRsaW5lcy5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cbiBcbiBAbWl4aW4gYnJpY2soJGNvbG9yOiBjb2xvcihwaW5rKSkge1xuXHRjb250ZW50OiAnJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDNweDtcblx0bWFyZ2luOiA1cHggYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gfSIsIi8qKlxuICogRnVuY3Rpb24gYW5kIE1peGluIGZvciBnZXR0aW5nIGNvbG9ycyBmcm9tIHRoZSAkY29sb3IgYXJyYXlcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBTSlJXXG4gKi9cblxuQGZ1bmN0aW9uIGNvbG9yKCRjb2xvciwgJG9wYWNpdHk6IDEpIHtcblx0QGlmICgkb3BhY2l0eSAhPSAxKSB7XG5cdEByZXR1cm4gcmdiYShtYXAtZ2V0KCRjb2xvcnMsICRjb2xvciksICRvcGFjaXR5KTtcblx0fSBAZWxzZSB7XG5cdEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAkY29sb3IpO1xuXHR9XG59XG5cbkBtaXhpbiBjb2xvcigkY29sb3IsICRwcm9wZXJ0eS1uYW1lOiBjb2xvciwgJG9wYWNpdHk6IDEpIHtcblx0QGlmICgkb3BhY2l0eSAhPSAxKSB7XG5cdCN7JHByb3BlcnR5X25hbWV9OiByZ2JhKGNvbG9yKCRjb2xvciksICRvcGFjaXR5KTtcblx0fSBAZWxzZSB7XG5cdCN7JHByb3BlcnR5X25hbWV9OiBjb2xvcigkY29sb3IpO1xuXHR9XG59IiwiLyoqXG4gKiBNaXhpbiBmb3IgYXBwbHlpbmcgYmFja2dyb3VuZCBzaGFkZSB0byBhbiBlbGVtZW50XG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgU0pSV1xuICovXG5cbiBAbWl4aW4gc2hhZGUoJHNoYWRlKSB7XG5cdFxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtdWx0cmFsaWdodCcpIHtcblx0XHRAaW5jbHVkZSBjb2xvcih1bHRyYWxpZ2h0LCBiYWNrZ3JvdW5kLWNvbG9yKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlLWdyYWRpZW50Jykge1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg2MGRlZywgY29sb3IoYmx1ZSwgMSkgNDAlLCBjb2xvcihibHVlLWRhcmssIDEpIDYwJSk7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtcHVycGxlLWdyYWRpZW50Jykge1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMzBkZWcsIGNvbG9yKGJsdWUtZGFyaywgMSkgNDAlLCBjb2xvcihwdXJwbGUsIDEpIDYwJSk7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtYmx1ZScpIHtcblx0XHRiYWNrZ3JvdW5kOiBjb2xvcihibHVlLWRhcmspO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXB1cnBsZScpIHtcblx0XHRiYWNrZ3JvdW5kOiBjb2xvcihwdXJwbGUpO1xuXHR9XG4gfVxuXG4gQG1peGluIHNoYWRlLXRleHQoJHNoYWRlKSB7XG5cdFxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtdWx0cmFsaWdodCcpIHtcblx0XHRjb2xvcjogY29sb3IoYmxhY2spO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUtZ3JhZGllbnQnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKHdoaXRlKTtcblx0fVxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtdGV4dC1kYXJrJykge1xuXHRcdGNvbG9yOiBjb2xvcihibGFjayk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXRleHQtbGlnaHQnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKHdoaXRlKTtcblx0fVxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtYmx1ZScpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1wdXJwbGUnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKHdoaXRlKTtcblx0fVxuIH1cblxuIEBtaXhpbiBzaGFkZS1jaGlsZCgkc2hhZGU6IG51bGwpIHtcblx0QGlmICgkc2hhZGUgIT0gbnVsbCkge1xuXHRcdC5zaGFkZS4jeyRzaGFkZX0gJiB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbiB9IiwiLyoqXG4gKiBNaXhpbjogei1pbmRleCgkbGV2ZWwsICRpbXBvcnRhbnQpXG4gKlxuICogVXNlcyB0aGUgU2Fzcy1NYXAgZGVmaW5lZCBpbiBwYXJ0aWFscy92YXJpYWJsZXMuc2NzcyB0byBsb2FkIGEgbmFtZWQgei1pbmRleCBsZXZlbC4gSWYgYW4gaW50ZWdlciBpcyBwYXNzZWQsIHRoYXQgaW50ZWdlciBpcyB1c2VkIGFzIHRoZSB6LWluZGV4IGxldmVsLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIFNKUldcbiAqL1xuXG5AbWl4aW4gei1pbmRleCgkbGV2ZWw6IGdyb3VuZCwgJGltcG9ydGFudDogJ251bGwnKSB7XG5cdCR6aW5kZXg6IHN0cmluZztcblxuXHRAaWYgaXMtaW50KCRsZXZlbCkge1xuXHRcdCR6aW5kZXg6ICRsZXZlbDtcblx0fSBAZWxzZSB7XG5cdFx0JHppbmRleDogbWFwLWdldCgkei1pbmRleCwgJGxldmVsKTtcblx0fVxuXHRAaWYgKCRpbXBvcnRhbnQgPT0gJ2ltcG9ydGFudCcpXG5cdHtcblx0XHR6LWluZGV4OiAkemluZGV4ICFpbXBvcnRhbnQ7XG5cdH1cblx0QGVsc2Uge1xuXHRcdHotaW5kZXg6ICR6aW5kZXg7XG5cdH1cbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJpY29uZm9udFwiO1xuICAgIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuZW90P3BsMDZ0Jyk7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC5lb3Q/cGwwNnQjaWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQud29mZjI/cGwwNnQnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC53b2ZmP3BsMDZ0JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC50dGY/cGwwNnQnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC5zdmc/cGwwNnQjaWNvbmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4kZm9udC1pY29uZm9udDpcdFwiaWNvbmZvbnRcIjtcblxuJGljb24tYWNjb3VudDogXCJcXEVBMDFcIjtcbiRpY29uLWFycm93LWRvd24tbG9uZzogXCJcXEVBMDJcIjtcbiRpY29uLWFycm93LWRvd246IFwiXFxFQTAzXCI7XG4kaWNvbi1hcnJvdy1sZWZ0LWxvbmc6IFwiXFxFQTA0XCI7XG4kaWNvbi1hcnJvdy1sZWZ0OiBcIlxcRUEwNVwiO1xuJGljb24tYXJyb3ctcmlnaHQtbG9uZzogXCJcXEVBMDZcIjtcbiRpY29uLWFycm93LXJpZ2h0OiBcIlxcRUEwN1wiO1xuJGljb24tYXJyb3ctdXAtbG9uZzogXCJcXEVBMDhcIjtcbiRpY29uLWFycm93LXVwOiBcIlxcRUEwOVwiO1xuJGljb24tYmVsbDogXCJcXEVBMEFcIjtcbiRpY29uLWJyb3dzZXI6IFwiXFxFQTBCXCI7XG4kaWNvbi1jYWxlbmRhcjogXCJcXEVBMENcIjtcbiRpY29uLWNhcmV0LWRvd246IFwiXFxFQTBEXCI7XG4kaWNvbi1jYXJldC1sZWZ0OiBcIlxcRUEwRVwiO1xuJGljb24tY2FyZXQtcmlnaHQ6IFwiXFxFQTBGXCI7XG4kaWNvbi1jYXJldC11cDogXCJcXEVBMTBcIjtcbiRpY29uLWNoYXQ6IFwiXFxFQTExXCI7XG4kaWNvbi1jaGVjazogXCJcXEVBMTJcIjtcbiRpY29uLWNoZWNrYm94LWVtcHR5OiBcIlxcRUExM1wiO1xuJGljb24tY2hlY2tib3g6IFwiXFxFQTE0XCI7XG4kaWNvbi1jaGV2cm9uLWRvd246IFwiXFxFQTE1XCI7XG4kaWNvbi1jaGV2cm9uLWxlZnQ6IFwiXFxFQTE2XCI7XG4kaWNvbi1jaGV2cm9uLXJpZ2h0OiBcIlxcRUExN1wiO1xuJGljb24tY2hldnJvbi11cDogXCJcXEVBMThcIjtcbiRpY29uLWNpcmNsZTogXCJcXEVBMTlcIjtcbiRpY29uLWNsb2NrOiBcIlxcRUExQVwiO1xuJGljb24tY2xvc2Utd2hpdGU6IFwiXFxFQTFCXCI7XG4kaWNvbi1jbG9zZTogXCJcXEVBMUNcIjtcbiRpY29uLWNvbXBvc2U6IFwiXFxFQTFEXCI7XG4kaWNvbi1kb2N1bWVudDogXCJcXEVBMUVcIjtcbiRpY29uLWRvd25sb2FkOiBcIlxcRUExRlwiO1xuJGljb24tZW1haWwtYWx0OiBcIlxcRUEyMFwiO1xuJGljb24tZW1haWw6IFwiXFxFQTIxXCI7XG4kaWNvbi1mYWNlYm9vazogXCJcXEVBMjJcIjtcbiRpY29uLWhvbWU6IFwiXFxFQTIzXCI7XG4kaWNvbi1pbmZvLWFsZXJ0OiBcIlxcRUEyNFwiO1xuJGljb24taW5mbzogXCJcXEVBMjVcIjtcbiRpY29uLWluc3RhZ3JhbTogXCJcXEVBMjZcIjtcbiRpY29uLWxlYXJuLWFsZXJ0OiBcIlxcRUEyN1wiO1xuJGljb24tbGlnaHRidWxiOiBcIlxcRUEyOFwiO1xuJGljb24tbGlua2VkaW46IFwiXFxFQTI5XCI7XG4kaWNvbi1sb2FuOiBcIlxcRUEyQVwiO1xuJGljb24tbG9jYXRpb246IFwiXFxFQTJCXCI7XG4kaWNvbi1sb2NrOiBcIlxcRUEyQ1wiO1xuJGljb24tbWlkY29hc3Q6IFwiXFxFQTJEXCI7XG4kaWNvbi1taW51czogXCJcXEVBMkVcIjtcbiRpY29uLXBlcnNvbjogXCJcXEVBMkZcIjtcbiRpY29uLXBob25lOiBcIlxcRUEzMFwiO1xuJGljb24tcGludGVyZXN0OiBcIlxcRUEzMVwiO1xuJGljb24tcGxheS1jaXJjbGU6IFwiXFxFQTMyXCI7XG4kaWNvbi1wbGF5OiBcIlxcRUEzM1wiO1xuJGljb24tcGx1czogXCJcXEVBMzRcIjtcbiRpY29uLXF1b3RlOiBcIlxcRUEzNVwiO1xuJGljb24tcmVzZXQ6IFwiXFxFQTM2XCI7XG4kaWNvbi1zY3JvbGwtZG93bjogXCJcXEVBMzdcIjtcbiRpY29uLXNlYXJjaDogXCJcXEVBMzhcIjtcbiRpY29uLXNuYXBjaGF0OiBcIlxcRUEzOVwiO1xuJGljb24tc3Rhci1oYWxmOiBcIlxcRUEzQVwiO1xuJGljb24tc3RhcjogXCJcXEVBM0JcIjtcbiRpY29uLXRocmVlLWRvdHM6IFwiXFxFQTNDXCI7XG4kaWNvbi10aWt0b2s6IFwiXFxFQTNEXCI7XG4kaWNvbi10d2l0dGVyOiBcIlxcRUEzRVwiO1xuJGljb24tdmlkZW86IFwiXFxFQTNGXCI7XG4kaWNvbi12aW1lbzogXCJcXEVBNDBcIjtcbiRpY29uLXdlYnNpdGU6IFwiXFxFQTQxXCI7XG4kaWNvbi15ZWxwOiBcIlxcRUE0MlwiO1xuJGljb24teW91dHViZTogXCJcXEVBNDNcIjtcblxuXG5cbi5pY29uLWFjY291bnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFjY291bnQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctZG93bi1sb25nOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1kb3duLWxvbmcsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctZG93biwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1sZWZ0LWxvbmc6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWxlZnQtbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1sZWZ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1sZWZ0LCAxNXB4KTtcbn1cbi5pY29uLWFycm93LXJpZ2h0LWxvbmc6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LXJpZ2h0LWxvbmcsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LXJpZ2h0LCAxNXB4KTtcbn1cbi5pY29uLWFycm93LXVwLWxvbmc6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LXVwLWxvbmcsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LXVwLCAxNXB4KTtcbn1cbi5pY29uLWJlbGw6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWJlbGwsIDE1cHgpO1xufVxuLmljb24tYnJvd3Nlcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYnJvd3NlciwgMTVweCk7XG59XG4uaWNvbi1jYWxlbmRhcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FsZW5kYXIsIDE1cHgpO1xufVxuLmljb24tY2FyZXQtZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtZG93biwgMTVweCk7XG59XG4uaWNvbi1jYXJldC1sZWZ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1sZWZ0LCAxNXB4KTtcbn1cbi5pY29uLWNhcmV0LXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1jYXJldC11cDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtdXAsIDE1cHgpO1xufVxuLmljb24tY2hhdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hhdCwgMTVweCk7XG59XG4uaWNvbi1jaGVjazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hlY2ssIDE1cHgpO1xufVxuLmljb24tY2hlY2tib3gtZW1wdHk6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZWNrYm94LWVtcHR5LCAxNXB4KTtcbn1cbi5pY29uLWNoZWNrYm94OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGVja2JveCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tZG93biwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLWxlZnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tbGVmdCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGV2cm9uLXJpZ2h0LCAxNXB4KTtcbn1cbi5pY29uLWNoZXZyb24tdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tdXAsIDE1cHgpO1xufVxuLmljb24tY2lyY2xlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaXJjbGUsIDE1cHgpO1xufVxuLmljb24tY2xvY2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNsb2NrLCAxNXB4KTtcbn1cbi5pY29uLWNsb3NlLXdoaXRlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jbG9zZS13aGl0ZSwgMTVweCk7XG59XG4uaWNvbi1jbG9zZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2xvc2UsIDE1cHgpO1xufVxuLmljb24tY29tcG9zZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY29tcG9zZSwgMTVweCk7XG59XG4uaWNvbi1kb2N1bWVudDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZG9jdW1lbnQsIDE1cHgpO1xufVxuLmljb24tZG93bmxvYWQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWRvd25sb2FkLCAxNXB4KTtcbn1cbi5pY29uLWVtYWlsLWFsdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZW1haWwtYWx0LCAxNXB4KTtcbn1cbi5pY29uLWVtYWlsOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1lbWFpbCwgMTVweCk7XG59XG4uaWNvbi1mYWNlYm9vazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZmFjZWJvb2ssIDE1cHgpO1xufVxuLmljb24taG9tZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taG9tZSwgMTVweCk7XG59XG4uaWNvbi1pbmZvLWFsZXJ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbmZvLWFsZXJ0LCAxNXB4KTtcbn1cbi5pY29uLWluZm86OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWluZm8sIDE1cHgpO1xufVxuLmljb24taW5zdGFncmFtOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbnN0YWdyYW0sIDE1cHgpO1xufVxuLmljb24tbGVhcm4tYWxlcnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWxlYXJuLWFsZXJ0LCAxNXB4KTtcbn1cbi5pY29uLWxpZ2h0YnVsYjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbGlnaHRidWxiLCAxNXB4KTtcbn1cbi5pY29uLWxpbmtlZGluOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1saW5rZWRpbiwgMTVweCk7XG59XG4uaWNvbi1sb2FuOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sb2FuLCAxNXB4KTtcbn1cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sb2NhdGlvbiwgMTVweCk7XG59XG4uaWNvbi1sb2NrOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sb2NrLCAxNXB4KTtcbn1cbi5pY29uLW1pZGNvYXN0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1taWRjb2FzdCwgMTVweCk7XG59XG4uaWNvbi1taW51czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbWludXMsIDE1cHgpO1xufVxuLmljb24tcGVyc29uOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wZXJzb24sIDE1cHgpO1xufVxuLmljb24tcGhvbmU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBob25lLCAxNXB4KTtcbn1cbi5pY29uLXBpbnRlcmVzdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGludGVyZXN0LCAxNXB4KTtcbn1cbi5pY29uLXBsYXktY2lyY2xlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbGF5LWNpcmNsZSwgMTVweCk7XG59XG4uaWNvbi1wbGF5OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbGF5LCAxNXB4KTtcbn1cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBsdXMsIDE1cHgpO1xufVxuLmljb24tcXVvdGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXF1b3RlLCAxNXB4KTtcbn1cbi5pY29uLXJlc2V0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1yZXNldCwgMTVweCk7XG59XG4uaWNvbi1zY3JvbGwtZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc2Nyb2xsLWRvd24sIDE1cHgpO1xufVxuLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zZWFyY2gsIDE1cHgpO1xufVxuLmljb24tc25hcGNoYXQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXNuYXBjaGF0LCAxNXB4KTtcbn1cbi5pY29uLXN0YXItaGFsZjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc3Rhci1oYWxmLCAxNXB4KTtcbn1cbi5pY29uLXN0YXI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXN0YXIsIDE1cHgpO1xufVxuLmljb24tdGhyZWUtZG90czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdGhyZWUtZG90cywgMTVweCk7XG59XG4uaWNvbi10aWt0b2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXRpa3RvaywgMTVweCk7XG59XG4uaWNvbi10d2l0dGVyOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi10d2l0dGVyLCAxNXB4KTtcbn1cbi5pY29uLXZpZGVvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi12aWRlbywgMTVweCk7XG59XG4uaWNvbi12aW1lbzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdmltZW8sIDE1cHgpO1xufVxuLmljb24td2Vic2l0ZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24td2Vic2l0ZSwgMTVweCk7XG59XG4uaWNvbi15ZWxwOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi15ZWxwLCAxNXB4KTtcbn1cbi5pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXlvdXR1YmUsIDE1cHgpO1xufSIsIkBmdW5jdGlvbiB1bmljb2RlKCRzdHIpIHtcblx0QHJldHVybiB1bnF1b3RlKFwiXFxcIlwiKSArICRzdHIgKyB1bnF1b3RlKFwiXFxcIlwiKTtcbiAgfVxuXG4vL0ljb25mb250XG5AbWl4aW4gaWNvbmZvbnQoJGNvbnRlbnQ6IFwiIFwiLCAkZm9udC1zaXplOiBpbmhlcml0LCAkY29sb3I6IGluaGVyaXQgKSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1pY29uZm9udDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblx0Y29udGVudDogdW5pY29kZSgkY29udGVudCk7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblx0Y29sb3I6ICRjb2xvcjtcblx0XG5cdC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn0iLCIvL0N1c3RvbSBicmVha3BvaW50IG1peGluXG5AbWl4aW4gYnJlYWtwb2ludCgkYnJlYWtwb2ludDogJ3hzJywgJHF1ZXJ5OiAnbWluJywgJG1pbi13aWR0aDogTlVMTCwgJG1heC13aWR0aDogTlVMTCkge1xuXHRAaWYgKCgkbWluLXdpZHRoICE9IE5VTEwpIG9yICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0QGlmICgoJG1pbi13aWR0aCAhPSBOVUxMKSBhbmQgKCRtYXgtd2lkdGggPT0gTlVMTCkpIHtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXdpZHRoKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaWYgKCgkbWluLXdpZHRoID09IE5VTEwpIGFuZCAoJG1heC13aWR0aCAhPSBOVUxMKSkge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoKCRtaW4td2lkdGggIT0gTlVMTCkgYW5kICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1pbi13aWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHR9XG5cdEBlbHNlIHtcblx0XHRAaWYgKCRxdWVyeSA9PSAnbWluJykge1x0XHRcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpZiAoJHF1ZXJ5ID09ICdtYXgnKSB7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQtbmV4dCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC0gMSkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoJHF1ZXJ5ID09ICdvbmx5Jykge1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkgYW5kIChtYXgtd2lkdGg6IChtYXAtZ2V0LW5leHQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSAtIDEpKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSJdfQ== */
