/* ===================================================================================
 *
 * @project        midcoast_platform
 * @author         Caleb Zahnd <caleb@midcoast.io>
 * @build          Mon, May 5, 2025 3:09 AM CST
 * @release        880542b93499d1ed8674c4a7cb4a96857829a23a [Detached: 880542b93499d1ed8674c4a7cb4a96857829a23a]
 * @copyright      Copyright (c) 2025, Midcoast Collective
 *
 *  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=Bebas+Neue&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,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%;
}



.bottomline {
  position: relative;
  padding-bottom: 20px;
}
.bottomline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 45px;
  height: 3px;
  background-color: #0077FF;
}




@font-face {
  font-family: "iconfont";
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?t2q987");
  src: url("../../assets/media/fonts/iconfont/iconfont.eot?t2q987#iefix") format("eot"), url("../../assets/media/fonts/iconfont/iconfont.woff2?t2q987") format("woff2"), url("../../assets/media/fonts/iconfont/iconfont.woff?t2q987") format("woff"), url("../../assets/media/fonts/iconfont/iconfont.ttf?t2q987") format("truetype"), url("../../assets/media/fonts/iconfont/iconfont.svg?t2q987#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-right::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-arrow-up::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-bell::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-browser::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-calendar::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-down::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-left::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-right::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-caret-up::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-chat::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-check::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-empty::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-checkbox::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-down::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-left::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-right::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-chevron-up::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-circle::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-clock::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-white::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-close::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-compose::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-document::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-download::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-alt::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-email::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-facebook::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-focus::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-home::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-info-alert::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-info::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-instagram::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-learn-alert::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-lightbulb::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-linkedin::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-loan::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-location::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-lock::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-marksmedia::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-midcoast::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-minus::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-person::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-phone::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-pinterest::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-play-circle::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-play::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-plus::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-quote::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-reset::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-scroll-down::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-search::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-snapchat::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-star-half::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-star::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-three-dots::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-tiktok::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-twitter::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-video::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-vimeo::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;
}

.icon-website::before {
  font-family: "iconfont";
  speak: none;
  font-style: normal;
  font-weight: 100;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: "\ea44";
  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: "\ea45";
  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: "\ea46";
  font-size: 15px;
  color: inherit;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bl-cards {
  padding-top: 90px;
  background-color: #06172A;
}
.bl-cards .cards-container {
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 15px;
}
.bl-cards .cards-container.cards-align-left {
  justify-content: flex-start;
}
.bl-cards .cards-container.cards-align-center {
  justify-content: center;
}
.bl-cards .cards-container.cards-align-right {
  justify-content: flex-end;
}
.bl-cards .slick-track {
  display: flex !important;
}
.bl-cards .slick-slide {
  height: inherit !important;
}
.bl-cards .slick-slide > div {
  height: calc(100% - 15px);
}
.bl-cards .slick-slide > div > .card {
  height: 100%;
}
.bl-cards .card__wrapper {
  height: 100%;
}

@media (min-width: 992px) {
  .bl-cards.style-grid .cards-container .card {
    width: 33.3333333333%;
  }
  .bl-cards.style-grid .cards-container[data-cards-per-row="2"] .card {
    width: 50%;
  }
  .bl-cards.style-grid .cards-container[data-cards-per-row="3"] .card {
    width: 33.3333333333%;
  }
  .bl-cards.style-grid .cards-container[data-cards-per-row="4"] .card {
    width: 25%;
  }
  .bl-cards.style-grid .cards-container[data-cards-per-row="5"] .card {
    width: 20%;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNhcmRzL3NyYy9zY3NzL2JsLWNhcmRzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9ibG9ja3MvX2ltcG9ydC1kZXBlbmRlbmNpZXMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9mdW5jdGlvbnMvX2luaXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2Jsb2NrLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9ncmlkL19jb250YWluZXItYnJlYWtvdXQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fcHVsbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fcHVzaC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvZ3JpZC9fc3Bhbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYmxvY2stZWRpdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fYm90dG9tbGluZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2JyaWNrLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9jb3JlL21peGlucy9fc2hhZGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL196LWluZGV4LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi9zcmMvc2Nzcy9wYXJ0aWFscy9faWNvbmZvbnQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9zY3NzL2NvcmUvbWl4aW5zL19pY29uZm9udC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3Njc3MvY29yZS9taXhpbnMvX2JyZWFrcG9pbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQ1JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFDQTtBQUFBO0FBeURRO0FDMURSO0FBQ0E7QUFBQTtBQ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEwQkE7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FBRUQ7RUFDQzs7O0FDNUREO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNnQkE7RUFmSTtFQUNIOztBQUVHO0VBQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQUlzQjs7O0FDakJ4QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDQUE7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBOztBQThFSjtFQ2pGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBFa0M7RUN6RWxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdUVEO0VDcEZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENkUwQztFQzVFMUMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwRUQ7RUN2RkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnRnFDO0VDL0VyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZFRDtFQzFGQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1GMEM7RUNsRjFDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ0ZEO0VDN0ZDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc0ZxQztFQ3JGckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtRkQ7RUNoR0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5RjJDO0VDeEYzQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNGRDtFQ25HQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRGc0M7RUMzRnRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeUZEO0VDdEdDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK0Z3QztFQzlGeEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0RkQ7RUN6R0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrR3lDO0VDakd6QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtGRDtFQzVHQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFHbUM7RUNwR25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa0dEO0VDL0dDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd0crQjtFQ3ZHL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxR0Q7RUNsSEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QyR2tDO0VDMUdsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdHRDtFQ3JIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhHbUM7RUM3R25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMkdEO0VDeEhDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaUhxQztFQ2hIckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4R0Q7RUMzSEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvSHFDO0VDbkhyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlIRDtFQzlIQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVIc0M7RUN0SHRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb0hEO0VDaklDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMEhtQztFQ3pIbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1SEQ7RUNwSUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2SCtCO0VDNUgvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBIRDtFQ3ZJQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdJZ0M7RUMvSGhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENkhEO0VDMUlDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbUl5QztFQ2xJekMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnSUQ7RUM3SUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzSW1DO0VDckluQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1JRDtFQ2hKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlJdUM7RUN4SXZDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEc0lEO0VDbkpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENEl1QztFQzNJdkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR5SUQ7RUN0SkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QrSXdDO0VDOUl4QyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDRJRDtFQ3pKQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGtKcUM7RUNqSnJDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEK0lEO0VDNUpDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEcUppQztFQ3BKakMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURrSkQ7RUMvSkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R3SmdDO0VDdkpoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHFKRDtFQ2xLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDJKc0M7RUMxSnRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEd0pEO0VDcktDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOEpnQztFQzdKaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQySkQ7RUN4S0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RpS2tDO0VDaEtsQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDhKRDtFQzNLQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG9LbUM7RUNuS25DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEaUtEO0VDOUtDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEdUttQztFQ3RLbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURvS0Q7RUNqTEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QwS29DO0VDektwQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHVLRDtFQ3BMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDZLZ0M7RUM1S2hDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMEtEO0VDdkxDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEZ0xtQztFQy9LbkMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ2S0Q7RUMxTEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RtTGdDO0VDbExoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGdMRDtFQzdMQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHNMK0I7RUNyTC9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEbUxEO0VDaE1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEeUxxQztFQ3hMckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURzTEQ7RUNuTUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q0TCtCO0VDM0wvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHlMRDtFQ3RNQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRCtMb0M7RUM5THBDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENExEO0VDek1DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEa01zQztFQ2pNdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQrTEQ7RUM1TUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RxTW9DO0VDcE1wQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGtNRDtFQy9NQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHdNbUM7RUN2TW5DLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEcU1EO0VDbE5DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMk0rQjtFQzFNL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR3TUQ7RUNyTkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q4TW1DO0VDN01uQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDJNRDtFQ3hOQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGlOK0I7RUNoTi9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEOE1EO0VDM05DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEb05xQztFQ25OckMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURpTkQ7RUM5TkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R1Tm1DO0VDdE5uQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG9ORDtFQ2pPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDBOZ0M7RUN6TmhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEdU5EO0VDcE9DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdENk5pQztFQzVOakMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQwTkQ7RUN2T0MsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RnT2dDO0VDL05oQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDZORDtFQzFPQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRG1Pb0M7RUNsT3BDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEZ09EO0VDN09DLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEc09zQztFQ3JPdEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURtT0Q7RUNoUEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0R5TytCO0VDeE8vQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHNPRDtFQ25QQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDRPK0I7RUMzTy9CLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEeU9EO0VDdFBDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEK09nQztFQzlPaEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ0T0Q7RUN6UEMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RrUGdDO0VDalBoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRCtPRDtFQzVQQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHFQc0M7RUNwUHRDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEa1BEO0VDL1BDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEd1BpQztFQ3ZQakMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURxUEQ7RUNsUUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0QyUG1DO0VDMVBuQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRHdQRDtFQ3JRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRDhQb0M7RUM3UHBDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEMlBEO0VDeFFDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEaVErQjtFQ2hRL0IsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUQ4UEQ7RUMzUUMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RvUXFDO0VDblFyQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRGlRRDtFQzlRQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHVRaUM7RUN0UWpDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FEb1FEO0VDalJDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEMFFrQztFQ3pRbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QUR1UUQ7RUNwUkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0Q2UWdDO0VDNVFoQyxPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRDBRRDtFQ3ZSQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRGdSZ0M7RUMvUWhDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FENlFEO0VDMVJDLGFETWU7RUNMZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbVJrQztFQ2xSbEMsT0FWMkQ7QUFZM0Q7RUFDQTtFQUNBOzs7QURnUkQ7RUM3UkMsYURNZTtFQ0xmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0RzUitCO0VDclIvQixPQVYyRDtBQVkzRDtFQUNBO0VBQ0E7OztBRG1SRDtFQ2hTQyxhRE1lO0VDTGY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXRHlSa0M7RUN4UmxDLE9BVjJEO0FBWTNEO0VBQ0E7RUFDQTs7O0FsQlBEO0VBRUM7RVdNQTs7QVhGQTtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOztBQUVEO0VBQ0M7O0FBRUQ7RUFDQzs7QUFJRjtFQUNDOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFFQTtFQUNDOztBQU1GO0VBQ0M7OztBbUIzQkE7RW5Cb0NEO0lBQXlCOztFQUN6QjtJQUFpRDs7RUFDakQ7SUFBaUQ7O0VBQ2pEO0lBQWlEOztFQUNqRDtJQUFpRCIsImZpbGUiOiJjYXJkcy9zcmMvc2Nzcy9ibC1jYXJkcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJsb2NrOiBDYXJkc1xuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuLyoqIEltcG9ydCBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzICovXG5AaW1wb3J0ICdfaW1wb3J0LWRlcGVuZGVuY2llcy5zY3NzJztcblxuXG4uYmwtY2FyZHMge1xuXG5cdHBhZGRpbmctdG9wOiA5MHB4O1xuXG5cdEBpbmNsdWRlIGNvbG9yKGJsdWUtZGFyaywgYmFja2dyb3VuZC1jb2xvcik7XG5cblx0LmNhcmRzLWNvbnRhaW5lciB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDAgZ3V0dGVycygpO1xuXG5cdFx0Ji5jYXJkcy1hbGlnbi1sZWZ0IHtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHR9XG5cdFx0Ji5jYXJkcy1hbGlnbi1jZW50ZXIge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fVxuXHRcdCYuY2FyZHMtYWxpZ24tcmlnaHQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cdH1cblxuXHQuc2xpY2stdHJhY2sge1xuXHRcdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0fVxuXG5cdC5zbGljay1zbGlkZSB7XG5cdFx0aGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG5cblx0XHQmID4gZGl2IHtcblx0XHRcdGhlaWdodDogY2FsYygxMDAlIC0gZ3V0dGVycygpKTtcblxuXHRcdFx0JiA+IC5jYXJkIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jYXJkIHtcblx0XHQmX193cmFwcGVyIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuXG5cbi5ibC1jYXJkcy5zdHlsZS1ncmlkIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuXHRcdC5jYXJkcy1jb250YWluZXIgLmNhcmQgeyB3aWR0aDogc3Bhbig0KTsgfVxuXHRcdC5jYXJkcy1jb250YWluZXJbZGF0YS1jYXJkcy1wZXItcm93PVwiMlwiXSAuY2FyZCB7IHdpZHRoOiBzcGFuKDYpOyB9XG5cdFx0LmNhcmRzLWNvbnRhaW5lcltkYXRhLWNhcmRzLXBlci1yb3c9XCIzXCJdIC5jYXJkIHsgd2lkdGg6IHNwYW4oNCk7IH1cblx0XHQuY2FyZHMtY29udGFpbmVyW2RhdGEtY2FyZHMtcGVyLXJvdz1cIjRcIl0gLmNhcmQgeyB3aWR0aDogc3BhbigzKTsgfVxuXHRcdC5jYXJkcy1jb250YWluZXJbZGF0YS1jYXJkcy1wZXItcm93PVwiNVwiXSAuY2FyZCB7IHdpZHRoOiBzcGFuKDIuNCkgfVxuXHR9XG59IiwiLyoqXG4gKiBOZWNlc3NhcnkgZGVwZW5kZW5jaWVzIGZvciB0aGUgQmxvY2sgc2NzcyBzdHlsZXNoZWV0cy4gVGhpcyBmaWxlIGlzIGltcG9ydGVkIGludG8gZWFjaCBvZiB0aGUgYnVpbGRzIGZvciBCbG9jayBzY3NzLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuLy8gXG5AaW1wb3J0ICdjb3JlL192YXJpYWJsZXMnO1xuXG5AaW1wb3J0ICdjb3JlL2Z1bmN0aW9ucy9faW5pdCc7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2Jsb2NrJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX2NvbnRhaW5lci1icmVha291dCc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19jb250YWluZXInO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fZ3V0dGVycyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9ncmlkL19wdWxsJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL2dyaWQvX3B1c2gnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvZ3JpZC9fc3Bhbic7XG5cbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jb2xvci5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19ibG9jay1lZGl0b3Iuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYm90dG9tbGluZS5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19icmVha3BvaW50LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2JyaWNrLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2Jyb3dzZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fYnV0dG9ucy5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19jb3ZlcmVyLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2ZsdWlkLXR5cGUuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9faWNvbmZvbnQuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fbWFwLWdldC1uZXh0LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX29wYWNpdHkuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fdHJhbnNpdGlvbnMuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fd29yZHdyYXAuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fY2VudGVyZXIuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZWxsaXBzaXMuc2Nzcyc7XG5AaW1wb3J0ICdjb3JlL21peGlucy9fZm9udC1zaXplLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX2hvdmVyLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX21hcC1kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ2NvcmUvbWl4aW5zL19vYmplY3QtZml0LnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3NoYWRlLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3Zpc3VhbGx5aGlkZGVuLnNjc3MnO1xuQGltcG9ydCAnY29yZS9taXhpbnMvX3otaW5kZXguc2Nzcyc7XG5cbi8vQGltcG9ydCAnY29yZS90eXBvZ3JhcGh5L19mb250cyc7XG5AaW1wb3J0ICdjb3JlL3R5cG9ncmFwaHkvX3R5cG9ncmFwaHktbWl4aW5zLnNjc3MnO1xuXG5AaW1wb3J0ICdwYXJ0aWFscy9pY29uZm9udCc7IiwiLyotLS0tLS0tLS0tLSovXG4vKiBWYXJpYWJsZXNcbi8qLS0tLS0tLS0tLS0qL1xuXG4vLyBHbG9iYWwgR3JpZCwgdmFyaWFibGVzXG4kZ2xvYmFsLWNvbmZpZzpcdChcblx0dGhlbWUtbmFtZTpcdFx0J21pZGNvYXN0LXBsYXRmb3JtJyxcblx0YmxvY2stLXdpZHRoOlx0MTAwdncsXG5cdHdpZHRoOlx0XHRcdDE2MDBweCxcblx0bWF4LXdpZHRoOlx0XHQxNDQwcHgsXG5cdGNvbHVtbnM6XHRcdDEyLFxuXHRndXR0ZXJzOlx0XHQxNXB4LFxuKTtcblxuJGxvZ28taGVpZ2h0OiAoXG5cdHhzOiAgNDBweCxcblx0c206ICA2NXB4LFxuXHRtZDogIDY1cHgsXG5cdGxnOiAgNjVweCxcblx0eGw6ICA2NXB4LFxuXHR4bDI6IDY1cHgsXG5cdHhsMzogNjVweCxcbik7XG5cbiRuYXYtd2lkdGg6IChcblx0eHM6ICA5MHZ3LFxuXHRzbTogIDkwdncsXG5cdG1kOiAgNzB2dyxcblx0bGc6ICAzNXZ3LFxuXHR4bDogIDM1dncsXG5cdHhsMjogMzV2dyxcblx0eGwzOiAzNXZ3LFxuKTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcblx0eHM6ICAwLFxuXHRzbTogIDU0NHB4LFxuXHRtZDogIDc2OHB4LFxuXHRsZzogIDk5MnB4LFxuXHR4bDogIDEyMDBweCxcblx0eGwyOiAxNDQwcHgsXG5cdHhsMzogMTYwMHB4LFxuKTtcblxuLy8gQ29sb3JzXG4kY29sb3JzOiAoXG5cdHJlZDpcdFx0XHRcdCNjMjM3MjUsXG5cdGJsYWNrOlx0XHRcdFx0IzIzMjMyNSxcblx0d2hpdGU6XHRcdFx0XHQjRkZGRkZGLFxuXHRibHVlLWRhcms6XHRcdFx0IzA2MTcyQSxcblx0Ymx1ZTpcdFx0XHRcdCMwMDc3RkYsXG5cdGJsdWUtbWlkOlx0XHRcdCMwMDc3RkYsXG5cdGJsdWUtdWx0cmFsaWdodDpcdCNGM0Y5RkYsXG5cdG9mZi13aGl0ZTpcdFx0XHQjZjRmNGY0LFxuXHR0cmFuc3BhcmVudDpcdFx0dHJhbnNwYXJlbnQsXG4pO1xuXG4vLyBUeXBvZ3JhcGhpYyBJbXBvcnRzIGFuZCBWYXJpYWJsZXNcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUJlYmFzK05ldWUmZmFtaWx5PVBvcHBpbnM6aXRhbCx3Z2h0QDAsMTAwOzAsMjAwOzAsMzAwOzAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzAsOTAwOzEsMTAwOzEsMjAwOzEsMzAwOzEsNDAwOzEsNTAwOzEsNjAwOzEsNzAwOzEsODAwOzEsOTAwJmRpc3BsYXk9c3dhcCcpO1xuXG4kZm9udC1pY29uZm9udDpcdFx0XCJpY29uZm9udFwiO1xuXG4kZm9udC1ib2R5Olx0XHQnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4kZm9udC1oZWFkbGluZTpcdCdCZWJhcyBOZXVlJywgc2Fucy1zZXJpZjtcblxuJGZvbnQtYm9keS1saWdodDpcdFx0XHQzMDA7XG4kZm9udC1ib2R5LXJlZ3VsYXI6XHRcdFx0NDAwO1xuJGZvbnQtYm9keS1zZW1pYm9sZDpcdFx0NjAwO1xuXG4kZm9udC1oZWFkbGluZS1yZWd1bGFyOlx0XHQ0MDA7XG5cbi8vIFotSW5kZXggTWFuYWdlbWVudCAtLSB1dGlsaXplcyBTYXNzIE1hcHNcbi8vIEVhc2llc3Qgd2F5IHRvIHVzZSBpcyB2aWEgdGhlIG1peGluOiBAaW5jbHVkZSB6LWluZGV4KHplcm8pO1xuJHotaW5kZXg6IChcblx0aGVhdmVuXHRcdFx0XHRcdDpcdDk5OTksXG5cdHNlYXJjaFx0XHRcdFx0XHQ6XHQxMDAwLFxuXHRoZWFkZXJcdFx0XHRcdFx0Olx0NjAwLFxuXHRmb290ZXJcdFx0XHRcdFx0Olx0NDAwLFxuXHRtZW51LW92ZXJsYXlcdFx0XHQ6XHQzMDAsXG5cdG1lbnUtb3ZlcmxheS1zY3JpbVx0XHQ6XHQyMDAsXG5cdHNpdGUtb3ZlcmxheS1zY3JpbVx0XHQ6XHQxOTksXG5cdGhhbWJ1cmdlclx0XHRcdFx0Olx0MjAwLFxuXHRhYm92ZWdyb3VuZFx0XHRcdFx0Olx0MTAwLFxuXHRncmFzc1x0XHRcdFx0XHQ6XHQyLFxuXHRncm91bmRcdFx0XHRcdFx0Olx0MSxcblx0emVyb1x0XHRcdFx0XHQ6XHQwLFxuXHR1bmRlcmdyb3VuZFx0XHRcdFx0Olx0LTEsXG5cdGhlbGxcdFx0XHRcdFx0Olx0LTk5OTlcbik7XG5cbiRib3gtc2hhZG93OiA1cHggNXB4IDE2cHggLTZweCByZ2JhKDAsIDAsIDAsIC4zNSk7XG4kYm9yZGVyLXJhZGl1czogIDBweDtcblxuJHRyYW5zaXRpb25zOiAoXG5cdGVhc2VcdFx0XHQ6IFx0ZWFzZSxcblx0bGluZWFyXHRcdFx0OiBcdGxpbmVhcixcblx0ZWFzZS1pblx0XHRcdDogXHRlYXNlLWluLFxuXHRlYXNlLW91dFx0XHQ6IFx0ZWFzZS1vdXQsXG5cdGVhc2UtaW4tb3V0XHRcdDogXHRlYXNlLWluLW91dCxcblx0c3RlcC1zdGFydFx0XHQ6IFx0c3RlcC1zdGFydCxcblx0c3RlcC1lbmRcdFx0OiBcdHN0ZXAtZW5kLFxuXG5cdC8vIFNwZWNpYWwgRWZmZWN0c1xuXHRib3VuY2VcdFx0XHQ6XHRjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KSxcblxuXHQvLyBDdWJpY1xuXHRlYXNlSW5DdWJpY1x0XHQ6XHRjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApLFxuXHRlYXNlT3V0Q3ViaWMgXHQ6XHRjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApLFxuXHRlYXNlSW5PdXRDdWJpY1x0Olx0Y3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSxcblxuXHQvLyBDaXJjXG5cdGVhc2VJbkNpcmMgICBcdDpcdGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSksXG5cdGVhc2VPdXRDaXJjICBcdDpcdGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCksXG5cdGVhc2VJbk91dENpcmNcdDpcdGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUwLCAwLjg2MCksXG5cblx0Ly8gRXhwb1xuXHRlYXNlSW5FeHBvICAgXHQ6XHRjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpLFxuXHRlYXNlT3V0RXhwbyAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApLFxuXHRlYXNlSW5PdXRFeHBvXHQ6XHRjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApLFxuXG5cdC8vIFF1YWRcblx0ZWFzZUluUXVhZCAgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC41NTAsIDAuMDg1LCAwLjY4MCwgMC41MzApLFxuXHRlYXNlT3V0UXVhZCAgICBcdDpcdGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCksXG5cdGVhc2VJbk91dFF1YWQgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KSxcblxuXHQvLyBRdWFydFxuXHRlYXNlSW5RdWFydCAgICBcdDpcdGN1YmljLWJlemllcigwLjg5NSwgMC4wMzAsIDAuNjg1LCAwLjIyMCksXG5cdGVhc2VPdXRRdWFydCAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKSxcblx0ZWFzZUluT3V0UXVhcnQgXHQ6XHRjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApLFxuXG5cdC8vIFF1aW50XG5cdGVhc2VJblF1aW50ICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKSxcblx0ZWFzZU91dFF1aW50ICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApLFxuXHRlYXNlSW5PdXRRdWludCBcdDpcdGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCksXG5cblx0Ly8gU2luZVxuXHRlYXNlSW5TaW5lICAgICBcdDpcdGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSksXG5cdGVhc2VPdXRTaW5lICAgIFx0Olx0Y3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKSxcblx0ZWFzZUluT3V0U2luZSAgXHQ6XHRjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApLFxuXG5cdC8vIEJhY2tcblx0ZWFzZUluQmFjayAgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KSxcblx0ZWFzZU91dEJhY2sgICAgXHQ6XHRjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KSxcblx0ZWFzZUluT3V0QmFjayAgXHQ6XHRjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKSxcbik7IiwiLyoqKioqKioqKi9cbi8qIFNhc3MgRnVuY3Rpb25zXG4vKioqKioqKioqL1xuXG5AaW1wb3J0ICdfaXMtaW50LnNjc3MnOyIsIi8qKlxuICogR3JpZCBNaXhpbjogYmxvY2soKVxuICpcbiAqIERlZmluZXMgdGhlIGJhc2UgY29udGFpbmVyIGZvciBhIHBhZ2UgYmxvY2tcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBtaXhpbiBibG9jaygkd2lkdGg6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGJsb2NrLS13aWR0aCksICRndXR0ZXJzOiBmYWxzZSwgJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuXHRwb3NpdGlvbjogJHBvc2l0aW9uO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAkd2lkdGg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRAaWYgKCRndXR0ZXJzID09IHRydWUpIHtcblx0XHRAaW5jbHVkZSBndXR0ZXJzKCk7XG5cdH1cblx0QGluY2x1ZGUgei1pbmRleCh6ZXJvKTtcbn0iLCIvKipcbiAqIE1peGluOiBibG9jaygpXG4gKlxuICogQ3JlYXRlcyBhIGZ1bGwtYnJvd3Nlci13aWR0aCBjb250YWluZXIgd2hlbiB5b3UgYXJlIGluc2lkZSBhIGxpbWl0ZWQtd2lkdGggcGFyZW50LCBlZywgaW5zaWRlIG9mIEBtaXhpbiBjb250YWluZXIoKS5cbiAqIFRoaXMgaXMgc29tZXdoYXQgdW5uZWNlc3NhcnksIHNpbmNlIGFsbCBjb21wb25lbnRzIHN0YXJ0IGluc2lkZSBhIDEwMHZ3IGJsb2NrLiBIb3dldmVyLCBpdCBjYW4gYmUgaGVscGZ1bCBpZiB5b3VcbiAqIG5lZWQgdG8gY3JlYXRlIGEgZnVsbCB3aWR0aCBjb21wb25lbnQgdGhhdCBpcyBpbnNpZGUgYSAuY29udGFpbmVyIHBhcmVudC5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkBtaXhpbiBjb250YWluZXItYnJlYWtvdXQoKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMHZ3O1xuXHRtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogY29udGFpbmVyKClcbiAqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIHBhZ2UgYmxvY2sgdGhhdCBpcyAxMDAlIG9mIHRoZSAkZ2xvYmFsLXdpZHRoIGRlZmluZWQgaW4gdmFyaWFibGVzLnNjc3NcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbiBAbWl4aW4gY29udGFpbmVyKCRmbGV4OiB0cnVlLCAkcGFkZGluZzogMCwgJG1hcmdpbjogdHJ1ZSwgJHdpZHRoOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCB3aWR0aCksICRmbGV4LWRpcmVjdGlvbjogcm93LCAkbWF4LXdpZHRoOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCB3aWR0aCkpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRAaWYgKCRmbGV4ID09IHRydWUpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiAkZmxleC1kaXJlY3Rpb247XG5cdH1cblx0QGlmICgkbWFyZ2luID09IHRydWUpIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxuXHRAaWYgKCRwYWRkaW5nKSB7XG5cdFx0QGluY2x1ZGUgZ3V0dGVycygkcGFkZGluZyk7XG5cdH1cblx0Ly9UaGlzIGlzIGZvciB0aGUgQ2hyb21lIDEyLWNvbHVtbiBncmlkIGV4dGVuc2lvbi5cblx0I2Jvb3RzdHJhcC1ncmlkLWZyYW1lLWpoYnNkb3Z1ICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmx1aWQoKSB7XG5cdEBpbmNsdWRlIGNvbnRhaW5lcigkbWF4LXdpZHRoOiAxMDAlKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IGd1dHRlcnMoKVxuICpcbiAqIENyZWF0ZXMgbGVmdC9yaWdodCBndXR0ZXJzIG9uIGFuIGVsZW1lbnQuIFByaW1hcmlseSB1c2VkIG9uIHNwYW4oKSBlbGVtZW50cywgYnV0IGNhbiBiZSB1dGlsaXplZCBhbnl3aGVyZS5cbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbiBAZnVuY3Rpb24gZ3V0dGVycygkZmFjdG9yOiAxKSB7XG5cdCRndXR0ZXJzOiAobWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgZ3V0dGVycykgKiAkZmFjdG9yKTtcblx0QHJldHVybiAkZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGJ1dHRlcnMoJGZhY3RvcjogMSkge1xuXHQkZ3V0dGVyczogKG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGd1dHRlcnMpICogJGZhY3Rvcik7XG5cdEByZXR1cm4gJGd1dHRlcnM7XG59XG5cbkBtaXhpbiBndXR0ZXJzKCRmYWN0b3I6IDEpIHtcblx0cGFkZGluZy1sZWZ0OiBndXR0ZXJzKCRmYWN0b3IpO1xuXHRwYWRkaW5nLXJpZ2h0OiBndXR0ZXJzKCRmYWN0b3IpO1xufSIsIi8qKlxuICogR3JpZCBNaXhpbjogcHVsbCgpXG4gKlxuICogUHVsbHMgYW4gaXRlbSBsZWZ0IHVzaW5nIG5lZ2F0aXZlIG1hcmdpbnMsIGJhc2VkIG9uIDEyLWNvbHVtbiBncmlkXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG5AbWl4aW4gcHVsbCgkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpKSB7XG5cdG1hcmdpbi1sZWZ0OiAoc3BhbigkY29sdW1ucywgJGNvbnRhaW5lcikgKiAtMSk7XG59IiwiLyoqXG4gKiBHcmlkIE1peGluOiBwdXNoKClcbiAqXG4gKiBQdXNoZXMgYW4gaXRlbSByaWdodCB1c2luZyBwb3NpdGl2ZSBtYXJnaW5zLCBiYXNlZCBvbiAxMi1jb2x1bW4gZ3JpZFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cbiBcbiBAbWl4aW4gcHVzaCgkY29sdW1uczogbWFwLWdldCgkZ2xvYmFsLWNvbmZpZywgY29sdW1ucyksICRjb250YWluZXI6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpKSB7XG5cdG1hcmdpbi1sZWZ0OiBzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKTtcbn0iLCIvKipcbiAqIEdyaWQgTWl4aW46IHNwYW4oKVxuICpcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgb2YgYSBkZWZpbmVkICUgd2lkdGgsIGJhc2VkIG9uIGEgMTIgY29sdW1uIGdyaWRcbiAqXG4gKiBAYXV0aG9yICBDYWxlYiBaYWhuZCA8Y2FsZWJAbWlkY29hc3QuaW8+XG4gKiBAcGFja2FnZSBNaWRjb2FzdCBQbGF0Zm9ybVxuICogQHNpbmNlIDEuMFxuICovXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGZ1bmN0aW9uIHNwYW4oJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSkge1xuXHRAcmV0dXJuIHBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbnMsICRjb250YWluZXIpKTtcbn1cblxuQG1peGluIHNwYW4oJGNvbHVtbnM6IG1hcC1nZXQoJGdsb2JhbC1jb25maWcsIGNvbHVtbnMpLCAkY29udGFpbmVyOiBtYXAtZ2V0KCRnbG9iYWwtY29uZmlnLCBjb2x1bW5zKSwgJGZsZXg6IHRydWUsICRndXR0ZXJzOiB0cnVlKSB7XG5cdHdpZHRoOiBzcGFuKCRjb2x1bW5zLCAkY29udGFpbmVyKTtcblx0QGlmICgkZmxleCA9PSBmYWxzZSkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHR9XG5cdEBpZiAoJGd1dHRlcnMgPT0gdHJ1ZSkge1xuXHRcdEBpbmNsdWRlIGd1dHRlcnMoKTtcblx0fVxufVxuXG4uc3Bhbi0xIHtcblx0d2lkdGg6IHNwYW4oMSk7XG59XG4uc3Bhbi0yIHtcblx0d2lkdGg6IHNwYW4oMik7XG59XG4uc3Bhbi0zIHtcblx0d2lkdGg6IHNwYW4oMyk7XG59XG4uc3Bhbi00IHtcblx0d2lkdGg6IHNwYW4oNCk7XG59XG4uc3Bhbi01IHtcblx0d2lkdGg6IHNwYW4oNSk7XG59XG4uc3Bhbi02IHtcblx0d2lkdGg6IHNwYW4oNik7XG59XG4uc3Bhbi03IHtcblx0d2lkdGg6IHNwYW4oNyk7XG59XG4uc3Bhbi04IHtcblx0d2lkdGg6IHNwYW4oOCk7XG59XG4uc3Bhbi05IHtcblx0d2lkdGg6IHNwYW4oOSk7XG59XG4uc3Bhbi0xMCB7XG5cdHdpZHRoOiBzcGFuKDEwKTtcbn1cbi5zcGFuLTExIHtcblx0d2lkdGg6IHNwYW4oMTEpO1xufVxuLnNwYW4tMTIge1xuXHR3aWR0aDogc3BhbigxMik7XG59XG4iLCIvKipcbiAqIEZ1bmN0aW9uIGFuZCBNaXhpbiBmb3IgZ2V0dGluZyBjb2xvcnMgZnJvbSB0aGUgJGNvbG9yIGFycmF5XG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogMSkge1xuXHRAaWYgKCRvcGFjaXR5ICE9IDEpIHtcblx0QHJldHVybiByZ2JhKG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKSwgJG9wYWNpdHkpO1xuXHR9IEBlbHNlIHtcblx0QHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRjb2xvcik7XG5cdH1cbn1cblxuQG1peGluIGNvbG9yKCRjb2xvciwgJHByb3BlcnR5LW5hbWU6IGNvbG9yLCAkb3BhY2l0eTogMSkge1xuXHRAaWYgKCRvcGFjaXR5ICE9IDEpIHtcblx0I3skcHJvcGVydHlfbmFtZX06IHJnYmEoY29sb3IoJGNvbG9yKSwgJG9wYWNpdHkpO1xuXHR9IEBlbHNlIHtcblx0I3skcHJvcGVydHlfbmFtZX06IGNvbG9yKCRjb2xvcik7XG5cdH1cbn0iLCIvKipcbiAqIE1peGluIGZvciB3cml0aW5nIHN0eWxlcyB0aGF0IG9ubHkgZGlzcGxheSBpbiB0aGUgYmxvY2sgZWRpdG9yXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG4gQG1peGluIGJsb2NrLWVkaXRvcigpIHtcblx0LmFjZi1ibG9jay1wcmV2aWV3ICYge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiQG1peGluIGJvdHRvbWxpbmUoJGNvbG9yOiBpbmhlcml0KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDQ1cHg7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHR9XG59XG4uYm90dG9tbGluZSB7XG4gICAgQGluY2x1ZGUgYm90dG9tbGluZShjb2xvcihibHVlLW1pZCkpO1xufSIsIi8qKlxuICogTWl4aW4gZm9yIGRpc3BsYXkgYSBicmljayBwc2V1ZHVvIGVsZW1lbnQuIEEgYnJpY2sgaXMgdGhlIGxpdHRsZSBob3Jpem9udGFsIGxpbmUgdW5kZXIgaGVhZGxpbmVzLlxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cbiBcbiBAbWl4aW4gYnJpY2soJGNvbG9yOiBjb2xvcihwaW5rKSkge1xuXHRjb250ZW50OiAnJztcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDNweDtcblx0bWFyZ2luOiA1cHggYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gfSIsIi8qKlxuICogTWl4aW4gZm9yIGFwcGx5aW5nIGJhY2tncm91bmQgc2hhZGUgdG8gYW4gZWxlbWVudFxuICpcbiAqIEBhdXRob3IgIENhbGViIFphaG5kIDxjYWxlYkBtaWRjb2FzdC5pbz5cbiAqIEBwYWNrYWdlIE1pZGNvYXN0IFBsYXRmb3JtXG4gKiBAc2luY2UgMS4wXG4gKi9cblxuIEBtaXhpbiBzaGFkZSgkc2hhZGUpIHtcblx0XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS11bHRyYWxpZ2h0Jykge1xuXHRcdEBpbmNsdWRlIGNvbG9yKHVsdHJhbGlnaHQsIGJhY2tncm91bmQtY29sb3IpO1xuXHR9XG5cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLWJsdWUtZ3JhZGllbnQnKSB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDYwZGVnLCBjb2xvcihibHVlLCAxKSA0MCUsIGNvbG9yKGJsdWUtZGFyaywgMSkgNjAlKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1wdXJwbGUtZ3JhZGllbnQnKSB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0zMGRlZywgY29sb3IoYmx1ZS1kYXJrLCAxKSA0MCUsIGNvbG9yKHB1cnBsZSwgMSkgNjAlKTtcblx0fVxuXG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlJykge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKGJsdWUtZGFyayk7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtcHVycGxlJykge1xuXHRcdGJhY2tncm91bmQ6IGNvbG9yKHB1cnBsZSk7XG5cdH1cbiB9XG5cbiBAbWl4aW4gc2hhZGUtdGV4dCgkc2hhZGUpIHtcblx0XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS11bHRyYWxpZ2h0Jykge1xuXHRcdGNvbG9yOiBjb2xvcihibGFjayk7XG5cdH1cblxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtYmx1ZS1ncmFkaWVudCcpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS10ZXh0LWRhcmsnKSB7XG5cdFx0Y29sb3I6IGNvbG9yKGJsYWNrKTtcblx0fVxuXHRAaWYgKCRzaGFkZSA9PSAnc2hhZGUtdGV4dC1saWdodCcpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG5cdEBpZiAoJHNoYWRlID09ICdzaGFkZS1ibHVlJykge1xuXHRcdGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cdH1cblx0QGlmICgkc2hhZGUgPT0gJ3NoYWRlLXB1cnBsZScpIHtcblx0XHRjb2xvcjogY29sb3Iod2hpdGUpO1xuXHR9XG4gfVxuXG4gQG1peGluIHNoYWRlLWNoaWxkKCRzaGFkZTogbnVsbCkge1xuXHRAaWYgKCRzaGFkZSAhPSBudWxsKSB7XG5cdFx0LnNoYWRlLiN7JHNoYWRlfSAmIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxuIH0iLCIvKipcbiAqIE1peGluOiB6LWluZGV4KCRsZXZlbCwgJGltcG9ydGFudClcbiAqXG4gKiBVc2VzIHRoZSBTYXNzLU1hcCBkZWZpbmVkIGluIHBhcnRpYWxzL3ZhcmlhYmxlcy5zY3NzIHRvIGxvYWQgYSBuYW1lZCB6LWluZGV4IGxldmVsLiBJZiBhbiBpbnRlZ2VyIGlzIHBhc3NlZCwgdGhhdCBpbnRlZ2VyIGlzIHVzZWQgYXMgdGhlIHotaW5kZXggbGV2ZWwuXG4gKlxuICogQGF1dGhvciAgQ2FsZWIgWmFobmQgPGNhbGViQG1pZGNvYXN0LmlvPlxuICogQHBhY2thZ2UgTWlkY29hc3QgUGxhdGZvcm1cbiAqIEBzaW5jZSAxLjBcbiAqL1xuXG5AbWl4aW4gei1pbmRleCgkbGV2ZWw6IGdyb3VuZCwgJGltcG9ydGFudDogJ251bGwnKSB7XG5cdCR6aW5kZXg6IHN0cmluZztcblxuXHRAaWYgaXMtaW50KCRsZXZlbCkge1xuXHRcdCR6aW5kZXg6ICRsZXZlbDtcblx0fSBAZWxzZSB7XG5cdFx0JHppbmRleDogbWFwLWdldCgkei1pbmRleCwgJGxldmVsKTtcblx0fVxuXHRAaWYgKCRpbXBvcnRhbnQgPT0gJ2ltcG9ydGFudCcpXG5cdHtcblx0XHR6LWluZGV4OiAkemluZGV4ICFpbXBvcnRhbnQ7XG5cdH1cblx0QGVsc2Uge1xuXHRcdHotaW5kZXg6ICR6aW5kZXg7XG5cdH1cbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJpY29uZm9udFwiO1xuICAgIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuZW90P3QycTk4NycpO1xuICAgIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQuZW90P3QycTk4NyNpZWZpeCcpIGZvcm1hdCgnZW90JyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC53b2ZmMj90MnE5ODcnKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJy4uLy4uL2Fzc2V0cy9tZWRpYS9mb250cy9pY29uZm9udC9pY29uZm9udC53b2ZmP3QycTk4NycpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcuLi8uLi9hc3NldHMvbWVkaWEvZm9udHMvaWNvbmZvbnQvaWNvbmZvbnQudHRmP3QycTk4NycpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgIHVybCgnLi4vLi4vYXNzZXRzL21lZGlhL2ZvbnRzL2ljb25mb250L2ljb25mb250LnN2Zz90MnE5ODcjaWNvbmZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4kZm9udC1pY29uZm9udDpcdFwiaWNvbmZvbnRcIjtcblxuJGljb24tYWNjb3VudDogXCJcXEVBMDFcIjtcbiRpY29uLWFycm93LWRvd24tbG9uZzogXCJcXEVBMDJcIjtcbiRpY29uLWFycm93LWRvd246IFwiXFxFQTAzXCI7XG4kaWNvbi1hcnJvdy1sZWZ0LWxvbmc6IFwiXFxFQTA0XCI7XG4kaWNvbi1hcnJvdy1sZWZ0OiBcIlxcRUEwNVwiO1xuJGljb24tYXJyb3ctcmlnaHQtbG9uZzogXCJcXEVBMDZcIjtcbiRpY29uLWFycm93LXJpZ2h0OiBcIlxcRUEwN1wiO1xuJGljb24tYXJyb3ctdXAtbG9uZzogXCJcXEVBMDhcIjtcbiRpY29uLWFycm93LXVwLXJpZ2h0OiBcIlxcRUEwOVwiO1xuJGljb24tYXJyb3ctdXA6IFwiXFxFQTBBXCI7XG4kaWNvbi1iZWxsOiBcIlxcRUEwQlwiO1xuJGljb24tYnJvd3NlcjogXCJcXEVBMENcIjtcbiRpY29uLWNhbGVuZGFyOiBcIlxcRUEwRFwiO1xuJGljb24tY2FyZXQtZG93bjogXCJcXEVBMEVcIjtcbiRpY29uLWNhcmV0LWxlZnQ6IFwiXFxFQTBGXCI7XG4kaWNvbi1jYXJldC1yaWdodDogXCJcXEVBMTBcIjtcbiRpY29uLWNhcmV0LXVwOiBcIlxcRUExMVwiO1xuJGljb24tY2hhdDogXCJcXEVBMTJcIjtcbiRpY29uLWNoZWNrOiBcIlxcRUExM1wiO1xuJGljb24tY2hlY2tib3gtZW1wdHk6IFwiXFxFQTE0XCI7XG4kaWNvbi1jaGVja2JveDogXCJcXEVBMTVcIjtcbiRpY29uLWNoZXZyb24tZG93bjogXCJcXEVBMTZcIjtcbiRpY29uLWNoZXZyb24tbGVmdDogXCJcXEVBMTdcIjtcbiRpY29uLWNoZXZyb24tcmlnaHQ6IFwiXFxFQTE4XCI7XG4kaWNvbi1jaGV2cm9uLXVwOiBcIlxcRUExOVwiO1xuJGljb24tY2lyY2xlOiBcIlxcRUExQVwiO1xuJGljb24tY2xvY2s6IFwiXFxFQTFCXCI7XG4kaWNvbi1jbG9zZS13aGl0ZTogXCJcXEVBMUNcIjtcbiRpY29uLWNsb3NlOiBcIlxcRUExRFwiO1xuJGljb24tY29tcG9zZTogXCJcXEVBMUVcIjtcbiRpY29uLWRvY3VtZW50OiBcIlxcRUExRlwiO1xuJGljb24tZG93bmxvYWQ6IFwiXFxFQTIwXCI7XG4kaWNvbi1lbWFpbC1hbHQ6IFwiXFxFQTIxXCI7XG4kaWNvbi1lbWFpbDogXCJcXEVBMjJcIjtcbiRpY29uLWZhY2Vib29rOiBcIlxcRUEyM1wiO1xuJGljb24tZm9jdXM6IFwiXFxFQTI0XCI7XG4kaWNvbi1ob21lOiBcIlxcRUEyNVwiO1xuJGljb24taW5mby1hbGVydDogXCJcXEVBMjZcIjtcbiRpY29uLWluZm86IFwiXFxFQTI3XCI7XG4kaWNvbi1pbnN0YWdyYW06IFwiXFxFQTI4XCI7XG4kaWNvbi1sZWFybi1hbGVydDogXCJcXEVBMjlcIjtcbiRpY29uLWxpZ2h0YnVsYjogXCJcXEVBMkFcIjtcbiRpY29uLWxpbmtlZGluOiBcIlxcRUEyQlwiO1xuJGljb24tbG9hbjogXCJcXEVBMkNcIjtcbiRpY29uLWxvY2F0aW9uOiBcIlxcRUEyRFwiO1xuJGljb24tbG9jazogXCJcXEVBMkVcIjtcbiRpY29uLW1hcmtzbWVkaWE6IFwiXFxFQTJGXCI7XG4kaWNvbi1taWRjb2FzdDogXCJcXEVBMzBcIjtcbiRpY29uLW1pbnVzOiBcIlxcRUEzMVwiO1xuJGljb24tcGVyc29uOiBcIlxcRUEzMlwiO1xuJGljb24tcGhvbmU6IFwiXFxFQTMzXCI7XG4kaWNvbi1waW50ZXJlc3Q6IFwiXFxFQTM0XCI7XG4kaWNvbi1wbGF5LWNpcmNsZTogXCJcXEVBMzVcIjtcbiRpY29uLXBsYXk6IFwiXFxFQTM2XCI7XG4kaWNvbi1wbHVzOiBcIlxcRUEzN1wiO1xuJGljb24tcXVvdGU6IFwiXFxFQTM4XCI7XG4kaWNvbi1yZXNldDogXCJcXEVBMzlcIjtcbiRpY29uLXNjcm9sbC1kb3duOiBcIlxcRUEzQVwiO1xuJGljb24tc2VhcmNoOiBcIlxcRUEzQlwiO1xuJGljb24tc25hcGNoYXQ6IFwiXFxFQTNDXCI7XG4kaWNvbi1zdGFyLWhhbGY6IFwiXFxFQTNEXCI7XG4kaWNvbi1zdGFyOiBcIlxcRUEzRVwiO1xuJGljb24tdGhyZWUtZG90czogXCJcXEVBM0ZcIjtcbiRpY29uLXRpa3RvazogXCJcXEVBNDBcIjtcbiRpY29uLXR3aXR0ZXI6IFwiXFxFQTQxXCI7XG4kaWNvbi12aWRlbzogXCJcXEVBNDJcIjtcbiRpY29uLXZpbWVvOiBcIlxcRUE0M1wiO1xuJGljb24td2Vic2l0ZTogXCJcXEVBNDRcIjtcbiRpY29uLXllbHA6IFwiXFxFQTQ1XCI7XG4kaWNvbi15b3V0dWJlOiBcIlxcRUE0NlwiO1xuXG5cblxuLmljb24tYWNjb3VudDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYWNjb3VudCwgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1kb3duLWxvbmc6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWRvd24tbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1kb3duOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1hcnJvdy1kb3duLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWxlZnQtbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctbGVmdC1sb25nLCAxNXB4KTtcbn1cbi5pY29uLWFycm93LWxlZnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LWxlZnQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctcmlnaHQtbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctcmlnaHQtbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy1yaWdodDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctcmlnaHQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctdXAtbG9uZzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctdXAtbG9uZywgMTVweCk7XG59XG4uaWNvbi1hcnJvdy11cC1yaWdodDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYXJyb3ctdXAtcmlnaHQsIDE1cHgpO1xufVxuLmljb24tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWFycm93LXVwLCAxNXB4KTtcbn1cbi5pY29uLWJlbGw6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWJlbGwsIDE1cHgpO1xufVxuLmljb24tYnJvd3Nlcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tYnJvd3NlciwgMTVweCk7XG59XG4uaWNvbi1jYWxlbmRhcjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FsZW5kYXIsIDE1cHgpO1xufVxuLmljb24tY2FyZXQtZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtZG93biwgMTVweCk7XG59XG4uaWNvbi1jYXJldC1sZWZ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1sZWZ0LCAxNXB4KTtcbn1cbi5pY29uLWNhcmV0LXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jYXJldC1yaWdodCwgMTVweCk7XG59XG4uaWNvbi1jYXJldC11cDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2FyZXQtdXAsIDE1cHgpO1xufVxuLmljb24tY2hhdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hhdCwgMTVweCk7XG59XG4uaWNvbi1jaGVjazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2hlY2ssIDE1cHgpO1xufVxuLmljb24tY2hlY2tib3gtZW1wdHk6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZWNrYm94LWVtcHR5LCAxNXB4KTtcbn1cbi5pY29uLWNoZWNrYm94OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGVja2JveCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLWRvd246OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tZG93biwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLWxlZnQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tbGVmdCwgMTVweCk7XG59XG4uaWNvbi1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaGV2cm9uLXJpZ2h0LCAxNXB4KTtcbn1cbi5pY29uLWNoZXZyb24tdXA6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNoZXZyb24tdXAsIDE1cHgpO1xufVxuLmljb24tY2lyY2xlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jaXJjbGUsIDE1cHgpO1xufVxuLmljb24tY2xvY2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWNsb2NrLCAxNXB4KTtcbn1cbi5pY29uLWNsb3NlLXdoaXRlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1jbG9zZS13aGl0ZSwgMTVweCk7XG59XG4uaWNvbi1jbG9zZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY2xvc2UsIDE1cHgpO1xufVxuLmljb24tY29tcG9zZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tY29tcG9zZSwgMTVweCk7XG59XG4uaWNvbi1kb2N1bWVudDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZG9jdW1lbnQsIDE1cHgpO1xufVxuLmljb24tZG93bmxvYWQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWRvd25sb2FkLCAxNXB4KTtcbn1cbi5pY29uLWVtYWlsLWFsdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZW1haWwtYWx0LCAxNXB4KTtcbn1cbi5pY29uLWVtYWlsOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1lbWFpbCwgMTVweCk7XG59XG4uaWNvbi1mYWNlYm9vazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tZmFjZWJvb2ssIDE1cHgpO1xufVxuLmljb24tZm9jdXM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWZvY3VzLCAxNXB4KTtcbn1cbi5pY29uLWhvbWU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWhvbWUsIDE1cHgpO1xufVxuLmljb24taW5mby1hbGVydDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taW5mby1hbGVydCwgMTVweCk7XG59XG4uaWNvbi1pbmZvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1pbmZvLCAxNXB4KTtcbn1cbi5pY29uLWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24taW5zdGFncmFtLCAxNXB4KTtcbn1cbi5pY29uLWxlYXJuLWFsZXJ0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1sZWFybi1hbGVydCwgMTVweCk7XG59XG4uaWNvbi1saWdodGJ1bGI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLWxpZ2h0YnVsYiwgMTVweCk7XG59XG4uaWNvbi1saW5rZWRpbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbGlua2VkaW4sIDE1cHgpO1xufVxuLmljb24tbG9hbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9hbiwgMTVweCk7XG59XG4uaWNvbi1sb2NhdGlvbjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9jYXRpb24sIDE1cHgpO1xufVxuLmljb24tbG9jazo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbG9jaywgMTVweCk7XG59XG4uaWNvbi1tYXJrc21lZGlhOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1tYXJrc21lZGlhLCAxNXB4KTtcbn1cbi5pY29uLW1pZGNvYXN0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1taWRjb2FzdCwgMTVweCk7XG59XG4uaWNvbi1taW51czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tbWludXMsIDE1cHgpO1xufVxuLmljb24tcGVyc29uOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wZXJzb24sIDE1cHgpO1xufVxuLmljb24tcGhvbmU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBob25lLCAxNXB4KTtcbn1cbi5pY29uLXBpbnRlcmVzdDo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tcGludGVyZXN0LCAxNXB4KTtcbn1cbi5pY29uLXBsYXktY2lyY2xlOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbGF5LWNpcmNsZSwgMTVweCk7XG59XG4uaWNvbi1wbGF5OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1wbGF5LCAxNXB4KTtcbn1cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXBsdXMsIDE1cHgpO1xufVxuLmljb24tcXVvdGU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXF1b3RlLCAxNXB4KTtcbn1cbi5pY29uLXJlc2V0OjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1yZXNldCwgMTVweCk7XG59XG4uaWNvbi1zY3JvbGwtZG93bjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc2Nyb2xsLWRvd24sIDE1cHgpO1xufVxuLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi1zZWFyY2gsIDE1cHgpO1xufVxuLmljb24tc25hcGNoYXQ6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXNuYXBjaGF0LCAxNXB4KTtcbn1cbi5pY29uLXN0YXItaGFsZjo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tc3Rhci1oYWxmLCAxNXB4KTtcbn1cbi5pY29uLXN0YXI6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXN0YXIsIDE1cHgpO1xufVxuLmljb24tdGhyZWUtZG90czo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdGhyZWUtZG90cywgMTVweCk7XG59XG4uaWNvbi10aWt0b2s6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXRpa3RvaywgMTVweCk7XG59XG4uaWNvbi10d2l0dGVyOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi10d2l0dGVyLCAxNXB4KTtcbn1cbi5pY29uLXZpZGVvOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi12aWRlbywgMTVweCk7XG59XG4uaWNvbi12aW1lbzo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24tdmltZW8sIDE1cHgpO1xufVxuLmljb24td2Vic2l0ZTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgaWNvbmZvbnQoJGljb24td2Vic2l0ZSwgMTVweCk7XG59XG4uaWNvbi15ZWxwOjpiZWZvcmUge1xuICBAaW5jbHVkZSBpY29uZm9udCgkaWNvbi15ZWxwLCAxNXB4KTtcbn1cbi5pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG4gIEBpbmNsdWRlIGljb25mb250KCRpY29uLXlvdXR1YmUsIDE1cHgpO1xufSIsIkBmdW5jdGlvbiB1bmljb2RlKCRzdHIpIHtcblx0QHJldHVybiB1bnF1b3RlKFwiXFxcIlwiKSArICRzdHIgKyB1bnF1b3RlKFwiXFxcIlwiKTtcbiAgfVxuXG4vL0ljb25mb250XG5AbWl4aW4gaWNvbmZvbnQoJGNvbnRlbnQ6IFwiIFwiLCAkZm9udC1zaXplOiBpbmhlcml0LCAkY29sb3I6IGluaGVyaXQgKSB7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1pY29uZm9udDtcblx0c3BlYWs6IG5vbmU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRsaW5lLWhlaWdodDogMTtcblx0Y29udGVudDogdW5pY29kZSgkY29udGVudCk7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblx0Y29sb3I6ICRjb2xvcjtcblx0XG5cdC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn0iLCIvL0N1c3RvbSBicmVha3BvaW50IG1peGluXG5AbWl4aW4gYnJlYWtwb2ludCgkYnJlYWtwb2ludDogJ3hzJywgJHF1ZXJ5OiAnbWluJywgJG1pbi13aWR0aDogTlVMTCwgJG1heC13aWR0aDogTlVMTCkge1xuXHRAaWYgKCgkbWluLXdpZHRoICE9IE5VTEwpIG9yICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0QGlmICgoJG1pbi13aWR0aCAhPSBOVUxMKSBhbmQgKCRtYXgtd2lkdGggPT0gTlVMTCkpIHtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXdpZHRoKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRAaWYgKCgkbWluLXdpZHRoID09IE5VTEwpIGFuZCAoJG1heC13aWR0aCAhPSBOVUxMKSkge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoKCRtaW4td2lkdGggIT0gTlVMTCkgYW5kICgkbWF4LXdpZHRoICE9IE5VTEwpKSB7XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1pbi13aWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdFxuXHR9XG5cdEBlbHNlIHtcblx0XHRAaWYgKCRxdWVyeSA9PSAnbWluJykge1x0XHRcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpZiAoJHF1ZXJ5ID09ICdtYXgnKSB7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogKG1hcC1nZXQtbmV4dCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIC0gMSkpIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdEBpZiAoJHF1ZXJ5ID09ICdvbmx5Jykge1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkgYW5kIChtYXgtd2lkdGg6IChtYXAtZ2V0LW5leHQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSAtIDEpKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSJdfQ== */
