/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#restaurantService {
  background-color: #000;
  display: flex;
}
#restaurantService table a {
  color: white !important;
}
#restaurantService #alertRestaurantService.active {
  width: 100%;
  height: 100%;
  background: white;
  position: fixed;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(180deg, #FAA924, #EE2A54);
  font-size: 20px;
  cursor: pointer;
}
#restaurantService #alertRestaurantService.active #quantity {
  font-family: "Roboto-Bold";
  font-size: 100px;
  color: #fff;
  margin-bottom: 50px;
  border: none;
}
#restaurantService #alertRestaurantService.active #title {
  font-family: "Roboto-Condensed";
  font-size: 50px;
  color: #fff;
  margin-bottom: 20px;
  border: none;
}
#restaurantService #alertRestaurantService.active #instructions {
  font-size: 20px;
}
#restaurantService #alertRestaurantService.active #circle {
  background-color: rgba(20, 19, 19, 0.164);
  height: 80vh;
  width: 80vh;
  position: absolute;
  border-radius: 50%;
  z-index: -1;
  animation: 3s zoomInOut ease infinite;
}
@keyframes zoomInOut {
  0% {
    height: 80vh;
    width: 80vh;
  }
  50% {
    height: 50vh;
    width: 50vh;
  }
  100% {
    height: 80vh;
    width: 80vh;
  }
}
#restaurantService #sideBar {
  background-image: linear-gradient(-45deg, #FAA924, #EE2A54);
  width: 76px;
  height: 100vh;
  position: fixed;
}
#restaurantService #sideBar ul {
  margin: 0 !important;
  padding: 0 !important;
}
#restaurantService #sideBar ul li {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
#restaurantService #sideBar ul li a {
  display: block;
  width: 76px;
  height: 76px;
  margin-bottom: 20px;
  background-repeat: no-repeat;
  background-position: center;
}
#restaurantService #sideBar ul li a.home {
  background-image: url(/build/images/burger.3ce6369b.png);
}
#restaurantService #sideBar ul li a.backoffice {
  background-image: url(/build/images/backoffice.07c13278.png);
}
#restaurantService #content {
  width: 100%;
  padding-left: 76px;
  height: 100vh;
}
#restaurantService #content table {
  color: white;
}
#restaurantService #content table tr:nth-child(even) {
  background-color: #373434;
}
#restaurantService #content table tr:nth-child(odd) {
  background-color: #424242;
}
#restaurantService #content table thead tr {
  background-color: #000 !important;
}
#restaurantService #content table thead th {
  font-size: 30px;
}
#restaurantService #content table td {
  font-size: 20px;
  padding: 20px;
}
#restaurantService #content table td.actions {
  display: grid;
  grid-row-gap: 10px;
}
#restaurantService #content table td.actions a {
  background: red;
  height: 40px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
#restaurantService #content table td.actions a::after {
  display: none;
}

#orderSheet.for-customer {
  background: whitesmoke;
}
#orderSheet.for-customer .block {
  background: transparent;
}
#orderSheet .restaurant-photo {
  background-size: cover;
  background-position: center;
  height: 50vh;
}
#orderSheet .block {
  background: white;
  margin: 50px;
  border-radius: 10px;
}
#orderSheet #bookingHeader {
  padding: 30px;
  border-bottom: 1px solid #e9e6e6;
  display: flex;
  justify-content: space-between;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber {
  display: grid;
  row-gap: 10px;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber #guestName {
  font-weight: bold;
  font-size: 20px;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber #guestNumber {
  font-size: 20px;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber #bookingNumber {
  font-size: 15px;
  text-transform: uppercase;
}
#orderSheet #bookingHeader #bookingDateTimePast {
  display: grid;
  row-gap: 10px;
}
#orderSheet #bookingHeader #bookingDateTimePast #bookingDate {
  font-weight: bold;
  text-align: right;
}
#orderSheet #bookingHeader #bookingDateTimePast #timePast {
  text-align: right;
  color: #978F8F;
}
#orderSheet #bookingContent {
  padding: 30px;
}
#orderSheet #bookingContent .guest {
  margin-bottom: 20px;
}
#orderSheet #bookingContent .guest .feed {
  display: flex;
  margin-bottom: 10px;
  justify-content: space-between;
}
#orderSheet #bookingContent .guest .feed .feed-quantity-name {
  display: flex;
}
#orderSheet #bookingContent .guest .feed .feed-quantity-name .feed-quantity {
  font-weight: bold;
  font-size: 15px;
  width: 50px;
}
#orderSheet #bookingContent .guest .feed .feed-quantity-name .feed-name {
  font-weight: bold;
  font-size: 15px;
}
#orderSheet #bookingContent .guest .feed .feed-price {
  font-weight: bold;
  font-size: 14px;
}
#orderSheet #bookingContent .guest .details {
  background-color: #fde5c5;
  padding: 15px 0px 15px 50px;
}
#orderSheet #bookingContent #total {
  margin-top: 20px;
  display: flex;
  justify-content: end;
}
#orderSheet #bookingContent #total table {
  font-weight: bold;
  width: auto;
}
#orderSheet #bookingContent #total table tr {
  color: #000;
  background-color: transparent;
}
#orderSheet #bookingContent #total table tr td {
  font-size: 14px;
  padding: 0;
}
#orderSheet #bookingContent #total table tr td.label {
  padding-right: 20px;
}
#orderSheet #bookingAction {
  padding: 30px;
  display: flex;
  justify-content: end;
}
#orderSheet #bookingAction button.cancel {
  background-color: #cecccc;
  color: #978F8F;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#review {
  grid-column: 3/12;
}
#review .questions {
  grid-column: 1/15;
}
#review .questions .question {
  background: #fff;
  display: none;
}
#review .questions .question #experienceInputs .input {
  display: flex;
  flex-direction: column;
}
#review .questions .question #experienceInputs .input label {
  display: flex;
  align-items: center;
  flex-direction: column;
}
#review .questions .question #experienceInputs .input label::after {
  content: "";
  width: 50px;
  height: 50px;
  display: block;
}
#review .questions .question #experienceInputs .input label[for=experience-1]::after {
  background-image: url(/build/images/smiley1.5c779111.png);
}
#review .questions .question #experienceInputs .input label[for=experience-2]::after {
  background-image: url(/build/images/smiley2.06457160.png);
}
#review .questions .question #experienceInputs .input label[for=experience-3]::after {
  background-image: url(/build/images/smiley3.4f77c593.png);
}
#review .questions .question #experienceInputs .input label[for=experience-4]::after {
  background-image: url(/build/images/smiley4.dc26c177.png);
}
#review .questions .question #experienceInputs .input label[for=experience-5]::after {
  background-image: url(/build/images/smiley5.4cb63075.png);
}
@keyframes displayQuestion {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#review .questions .question.active {
  display: block;
  animation: displayQuestion 0.5s ease-in;
}
#review .questions .question .title {
  font-family: "futura medium bt";
}
#review .questions .question .content {
  font-family: "futura light bt";
}
#review .questions .question .action {
  margin-top: 20px;
}
#review .questions .question .inputs {
  grid-template-columns: repeat(5, auto);
  grid-column: 1/15;
  margin: 20px 0;
}
#review .questions .question .text {
  margin-bottom: 20px;
}
#review .questions .question .text textarea {
  width: 100%;
  padding: 20px;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#cardMessages {
  grid-column: 1/12;
}

#orderContainer {
  grid-column: 2/12;
}
#orderContainer .title {
  grid-column: 1/12;
}
#orderContainer #orderDetails {
  grid-column: 1/15;
}
#orderContainer #orderDetails #payButtonContainer {
  display: flex;
  align-items: center;
  gap: 20px;
}
#orderContainer #orderDetails .select-food {
  background-color: #e48e1d;
  color: #fff;
}
#orderContainer #orderDetails #orderLater {
  background-color: #f9f9f9;
}
#orderContainer #orderDetails #description {
  margin-bottom: 20px;
}
#orderContainer #orderDetails #description,
#orderContainer #orderDetails #details {
  grid-column: 1/8;
  position: relative;
}
#orderContainer #orderDetails #description .title,
#orderContainer #orderDetails #details .title {
  font-weight: bold;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
#orderContainer #orderDetails #description .persons,
#orderContainer #orderDetails #details .persons {
  margin-bottom: 20px;
}
#orderContainer #orderDetails #description .persons .person,
#orderContainer #orderDetails #details .persons .person {
  margin-bottom: 10px;
}
#orderContainer #orderDetails #description .persons .person a,
#orderContainer #orderDetails #details .persons .person a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
#orderContainer #orderDetails #description .persons .person .name,
#orderContainer #orderDetails #details .persons .person .name {
  margin-bottom: 5px;
  grid-row: 1;
}
#orderContainer #orderDetails #description .persons .person .person-container,
#orderContainer #orderDetails #details .persons .person .person-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 10px;
  grid-row: 2;
}
#orderContainer #orderDetails #description #order,
#orderContainer #orderDetails #details #order {
  grid-column: 1/15;
  margin-top: 20px;
}
#orderContainer #orderDetails #description #order.card,
#orderContainer #orderDetails #details #order.card {
  margin-top: 0px;
}
#orderContainer #orderDetails #description #order #cardInformations,
#orderContainer #orderDetails #details #order #cardInformations {
  grid-column: 1/14;
  justify-content: space-around;
}
#orderContainer #orderDetails #description #order .action,
#orderContainer #orderDetails #description #order #cardElement,
#orderContainer #orderDetails #description #order .payment-information,
#orderContainer #orderDetails #details #order .action,
#orderContainer #orderDetails #details #order #cardElement,
#orderContainer #orderDetails #details #order .payment-information {
  margin-bottom: 20px;
  grid-column: 1/15;
}
#orderContainer #orderDetails #description #order .action,
#orderContainer #orderDetails #details #order .action {
  margin-top: 20px;
}
#orderContainer #orderDetails #paymentDetails {
  grid-column: 9/13;
}
#orderContainer #orderDetails #paymentDetails .content {
  width: 300px;
  max-height: 50vh;
}
#orderContainer #orderDetails #payment .title {
  grid-column: 1/14;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

/* Roboto */
@font-face {
  font-family: "Roboto-ThinItalic";
  src: url(/build/fonts/Roboto-ThinItalic.19c6ed4c.ttf);
}
@font-face {
  font-family: "Roboto-Medium";
  src: url(/build/fonts/Roboto-Medium.d2d7f0c0.ttf);
}
@font-face {
  font-family: "Roboto-BoldCondensedItalic";
  src: url(/build/fonts/Roboto-BoldCondensedItalic.5f6847e2.ttf);
}
@font-face {
  font-family: "Roboto-Condensed";
  src: url(/build/fonts/Roboto-Condensed.0eb141b0.ttf);
}
@font-face {
  font-family: "Roboto-BlackItalic";
  src: url(/build/fonts/Roboto-BlackItalic.33518f2d.ttf);
}
@font-face {
  font-family: "Roboto-CondensedItalic";
  src: url(/build/fonts/Roboto-CondensedItalic.9e2c1759.ttf);
}
@font-face {
  font-family: "Roboto-Thin";
  src: url(/build/fonts/Roboto-Thin.7cc2944f.ttf);
}
@font-face {
  font-family: "Roboto-BoldItalic";
  src: url(/build/fonts/Roboto-BoldItalic.7f8b6363.ttf);
}
@font-face {
  font-family: "Roboto-Black";
  src: url(/build/fonts/Roboto-Black.45715786.ttf);
}
@font-face {
  font-family: "Roboto-BoldCondensed";
  src: url(/build/fonts/Roboto-BoldCondensed.01decb86.ttf);
}
@font-face {
  font-family: "Roboto-Bold";
  src: url(/build/fonts/Roboto-Bold.63311334.ttf);
}
@font-face {
  font-family: "Roboto-Regular";
  src: url(/build/fonts/Roboto-Regular.f25bd059.ttf);
}
@font-face {
  font-family: "Roboto-Italic";
  src: url(/build/fonts/Roboto-Italic.fed51269.ttf);
}
@font-face {
  font-family: "Roboto-LightItalic";
  src: url(/build/fonts/Roboto-LightItalic.81e32e6c.ttf);
}
@font-face {
  font-family: "Roboto-Light";
  src: url(/build/fonts/Roboto-Light.03e629f6.ttf);
}
@font-face {
  font-family: "Roboto-MediumItalic";
  src: url(/build/fonts/Roboto-MediumItalic.26207ba6.ttf);
}
/* Futura */
@font-face {
  font-family: "futura medium bt";
  src: url("/build/fonts/futura%20medium%20bt.4e762c29.ttf");
}
@font-face {
  font-family: "Futura XBlk BT";
  src: url("/build/fonts/Futura%20XBlk%20BT.a94e073a.ttf");
}
@font-face {
  font-family: "Futura Book font";
  src: url("/build/fonts/Futura%20Book%20font.ed19af44.ttf");
}
@font-face {
  font-family: "futura light bt";
  src: url("/build/fonts/futura%20light%20bt.ead7282f.ttf");
}
@font-face {
  font-family: "Futura Bold Italic font";
  src: url("/build/fonts/Futura%20Bold%20Italic%20font.d4a603f6.ttf");
}
@font-face {
  font-family: "Futura Bold font";
  src: url("/build/fonts/Futura%20Bold%20font.7bfa5614.ttf");
}
@font-face {
  font-family: "Futura Heavy Italic font";
  src: url("/build/fonts/Futura%20Heavy%20Italic%20font.815a0751.ttf");
}
@font-face {
  font-family: "Futura Light font";
  src: url("/build/fonts/Futura%20Light%20font.e07bb855.ttf");
}
@font-face {
  font-family: "Futura Heavy font";
  src: url("/build/fonts/Futura%20Heavy%20font.af72c25a.ttf");
}
@font-face {
  font-family: "Futura Extra Black font";
  src: url("/build/fonts/Futura%20Extra%20Black%20font.bf8e35c1.ttf");
}
@font-face {
  font-family: "Futura Book Italic font";
  src: url("/build/fonts/Futura%20Book%20Italic%20font.2fc529e7.ttf");
}
@font-face {
  font-family: "unicode.futurabb";
  src: url(/build/fonts/unicode.futurabb.047c1b54.ttf);
}
@font-face {
  font-family: "Futura Light Italic font";
  src: url("/build/fonts/Futura%20Light%20Italic%20font.7a38f125.ttf");
}
@font-face {
  font-family: "Futura Medium Italic font";
  src: url("/build/fonts/Futura%20Medium%20Italic%20font.6180d54a.ttf");
}
@font-face {
  font-family: "futura medium condensed bt";
  src: url("/build/fonts/futura%20medium%20condensed%20bt.2423d880.ttf");
}
@font-face {
  font-family: "unicode.futurab";
  src: url(/build/fonts/unicode.futurab.fd37c14a.ttf);
}
@font-face {
  font-family: "futur";
  src: url(/build/fonts/futur.71d20cae.ttf);
}
@font-face {
  font-family: "tt0205m_";
  src: url(/build/fonts/tt0205m_.62d01ff1.ttf);
}
.admin #header {
  margin: 10px 0;
}
.admin #header h1 img {
  font-size: 10px;
  display: flex;
  color: gray;
}
.admin #header .content {
  width: 100%;
  display: flex;
  justify-content: end;
  grid-column-gap: 0;
  align-items: center;
}
.admin #header .content #logo {
  grid-column: 1/2;
  justify-content: center;
  margin-left: 15px;
}
.admin #header .content #filter {
  grid-column: 2/4;
  position: relative;
}
.admin #header .content #filter.hide {
  display: none !important;
}
.admin #header .content #filter.active .filter-options {
  display: block;
}
.admin #header .content #filter.active a::after {
  rotate: 180deg;
  animation: 0.2s ease-in rotate;
}
.admin #header .content #filter .filter-options {
  display: none;
  top: 38px;
  position: absolute;
  background: white;
  border: 1px solid #e9e9e9;
  right: 0;
  padding: 10px;
}
.admin #header .content #filter a {
  color: #e9e9e9;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  align-items: center;
}
.admin #header .content #filter a.filled {
  color: #3f3d3d;
}
.admin #header .content #filter a .icon {
  height: 22px;
  width: 22px;
  border: 5px;
  content: "";
  display: block;
  border: 1px solid #e9e9e9;
  float: left;
  background-image: url(/build/images/cloche.dbd4b0e9.png);
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 10px;
  border-radius: 5px;
}
@media (max-width: 1000px) {
  .admin #header .content #filter a .title {
    display: none;
  }
}
.admin #header .content #filter a::after {
  height: 22px;
  width: 22px;
  border: 5px;
  content: "";
  display: block;
  float: left;
  margin-left: 10px;
  background-image: url(/build/images/arrow.1e2b585e.png);
  background-repeat: no-repeat;
  background-position: center;
}
@keyframes rotate {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 180deg;
  }
}
.admin #header .content #search.hide {
  display: none !important;
}
.admin #header .content #search #location {
  background: transparent;
  border: none;
  color: #3f3d3d;
}
.admin #header .content #search #location option {
  color: #3f3d3d;
  padding: 20px 0;
}
.admin #header .content #search #location option.empty {
  color: #e9e9e9;
}
.admin #header #loginLink {
  margin-right: 20px;
  text-decoration: none;
  color: black;
  font-family: "Roboto-Bold";
  font-size: 14px;
}
.admin #header #navigationContainer {
  grid-column: 17/19;
}
.admin #header #navigationContainer #restaurantSwitcher {
  margin-right: 20px;
}
.admin #header #navigationContainer #navigation.active .user-menu {
  display: block;
  padding: 10px;
  background: white;
  box-shadow: 0px 0px 24px #e9e9e9;
  border-radius: 5px;
}
.admin #header #navigationContainer #navigation.active .username::after {
  transform: rotate(180deg);
}
.admin #header #navigationContainer #navigation .user-menu {
  position: absolute;
  top: 60px;
  right: 30px;
  display: none;
  z-index: 100;
}
.admin #header #navigationContainer #navigation .user-menu .content {
  display: flex;
  flex-direction: column;
}
.admin #header #navigationContainer #navigation .user-menu .content a {
  text-decoration: none;
  display: inline-block;
  margin-top: 5px;
  margin-bottom: 5px;
  color: #3f3d3d;
  font-family: "Roboto-Condensed";
  display: flex;
  align-items: center;
  justify-content: end;
  font-size: 14px;
}
.admin #header #navigationContainer #navigation .user-menu .content form {
  border-top: 1px solid #e9e9e9;
  margin-top: 20px;
  display: block;
  padding: 20px 0 0 0;
}
.admin #header #navigationContainer #navigation .user-menu .content form button {
  width: 100%;
  height: 38px;
  align-items: center;
  justify-content: center;
  display: flex;
}
.admin #header #navigationContainer #navigation .login {
  text-decoration: none;
  color: #3f3d3d;
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 12px;
}
.admin #header #navigationContainer #navigation .username {
  text-decoration: none;
  color: #3f3d3d;
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 12px;
}
.admin #header #navigationContainer #navigation .username::after {
  transition: transform 0.3s;
  height: 22px;
  width: 22px;
  border: 5px;
  content: "";
  display: block;
  float: right;
  margin-left: 10px;
  background-image: url(/build/images/arrow-black.d3ac540f.png);
  background-repeat: no-repeat;
  background-position: center;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

#offerAction {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

form#cancel {
  padding: 50px 0;
}
form#cancel button {
  background: none;
  color: #3f3d3d;
  padding: 0;
  margin: 0;
}

.transfer-action {
  display: flex;
  justify-content: center;
  align-items: center;
}
.transfer-action form.cancel-transfer {
  margin-left: 10px;
}
.transfer-action form.cancel-transfer button {
  background: none;
  color: #3f3d3d;
  padding: 0;
  margin: 0;
}

#offers {
  display: flex;
  justify-content: center;
}
#offers .offer:has(> .input input:checked) {
  background-image: linear-gradient(180deg, #FAA924, #EE2A54);
  color: #3f3d3d;
}
#offers .offer {
  background: #3f3d3d;
  color: white;
  padding: 50px;
  margin: 20px;
  border-radius: 20px;
}
#offers .offer label {
  cursor: pointer;
}
#offers .offer > div {
  margin: 0 !important;
}
#offers .offer .action,
#offers .offer .input {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#offers .offer .title {
  font-family: "futura medium bt";
}
#offers .offer .features {
  padding: 10px 0;
}
#offers .offer .features .feature {
  margin-bottom: 20px;
}
#offers .offer .price {
  padding: 10px 0;
}

#impersonatorMenu {
  background: #c16565;
  padding: 20px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "futura medium bt";
}
#impersonatorMenu a {
  margin: 0 4px;
  text-decoration: underline;
  color: white;
}

.status {
  max-width: 160px;
  font-size: 10px;
  font-family: "futura medium bt";
  color: white;
  background-color: #f46a3c;
  border-radius: 5px;
  padding: 5px 10px;
  align-items: center;
  justify-content: center;
  cursor: default;
  display: flex;
}
.status.en-attente, .status.annulee {
  background-color: gray;
}
.status.pris-en-charge, .status.ok, .status.execute, .status.confirmee {
  background-color: green;
}
.status.client-absent {
  background-color: gray;
  opacity: 0.5;
}
.status.non-defini {
  display: none;
}

.hide {
  display: none;
}

.flex {
  display: flex;
}

a.no-link {
  color: inherit !important;
}

.message {
  padding: 20px 30px;
  margin: 20px 0;
}
.message.success {
  background-image: linear-gradient(-45deg, #B8E0B8, #d9e7d9);
}
.message.info {
  background-image: linear-gradient(-45deg, #d6d7fd, #e6e7fa);
}
.message.warning {
  background-image: linear-gradient(-45deg, #fde6c2, #fdf2e1);
}

body.admin {
  background-color: #fafafa;
  font-family: "Roboto-Condensed";
  margin: 0;
  height: 100vh;
  overflow: hidden;
}
body.admin #navigation {
  display: flex;
}
body.admin #table {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 10px;
  grid-auto-rows: minmax(10px, auto);
}
body.admin #table .table {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
body.admin #table .table .title {
  margin-bottom: 5px;
  color: #3f3d3d;
}
body.admin #table .table .qr-code {
  background: #3f3d3d;
  width: 100px;
  height: 100px;
}
body.admin #table .table .qr-code img {
  width: 100%;
}
body.admin #cookingStyles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 10px;
}
body.admin #cookingStyles .cooking-style {
  display: flex;
  margin-right: 10px;
  align-items: center;
}
body.admin #cookingStyles .cooking-style label {
  margin: 0;
  margin-left: 10px;
  font-family: "futura light bt";
}
body.admin #cookingStyles .cooking-style label[disabled] {
  color: gray;
}
body.admin #restaurantName {
  width: 400px;
}
body.admin #subscriptions {
  display: flex;
}
body.admin #subscriptions .subscription {
  display: flex;
  margin-right: 20px;
  align-items: center;
}
body.admin #subscriptions .subscription input {
  margin: 0;
}
body.admin #subscriptions .subscription label {
  margin: 0;
  margin-left: 10px;
  font-family: "futura light bt";
}
body.admin .tabs .tab {
  background-color: #e9e9e9;
  color: #3f3d3d;
  font-weight: bold;
  padding: 10px 20px;
  border-radius: 5px 5px 0 0;
  display: inline-block;
}
body.admin .tabs .tab.active {
  background-color: #3f3d3d;
  color: white;
}
body.admin #restaurantLogs {
  max-height: 300px;
  overflow-y: scroll;
}
body.admin #restaurantLogs .log {
  margin-bottom: 15px;
  margin-left: 10px;
  color: #282727;
  font-size: 12px;
}
body.admin #employees .employee {
  margin-bottom: 20px;
  padding: 10px 20px;
  align-items: center;
}
body.admin #employees .employee .action {
  display: none;
}
body.admin #employees .employee .action a {
  color: #282727;
}
body.admin #employees .employee:hover .action {
  display: block;
}
body.admin #employees .employee:hover {
  background: #e9e9e9;
}
body.admin #employees .employee .user-infos {
  grid-column: 1/8;
  display: flex;
  align-items: center;
}
body.admin #employees .employee .user-infos .photo {
  width: 30px;
  height: 30px;
  margin-right: 20px;
  background-image: url(/build/images/employee.224d7e16.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
body.admin #employees .employee .user-infos .name-email {
  display: flex;
  flex-direction: column;
}
body.admin #employees .employee .user-infos .name-email .name {
  font-size: 14px;
  font-weight: bold;
}
body.admin #employees .employee .user-infos .name-email .email {
  font-family: "futura light bt";
  font-size: 13px;
  color: #5e5c5c;
}
body.admin #employees .employee .role {
  grid-column: 8/15;
  font-size: 14px;
  color: #868686;
  opacity: 0.8;
}
body.admin #settingsContainer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  grid-auto-rows: minmax(100px, auto);
  margin: 40px 0;
}
body.admin #settingsContainer .setting {
  border: 1px solid rgb(230, 230, 230);
  display: inline-block;
  padding: 20px;
  border-radius: 10px;
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.admin #settingsContainer .setting:hover {
  border: 1px solid #282727;
}
body.admin #settingsContainer .setting .title {
  font-family: "futura medium bt";
  font-size: 14px;
  margin-bottom: 10px;
  color: black;
}
body.admin #settingsContainer .setting .description {
  font-family: "futura light bt";
  font-size: 12px;
  color: black;
}
body.admin #bankAccount {
  margin-bottom: 20px;
  padding: 10px 20px;
  align-items: center;
}
body.admin #bankAccount:hover {
  background: #e9e9e9;
}
body.admin #bankAccount .name {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
}
body.admin #bankAccount .iban {
  font-family: "futura light bt";
  font-size: 13px;
  color: #5e5c5c;
}
body.admin #restaurantMap {
  width: 100%;
  height: 200px;
}
body.admin .square-box {
  position: relative;
  overflow: hidden;
  background: #e9e9e9;
}
body.admin .square-box:before {
  content: "";
  display: block;
  padding-top: 100%;
}
body.admin form #feedPhotoContainer,
body.admin form #restaurantPhotoContainer {
  margin-top: 20px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.admin a {
  text-decoration: none;
  color: #5e5c5c;
}
body.admin #dataContainer .block-delete {
  margin-top: 20px;
}
body.admin #dataContainer .block {
  background: white;
  padding: 20px;
  margin-top: 20px;
  border-radius: 10px;
  box-shadow: 0px 0px 24px #e9e9e9;
}
body.admin #dataContainer .block:first-child {
  margin-top: 0px;
}
body.admin #dataContainer .block > div {
  margin-bottom: 20px;
}
body.admin form#dateFilter {
  margin-right: 20px;
  display: flex;
  align-items: center;
}
body.admin form#dateFilter #inputs {
  margin: 0;
  display: flex;
  align-items: center;
}
body.admin form#dateFilter #searchKeywordContainer {
  position: relative;
  margin: 0;
  margin-right: 20px;
}
body.admin form#dateFilter #searchKeywordContainer.filled #cancel {
  display: block;
}
body.admin form#dateFilter #searchKeywordContainer #cancel {
  display: none;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 12px;
  height: 12px;
  cursor: pointer;
  background-image: url(/build/images/close.697b7ce2.png);
  background-size: cover;
}
body.admin form#dateFilter input[type=date] {
  margin: 0 10px 0 10px;
}
body.admin a.btn {
  background-color: #282727;
  font-weight: bold;
  padding: 10px 20px;
  border-radius: 5px;
  color: white !important;
  display: inline-block;
}
body.admin a.btn:hover {
  background-color: #5e5c5c;
}
body.admin a.btn::after {
  display: none !important;
}
body.admin #buttons {
  display: flex;
  justify-content: flex-end;
  margin: 20px 0;
}
body.admin #buttons a {
  margin-right: 10px;
}
body.admin #buttons a:last-child {
  margin-right: 0px;
}
body.admin #buttons a.active {
  background: #f46a3c;
}
body.admin #buttons a.switch {
  background: #53483a;
  display: flex;
  align-items: center;
}
body.admin #buttons a.switch::before {
  content: "";
  width: 20px;
  height: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/build/images/user.5fd62011.png);
  margin-right: 10px;
  display: block;
}
body.admin #buttons #settings {
  display: flex;
  align-items: center;
  justify-content: center;
}
body.admin #buttons #settings::before {
  content: "";
  display: block;
  height: 20px;
  width: 20px;
  background-image: url(/build/images/settings_admin.ff37a865.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
body.admin #mainContainer {
  height: 100%;
  overflow-y: scroll;
}
body.admin #mainContainer #sideBar {
  position: fixed;
  height: 100%;
  width: 190px;
  padding: 10px 0;
  background: #262626;
  z-index: 200;
}
body.admin #mainContainer #sideBar #settings,
body.admin #mainContainer #sideBar #logo {
  display: flex;
  justify-content: center;
}
body.admin #mainContainer #sideBar #settings {
  margin-bottom: 10px;
  margin-top: 30px;
}
body.admin #mainContainer #sideBar #logo {
  margin-bottom: 30px;
  margin-top: 10px;
}
body.admin #mainContainer #sideBar #logout {
  position: fixed;
  bottom: 0;
  background: #262626;
  width: 190px;
}
body.admin #mainContainer #sideBar #logout::before {
  content: "";
  display: block;
  width: 100%;
  background-image: linear-gradient(0deg, #5e5c5c, rgba(255, 255, 255, 0));
  height: 50px;
  position: absolute;
  top: -50px;
  opacity: 0.2;
}
body.admin #mainContainer #sideBar #logout a {
  margin-left: 10px;
  display: flex;
  align-items: center;
  padding: 20px 0;
  background-color: transparent;
  color: #3f3d3d !important;
}
body.admin #mainContainer #sideBar #logout a .title {
  color: white;
  font-size: 14px;
  margin-left: 10px;
  display: inline-block;
}
body.admin #mainContainer #sideBar #sections {
  overflow: scroll;
  height: 100%;
  padding-bottom: 50px;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
body.admin #mainContainer #sideBar #sections::-webkit-scrollbar {
  display: none;
}
body.admin #mainContainer #sideBar #sections .section:last-child {
  margin-bottom: 170px;
}
body.admin #mainContainer #sideBar #sections .section.active > a {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: rgba(248, 153, 28, 0.6392156863);
  width: 90%;
}
body.admin #mainContainer #sideBar #sections .section a {
  display: flex;
  padding: 15px 0;
  padding-left: 10px;
  align-items: center;
}
body.admin #mainContainer #sideBar #sections .section a:hover {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background: rgba(114, 112, 112, 0.411);
  width: 90%;
}
body.admin #mainContainer #sideBar #sections .section a .title {
  color: white;
  font-size: 13px;
  margin-left: 10px;
  margin-right: 10px;
  display: inline-block;
}
body.admin #mainContainer #sideBar #sections .section.active {
  background: rgba(67, 65, 65, 0.3764705882);
}
body.admin #mainContainer #sideBar #sections .sub-section.active a .title {
  color: white;
  font-weight: bold;
}
body.admin #mainContainer #sideBar #sections .sub-section a .title {
  color: #e9e9e9;
  font-size: 13px;
  margin-left: 10px;
  display: inline-block;
  text-wrap: nowrap;
}
body.admin #mainContainer main {
  grid-column: 1/20;
  margin-left: 190px;
  padding: 0 20px;
  background: #ededed;
}
body.admin #mainContainer main .title-filter {
  grid-column: 1/15;
  display: flex;
  align-items: center;
  gap: 10px;
}
body.admin #mainContainer main #title {
  font-size: 23px;
  font-weight: bold;
}
body.admin #mainContainer main #title a {
  color: inherit;
  display: flex;
  align-items: center;
}
body.admin #mainContainer main #title a::after {
  content: "";
  width: 15px;
  height: 15px;
  margin-left: 10px;
  background-image: url(/build/images/blank.364d76af.png);
  background-size: cover;
  display: block;
}
body.admin #mainContainer main #filter {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 10px;
}
body.admin #mainContainer main #dataContainer {
  margin-bottom: 40px;
}
body.admin #mainContainer main #breadcrumb {
  margin-top: 20px;
}
body.admin #mainContainer main #breadcrumb a {
  color: #282727;
}
body.admin .keyword {
  background: gray;
  border-radius: 5px;
  color: white;
  margin-right: 5px;
  padding: 1px 5px;
}
body.admin .action-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  position: relative;
}
body.admin .action-buttons .trigger {
  width: 5px;
  height: 20px;
  background-image: url(/build/images/small_menu.2de1cf5e.png);
  cursor: pointer;
  margin: 6px 0 6px 0;
  margin-left: 20px;
  padding: 5px 20px;
  background-position: center;
  background-repeat: no-repeat;
}
body.admin .action-buttons .content {
  display: none;
  position: absolute;
  width: 200px;
  background-image: linear-gradient(-45deg, #FAA924, #EE2A54);
  box-shadow: 0px 0px 24px #5e5c5c;
  border-radius: 5px;
  padding: 20px;
  right: 88px;
  top: 9px;
  grid-row-gap: 10px;
  z-index: 20;
}
body.admin .action-buttons .content .btn {
  background: #3f3d3d;
}
body.admin .action-buttons.active .content {
  display: grid;
}
body.admin #orderSheet #bookingDate,
body.admin #orderSheet #bookingNumber,
body.admin #orderSheet #guestNumber {
  margin-bottom: 20px;
}
body.admin #orderSheet #orderNumberCreatedDateHolderName {
  display: flex;
  flex-direction: column;
}
body.admin #orderSheet #orderNumberCreatedDateHolderName #orderNumberCreatedDate {
  display: flex;
  flex-direction: column;
  margin-right: 20px;
}
body.admin #orderSheet #orderNumberCreatedDateHolderName #status {
  display: flex;
  align-items: center;
}
body.admin #orderSheet #orderNumberCreatedDateHolderName #status .status {
  margin-left: 5px;
}
body.admin #orderSheet #foodOrder {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
body.admin #orderSheet #foodOrder .guest {
  margin-bottom: 40px;
}
body.admin #orderSheet #foodOrder .guest .name {
  font-weight: bold;
  margin-bottom: 20px;
}
body.admin #orderSheet #foodOrder .guest .feed {
  margin-bottom: 10px;
}
body.admin #orderSheet #foodOrder .guest .feed .details {
  color: #868686;
}

#user_roles {
  height: 80px;
}

#banckingInformationsButtonEditContainer button {
  background-color: #f46a3c;
  color: white;
  border: none;
  border-radius: 66px;
  padding: 8px 18px;
  margin: 10px 0;
  font-family: "Roboto-Medium";
  cursor: pointer;
}

#banckingInformations {
  display: grid;
  grid-row-gap: 10px;
  grid-column-gap: 10px;
  max-width: 100px;
  margin: 20px 0;
}
#banckingInformations .icon {
  grid-row: 1/3;
  grid-column: 1;
  width: 50px;
  height: 50px;
  background-color: rgb(156, 156, 156);
  background-image: url(/build/images/bank-svgrepo-com.728b2ec0.svg);
  background-size: 60%;
  background-position: center;
  background-repeat: no-repeat;
}
#banckingInformations .name {
  grid-row: 1;
  grid-column: 2;
  font-weight: bold;
}
#banckingInformations .routing-number-last4 {
  grid-row: 2;
  grid-column: 2;
}
#cancelAddingBanckingInformation {
  color: gray;
  margin: 0 20px;
}

#contentData {
  background-color: white;
  margin: 20px 0;
  border-radius: 30px;
  padding: 40px 30px;
}

#userFile {
  display: flex;
  align-items: center;
  margin: 50px 0;
}
#userFile .photo {
  height: 167px;
  width: 167px;
  background: #1C274C;
  color: #FFF;
  font-size: 83px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 50px;
  border-radius: 50%;
}
#userFile .informations > div {
  margin-bottom: 20px;
}
#userFile .informations .name {
  font-size: 20px;
  font-weight: bold;
}

#adminAppName {
  grid-column: 10/12;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
  color: #262626;
  border-radius: 20px;
  margin-left: 10px;
  padding: 0 20px;
  font-family: "Futura Bold font";
}
#adminAppName div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
#adminAppName div::before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(/build/images/line-columns.70dd781f.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

#dataContainer table {
  margin: 0px 20px 20px 0;
  background: white;
  padding: 40px;
  border-radius: 0 10px 10px 10px;
}
#dataContainer .dataTables_length,
#dataContainer .dataTables_filter {
  margin-bottom: 20px;
}

.dataTables_wrapper {
  margin-top: 20px;
}

table {
  width: 100%;
  text-align: left;
  border-collapse: collapse;
}
table td, table table.blueTable th {
  padding: 3px 2px;
}
table tbody {
  padding: 20px;
}
table tbody td {
  font-size: 13px;
  text-align: center;
}
table tbody td.title {
  text-align: left;
  font-size: 15px;
  font-weight: bold;
  padding: 20px;
}
table tr:nth-child(even) {
  background: #D0E4F5;
}
table thead th {
  font-size: 15px;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}
table thead th:first-child {
  border-left: none;
}
table tfoot {
  font-size: 14px;
  font-weight: bold;
  border-top: 2px solid #444444;
}
table tfoot td {
  font-size: 14px;
}
table tfoot .links {
  text-align: right;
}
table tfoot .links a {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 5px;
}
table a {
  text-decoration: none;
  color: #3f3d3d !important;
  display: flex;
  justify-content: center;
}
table a::after {
  content: "";
  width: 15px;
  height: 15px;
  margin-left: 10px;
  background-image: url(/build/images/blank.364d76af.png);
  background-size: cover;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

#logFile #logSelectorContainer {
  display: flex;
  justify-content: end;
  margin-bottom: 20px;
}
#logFile #logSelectorContainer select {
  padding: 20px 10px;
}
#logFile #logSelectorContainer select option {
  padding: 20px 10px;
}
#logFile #logContentLastTime {
  margin-bottom: 10px;
}
#logFile #logContent {
  min-height: 30vh;
  max-height: 60vh;
  background-color: #3f3d3d;
  padding: 20px;
  line-height: 20px;
  color: white;
  overflow-y: scroll;
  margin-bottom: 10px;
}

#settingLinks {
  padding: 20px 0;
}
#settingLinks .link {
  background-color: white !important;
  padding: 20px 30px !important;
  border-radius: 20px !important;
  margin: 0 20px 20px 0 !important;
  color: inherit !important;
  display: inline-block;
  border: 1px solid #afacac;
}
#settingLinks .link .title {
  font-weight: bold;
  margin-bottom: 10px;
  text-decoration: none;
  color: inherit;
}
#settingLinks .link .description {
  text-decoration: none;
  color: inherit;
  font-weight: normal;
}

#bankInformations {
  display: flex;
  align-items: center;
}
#bankInformations #bankAccount #bankName {
  color: #282727;
}
#bankInformations #bankAccount #last4 {
  color: #3f3d3d;
}
#bankInformations .action {
  display: none;
}
#bankInformations:hover .action {
  display: block;
}

form#payment-form .action {
  display: flex;
  align-items: center;
}
form #table_book_book_date {
  display: flex;
}
form #table_book_book_date > div {
  display: flex;
  align-items: center;
  margin-right: 20px;
}
form #table_book_book_date > div select {
  margin-right: 5px;
}
form #nameStatuses {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
form #nameStatuses #name {
  margin-bottom: 0px;
  max-width: 50%;
}
form #nameStatuses #statuses {
  margin-bottom: 0px;
  margin-top: 25px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 10px;
}
form #nameStatuses #statuses .status {
  margin-right: 10px;
}
form #nameStatuses #statuses .status.green {
  background-color: green;
}
form #nameStatuses #statuses .status.red {
  background-color: red;
}
form .help-text {
  margin-top: 5px;
  font-size: 12px;
  color: #3f3d3d;
}
form .address > div {
  margin-bottom: 10px;
}
form #sideBarForm,
form .content {
  margin-top: 20px;
}
form #restaurant_manager_profile_type_admin_dob,
form #restaurant_manager_profile_dob {
  display: flex;
  max-width: 500px;
}
form #restaurant_manager_profile_type_admin_dob select,
form #restaurant_manager_profile_dob select {
  margin-right: 10px;
}
form[name=user_password] > div, form[name=user_profile] > div, form[name=restaurant_manager_profile] > div, form[name=restaurant_manager_profile_type_admin] > div, form#login > div {
  margin-bottom: 20px;
}
form[name=user_password] .checkboxes, form[name=user_profile] .checkboxes, form[name=restaurant_manager_profile] .checkboxes, form[name=restaurant_manager_profile_type_admin] .checkboxes, form#login .checkboxes {
  display: flex;
  align-items: center;
}
form[name=user_password] .checkboxes label, form[name=user_profile] .checkboxes label, form[name=restaurant_manager_profile] .checkboxes label, form[name=restaurant_manager_profile_type_admin] .checkboxes label, form#login .checkboxes label {
  margin: 0 10px 0 0;
}
form[name=user_password] .checkboxes > div, form[name=user_profile] .checkboxes > div, form[name=restaurant_manager_profile] .checkboxes > div, form[name=restaurant_manager_profile_type_admin] .checkboxes > div, form#login .checkboxes > div {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-right: 20px;
  margin-bottom: 0px !important;
}
form[name=user_password] .checkboxes > div input, form[name=user_profile] .checkboxes > div input, form[name=restaurant_manager_profile] .checkboxes > div input, form[name=restaurant_manager_profile_type_admin] .checkboxes > div input, form#login .checkboxes > div input {
  margin-right: 10px;
}
form[name=user_password] .checkboxes > div label, form[name=user_profile] .checkboxes > div label, form[name=restaurant_manager_profile] .checkboxes > div label, form[name=restaurant_manager_profile_type_admin] .checkboxes > div label, form#login .checkboxes > div label {
  margin: 0;
}
form .content {
  grid-column: 1/14;
  background: white;
  padding: 20px;
  border-radius: 10px;
  /*box-shadow: 0px 0px 24px #e9e9e9;*/
}
form .content > div {
  margin-bottom: 30px;
}
form .content > div > div {
  margin-bottom: 20px;
  margin-right: 20px;
}
form #sideBarForm {
  grid-column: 14/19;
}
form #sideBarForm .title {
  font-size: 15px;
  font-weight: bold;
}
form #sideBarForm .content {
  margin: 20px 0;
}
form label {
  display: block;
  margin-bottom: 10px;
}
form select,
form textarea,
form button,
form input[type=date],
form input[type=text],
form input[type=email],
form input[type=number],
form input[type=password] {
  border-radius: 5px;
  color: #3f3d3d;
  border: 1px solid #e9e9e9;
  height: 40px;
  padding-left: 10px;
}
form select::placeholder,
form textarea::placeholder,
form button::placeholder,
form input[type=date]::placeholder,
form input[type=text]::placeholder,
form input[type=email]::placeholder,
form input[type=number]::placeholder,
form input[type=password]::placeholder {
  color: #868686;
}
form button {
  cursor: pointer;
}
form button[disabled=disabled],
form button:disabled {
  opacity: 0.5;
  cursor: default;
}
form textarea#keywords {
  width: 80%;
  height: 150px;
  padding: 20px 10px;
}
form > .content select,
form > .content textarea,
form > .content input[type=email],
form > .content input[type=password],
form > .content input[type=text] {
  width: 80%;
}
form > .content label {
  margin-bottom: 10px;
}
form > .content textarea {
  min-height: 200px;
  padding: 20px;
  line-height: 20px;
}

#chainSelectorContainer {
  margin-right: 20px;
}

.public-link {
  font-size: 14px;
}
.public-link a {
  text-decoration: underline !important;
}

.delete {
  text-align: right;
}
.delete button {
  background-color: transparent !important;
  color: #3f3d3d;
  text-decoration: underline !important;
}

table #slots {
  display: flex;
  justify-content: center;
}
table #slots .slot {
  margin: 5px;
  border-radius: 5px;
  background-color: #F8991C;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
}

.admin #timeSlot .slots-title {
  display: flex;
  align-items: center;
}
.admin #timeSlot .slots-title.inactive {
  opacity: 0.6;
}
.admin #timeSlot .slots-title .slots {
  display: flex;
}
.admin #timeSlot .slots-title .slots .slot {
  margin: 5px;
  border-radius: 5px;
  background-color: #F8991C;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
}

form button {
  background-color: #f46a3c;
  border-radius: 30px;
  color: white;
  animation: emphasis 3s ease-in-out infinite;
  font-weight: bold;
  padding: 10px 20px;
  backdrop-filter: blur(5px);
}
@keyframes emphasis {
  0% {
    background: #f46a3c;
  }
  50% {
    background: #F8991C;
  }
  100% {
    background: #f46a3c;
  }
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

@media only screen and (max-width: 425px) {
  #dataContainer .dataTables_length, #dataContainer .dataTables_filter {
    text-align: left;
  }
  #filter {
    overflow: scroll;
    margin-top: 20px;
    width: 100%;
  }
  #cookingStyles {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  #nameStatuses {
    flex-direction: column;
  }
  #buttons {
    overflow-x: scroll;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  #buttons::-webkit-scrollbar {
    display: none;
  }
  #dataContainer {
    flex: 1;
    display: grid;
    overflow: auto;
  }
  #dataContainer .content {
    grid-column: 1/20 !important;
  }
  #dataContainer .delete {
    grid-row: 3;
  }
  #dataContainer #sideBarForm {
    grid-column: 1/20 !important;
    grid-row: 2;
  }
  .admin #header .title-filter {
    grid-row: 2;
    grid-column: 1/19 !important;
  }
  .admin #header #navigationContainer {
    grid-column: 1/19;
  }
  .admin #sideBar {
    display: none;
  }
  .admin #sideBar.active {
    z-index: 101;
    display: flex !important;
    position: fixed !important;
    left: 0;
    grid-column: 1/20 !important;
    width: 100% !important;
  }
  .admin #sideBar.active #logout,
  .admin #sideBar.active #sections {
    width: 100% !important;
  }
  .admin #sideBar.active #logout .section a,
  .admin #sideBar.active #sections .section a {
    justify-content: center;
  }
  .admin #sideBar.active #logout a {
    justify-content: center !important;
  }
  .admin main {
    grid-column: 1/19 !important;
    margin-left: 0px !important;
  }
  .admin main .title-filter {
    display: flex;
    flex-direction: column;
  }
  .admin main #navigation {
    grid-column: 1/6 !important;
  }
  .admin main #navigation .user-menu {
    left: 10px !important;
    right: unset !important;
  }
  .admin main #menuContainer {
    grid-column: 11/20 !important;
    display: flex;
    justify-content: end;
  }
  .admin main #menuContainer #menu {
    width: 25px;
    height: 25px;
    display: block;
    background-image: url(/build/images/burger.3ce6369b.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

@media only screen and (max-width: 768px) {
  body.admin #navigationContainer {
    align-items: start;
  }
  body.admin #mainContainer #sideBar {
    grid-column: 1/3;
  }
  body.admin #mainContainer main {
    grid-column: 1/20;
  }
  body.admin #mainContainer main .title-filter {
    flex-direction: column;
    align-items: start;
    grid-column: 1/19;
    grid-row: 2;
  }
  body.admin #mainContainer main .title-filter #filter {
    width: 100%;
    flex-direction: column;
    height: auto;
    justify-content: center;
  }
  body.admin #mainContainer main .title-filter #filter #dateFilter {
    flex-direction: column;
    margin: 20px 0 20px 0;
  }
  body.admin #mainContainer main .title-filter #filter #dateFilter #searchKeywordContainer {
    margin: 0;
  }
  body.admin #mainContainer main .title-filter #filter #dateFilter #inputs {
    margin: 10px 0 10px 0;
  }
  body.admin #mainContainer .action-buttons {
    flex-direction: column;
  }
  body.admin #mainContainer .action-buttons .trigger {
    margin-left: 0;
  }
  body.admin #mainContainer .action-buttons.active .content {
    display: block;
  }
  body.admin #mainContainer .action-buttons.active .content .btn {
    margin-bottom: 10px;
  }
}
:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

@media only screen and (max-width: 1024px) {
  body.admin #mainContainer .action-buttons.active .content .btn {
    margin-bottom: 10px;
  }
  body.admin #mainContainer main .title-filter {
    flex-direction: column;
  }
}
:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

@media only screen and (max-width: 1404px) {
  body.admin #mainContainer .action-buttons.active .content .btn {
    margin-bottom: 10px;
  }
}
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#restaurantService {
  background-color: #000;
  display: flex;
}
#restaurantService table a {
  color: white !important;
}
#restaurantService #alertRestaurantService.active {
  width: 100%;
  height: 100%;
  background: white;
  position: fixed;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(180deg, #FAA924, #EE2A54);
  font-size: 20px;
  cursor: pointer;
}
#restaurantService #alertRestaurantService.active #quantity {
  font-family: "Roboto-Bold";
  font-size: 100px;
  color: #fff;
  margin-bottom: 50px;
  border: none;
}
#restaurantService #alertRestaurantService.active #title {
  font-family: "Roboto-Condensed";
  font-size: 50px;
  color: #fff;
  margin-bottom: 20px;
  border: none;
}
#restaurantService #alertRestaurantService.active #instructions {
  font-size: 20px;
}
#restaurantService #alertRestaurantService.active #circle {
  background-color: rgba(20, 19, 19, 0.164);
  height: 80vh;
  width: 80vh;
  position: absolute;
  border-radius: 50%;
  z-index: -1;
  animation: 3s zoomInOut ease infinite;
}
@keyframes zoomInOut {
  0% {
    height: 80vh;
    width: 80vh;
  }
  50% {
    height: 50vh;
    width: 50vh;
  }
  100% {
    height: 80vh;
    width: 80vh;
  }
}
#restaurantService #sideBar {
  background-image: linear-gradient(-45deg, #FAA924, #EE2A54);
  width: 76px;
  height: 100vh;
  position: fixed;
}
#restaurantService #sideBar ul {
  margin: 0 !important;
  padding: 0 !important;
}
#restaurantService #sideBar ul li {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
#restaurantService #sideBar ul li a {
  display: block;
  width: 76px;
  height: 76px;
  margin-bottom: 20px;
  background-repeat: no-repeat;
  background-position: center;
}
#restaurantService #sideBar ul li a.home {
  background-image: url(/build/images/burger.3ce6369b.png);
}
#restaurantService #sideBar ul li a.backoffice {
  background-image: url(/build/images/backoffice.07c13278.png);
}
#restaurantService #content {
  width: 100%;
  padding-left: 76px;
  height: 100vh;
}
#restaurantService #content table {
  color: white;
}
#restaurantService #content table tr:nth-child(even) {
  background-color: #373434;
}
#restaurantService #content table tr:nth-child(odd) {
  background-color: #424242;
}
#restaurantService #content table thead tr {
  background-color: #000 !important;
}
#restaurantService #content table thead th {
  font-size: 30px;
}
#restaurantService #content table td {
  font-size: 20px;
  padding: 20px;
}
#restaurantService #content table td.actions {
  display: grid;
  grid-row-gap: 10px;
}
#restaurantService #content table td.actions a {
  background: red;
  height: 40px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
#restaurantService #content table td.actions a::after {
  display: none;
}

#orderSheet.for-customer {
  background: whitesmoke;
}
#orderSheet.for-customer .block {
  background: transparent;
}
#orderSheet .restaurant-photo {
  background-size: cover;
  background-position: center;
  height: 50vh;
}
#orderSheet .block {
  background: white;
  margin: 50px;
  border-radius: 10px;
}
#orderSheet #bookingHeader {
  padding: 30px;
  border-bottom: 1px solid #e9e6e6;
  display: flex;
  justify-content: space-between;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber {
  display: grid;
  row-gap: 10px;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber #guestName {
  font-weight: bold;
  font-size: 20px;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber #guestNumber {
  font-size: 20px;
}
#orderSheet #bookingHeader #guestNameGuestNumberBookingNumber #bookingNumber {
  font-size: 15px;
  text-transform: uppercase;
}
#orderSheet #bookingHeader #bookingDateTimePast {
  display: grid;
  row-gap: 10px;
}
#orderSheet #bookingHeader #bookingDateTimePast #bookingDate {
  font-weight: bold;
  text-align: right;
}
#orderSheet #bookingHeader #bookingDateTimePast #timePast {
  text-align: right;
  color: #978F8F;
}
#orderSheet #bookingContent {
  padding: 30px;
}
#orderSheet #bookingContent .guest {
  margin-bottom: 20px;
}
#orderSheet #bookingContent .guest .feed {
  display: flex;
  margin-bottom: 10px;
  justify-content: space-between;
}
#orderSheet #bookingContent .guest .feed .feed-quantity-name {
  display: flex;
}
#orderSheet #bookingContent .guest .feed .feed-quantity-name .feed-quantity {
  font-weight: bold;
  font-size: 15px;
  width: 50px;
}
#orderSheet #bookingContent .guest .feed .feed-quantity-name .feed-name {
  font-weight: bold;
  font-size: 15px;
}
#orderSheet #bookingContent .guest .feed .feed-price {
  font-weight: bold;
  font-size: 14px;
}
#orderSheet #bookingContent .guest .details {
  background-color: #fde5c5;
  padding: 15px 0px 15px 50px;
}
#orderSheet #bookingContent #total {
  margin-top: 20px;
  display: flex;
  justify-content: end;
}
#orderSheet #bookingContent #total table {
  font-weight: bold;
  width: auto;
}
#orderSheet #bookingContent #total table tr {
  color: #000;
  background-color: transparent;
}
#orderSheet #bookingContent #total table tr td {
  font-size: 14px;
  padding: 0;
}
#orderSheet #bookingContent #total table tr td.label {
  padding-right: 20px;
}
#orderSheet #bookingAction {
  padding: 30px;
  display: flex;
  justify-content: end;
}
#orderSheet #bookingAction button.cancel {
  background-color: #cecccc;
  color: #978F8F;
}

#servicesTimes {
  margin-bottom: 30px;
}
#servicesTimes .title-slot {
  margin: 0;
  display: flex;
  font-weight: normal;
  text-transform: capitalize;
  font-size: 16px !important;
  margin-bottom: 10px;
}
#servicesTimes #slots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 5px;
  justify-content: center;
}
#servicesTimes #slots .slot {
  border-radius: 5px;
  background-color: #F1454C;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
}
#servicesTimes #slots .slot.not-available {
  opacity: 0.5;
}
#servicesTimes #slots .slot.active, #servicesTimes #slots .slot:hover {
  background-color: #000;
  cursor: pointer;
}

.thanks-message {
  grid-column: 2/12;
}
.thanks-message .restaurant-photo {
  background-size: cover;
  background-position: center;
  height: 50vh;
}

.person-details h5 {
  font-size: 17px;
}

.restaurants {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-row-gap: 20px;
  grid-column-gap: 20px;
}
.restaurants a {
  text-decoration: none;
}
.restaurants a .restaurant .content .photo {
  height: 150px;
  border-radius: 10px;
  background: #978F8F;
  margin-bottom: 10px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.restaurants a .restaurant .content .quotation-city {
  display: flex;
  flex-direction: row-reverse;
  align-items: start;
  justify-content: space-between;
}
.restaurants a .restaurant .content .quotation-city .quotation,
.restaurants a .restaurant .content .quotation-city .city {
  font-size: 12px;
  font-weight: bold;
  color: #2162a1;
}
.restaurants a .restaurant .content .quotation-city .quotation {
  margin-right: 10px;
  display: flex;
  align-items: center;
}
.restaurants a .restaurant .content .quotation-city .quotation::before {
  content: "";
  height: 10px;
  width: 10px;
  background-image: url(/build/images/star.d9c1ca26.png);
  background-size: cover;
  margin-left: 10px;
  margin-right: 5px;
  margin-bottom: 3px;
  display: block;
}

#pagination {
  grid-row: 2;
  grid-column: 4/14;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 40px 0;
}
#pagination a {
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000;
  border-radius: 5px;
  font-size: 11px;
  margin: 0 5px;
  border: 1px solid #978F8F;
  text-decoration: none;
}
#pagination a:hover {
  background-color: #e9e6e6;
}
#pagination a.previous, #pagination a.next {
  background-repeat: no-repeat;
  background-position: center;
}
#pagination a.previous {
  background-image: url(/build/images/arrow-black.d3ac540f.png);
  rotate: 90deg;
}
#pagination a.next {
  background-image: url(/build/images/arrow-black.d3ac540f.png);
  rotate: -90deg;
}
#pagination a.page.current {
  border: 1px solid #978F8F;
  font-family: "futura medium bt";
}

body.tunnel {
  margin-bottom: 50px;
}
body.tunnel #orderContainer #paymentDetails .content {
  position: fixed;
}
body.tunnel #orderContainer,
body.tunnel form#booking {
  grid-template-columns: repeat(12, 1fr);
  display: grid;
  grid-column: 2/12;
}
body.tunnel #orderContainer #bookingDetails,
body.tunnel form#booking #bookingDetails {
  grid-column: 1/7;
}
body.tunnel #orderContainer #bookingDetails > .title,
body.tunnel form#booking #bookingDetails > .title {
  font-weight: normal;
  font-family: "futura medium bt";
  font-size: 24px;
}
body.tunnel #orderContainer #bookingDetails .details,
body.tunnel form#booking #bookingDetails .details {
  margin-bottom: 20px;
}
body.tunnel #orderContainer #bookingDetails .details .title,
body.tunnel form#booking #bookingDetails .details .title {
  font-family: "futura medium bt";
  font-size: 18px;
  margin-bottom: 5px;
}
body.tunnel #orderContainer #bookingDetails #payment,
body.tunnel form#booking #bookingDetails #payment {
  border-top: 1px solid #f9f9f9;
  padding: 20px 0;
}
body.tunnel #orderContainer #bookingDetails #payment .title,
body.tunnel form#booking #bookingDetails #payment .title {
  font-weight: normal;
  font-family: "futura medium bt";
  font-size: 24px;
  margin: 0;
  margin-bottom: 20px;
}
body.tunnel #orderContainer #bookingDetails #payment div,
body.tunnel form#booking #bookingDetails #payment div {
  margin-bottom: 20px;
}
body.tunnel #orderContainer #bookingDetails #payment div label,
body.tunnel form#booking #bookingDetails #payment div label {
  font-family: "futura medium bt";
}
body.tunnel #orderContainer #bookingDetails #payment div input,
body.tunnel form#booking #bookingDetails #payment div input {
  width: 100%;
}
body.tunnel #orderContainer #paymentDetails,
body.tunnel form#booking #paymentDetails {
  grid-column: 8/12;
  position: relative;
}
body.tunnel #orderContainer #paymentDetails .content,
body.tunnel form#booking #paymentDetails .content {
  border: 1px solid #e9e6e6;
  border: 20px solid white;
  border-radius: 15px;
  background: #fff;
  z-index: 100;
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
body.tunnel #orderContainer #paymentDetails .content::-webkit-scrollbar,
body.tunnel form#booking #paymentDetails .content::-webkit-scrollbar {
  display: none;
}
body.tunnel #orderContainer #paymentDetails .content .details,
body.tunnel form#booking #paymentDetails .content .details {
  padding-top: 20px;
  border-top: 1px solid #e9e6e6;
  margin-top: 20px;
}
body.tunnel #orderContainer #paymentDetails .content .details .title,
body.tunnel form#booking #paymentDetails .content .details .title {
  font-weight: normal;
  font-family: "futura medium bt";
  font-size: 24px;
  margin: 0;
  margin-bottom: 20px;
}
body.tunnel #orderContainer #paymentDetails .content .details .charges-details,
body.tunnel form#booking #paymentDetails .content .details .charges-details {
  margin-top: 40px;
}
body.tunnel #orderContainer #paymentDetails .content .details .detail,
body.tunnel form#booking #paymentDetails .content .details .detail {
  margin-bottom: 15px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 5px;
}
body.tunnel #orderContainer #paymentDetails .content .details .detail .value,
body.tunnel form#booking #paymentDetails .content .details .detail .value {
  text-align: right;
}
body.tunnel #orderContainer #paymentDetails .content .details #total,
body.tunnel form#booking #paymentDetails .content .details #total {
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid #e9e6e6;
  margin-top: 20px;
}
body.tunnel #orderContainer #paymentDetails .content .details #total .value,
body.tunnel #orderContainer #paymentDetails .content .details #total .name,
body.tunnel form#booking #paymentDetails .content .details #total .value,
body.tunnel form#booking #paymentDetails .content .details #total .name {
  font-family: "futura medium bt";
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations,
body.tunnel form#booking #paymentDetails .content #restaurantInformations {
  display: flex;
  margin-bottom: 0px;
  flex-direction: column;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .restaurant-photo,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .restaurant-photo {
  width: 100%;
  height: 220px;
  border-radius: 15px;
  background-size: cover;
  margin: 0;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations {
  margin-top: 20px;
  flex-shrink: 0;
  align-items: center;
  display: flex;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city {
  display: flex;
  flex-direction: column;
  width: 100%;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title {
  margin-bottom: 10px;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title .restaurant-type,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title .restaurant-type {
  font-size: 14px;
  color: #978F8F;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title .title,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title .title {
  font-weight: normal;
  font-family: "futura light bt";
  font-size: 16px;
  margin: 0;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title > div,
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title .title,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title > div,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .restaurant-type-title .title {
  margin-bottom: 10px;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation {
  display: flex;
  justify-content: space-between;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .quotation,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .quotation {
  text-decoration: none;
  color: black;
  font-family: "futura medium bt";
  display: flex;
  align-items: center;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .quotation::after,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .quotation::after {
  content: "";
  height: 15px;
  width: 15px;
  background-image: url(/build/images/star.d9c1ca26.png);
  background-size: cover;
  margin-left: 10px;
  margin-right: 5px;
  margin-bottom: 3px;
  display: block;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .city,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .city {
  display: flex;
  margin-left: 10px;
}
body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .city::after,
body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .city::after {
  content: "";
  background-image: url(/build/images/pin.56c374ad.png);
  background-repeat: no-repeat;
  background-position: center;
  width: 18px;
  height: 20px;
  display: flex;
  align-content: center;
  align-items: center;
  margin-left: 5px;
}
body.tunnel .banner {
  grid-column: 1/15;
  height: 40vh;
  min-height: 316px;
  margin-bottom: 10px;
}
body.tunnel .banner .restaurant-photo {
  background-position-x: 70%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position-y: 60%;
}
body.tunnel .banner .restaurant-photo.with-food {
  grid-column: 1/10;
}
body.tunnel .banner .restaurant-photo.no-food {
  grid-column: 1/15;
}
body.tunnel .banner .restaurant-food-photos {
  grid-column: 10/15;
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: var(--grid-gap);
}
body.tunnel .banner .restaurant-food-photos .restaurant-food-photo {
  background-position-x: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position-y: center;
}
body.tunnel .header {
  grid-column: 2/12;
  margin: 20px 0;
}
body.tunnel .header .back-title {
  display: flex;
  align-items: center;
}
body.tunnel .header .back-title a {
  text-decoration: none;
  color: #000;
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(/build/images/arrow-black-1.6258435f.png);
  background-position: center;
  background-repeat: no-repeat;
}
body.tunnel .header .back-title h1 {
  margin: 0;
  font-family: "futura medium bt";
}
body.tunnel .header .restaurant-cooking-styles {
  margin-top: 10px;
}
body.tunnel .header .title-quotation-city {
  display: flex;
  align-items: end;
}
body.tunnel .header .title-quotation-city .title {
  font-size: 24px;
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 0;
}
body.tunnel .header .title-quotation-city .quotation {
  font-size: 16px;
  text-decoration: none;
  color: #000;
  display: flex;
}
body.tunnel .header .title-quotation-city .quotation::after {
  content: "";
  height: 19px;
  width: 19px;
  background-image: url(/build/images/star.d9c1ca26.png);
  background-size: cover;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 3px;
}
body.tunnel .header .title-quotation-city .quotation i {
  margin-left: 5px;
}
body.tunnel .header .title-quotation-city .city {
  font-size: 16px;
  color: #000;
  margin-bottom: 3px;
}
body.tunnel .header .restaurant-name {
  font-size: 16px;
}
body.tunnel #foodContainer {
  min-height: 50vh;
  grid-column: 2/8;
}
body.tunnel #foodContainer.full {
  grid-column: 2/12;
}
body.tunnel #foodContainer #mapContainer {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
body.tunnel #foodContainer #mapContainer a {
  color: initial;
  font-family: "Roboto-Regular";
  display: flex;
  font-weight: 400;
}
body.tunnel #foodContainer #mapContainer a::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(/build/images/pin.56c374ad.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  margin-right: 10px;
}
body.tunnel #foodContainer #description {
  text-align: justify;
  margin-top: 20px;
  margin-bottom: 40px;
}
body.tunnel #foodContainer #description #restaurantMap {
  height: 300px;
  margin-top: 20px;
}
body.tunnel #menuTabs {
  margin-bottom: 40px;
}
body.tunnel #menuTabs a {
  color: #000;
  text-decoration: none;
  font-size: 16px;
  font-family: "futura medium bt";
  margin-right: 20px;
  position: relative;
  min-width: 53px;
  text-align: center;
  display: inline-block;
}
body.tunnel #menuTabs a.active:after {
  content: "";
  height: 4px;
  width: 53px;
  background: #FBA925;
  display: inline-block;
  position: absolute;
  border-radius: 10px;
  left: 0;
  right: 0;
  bottom: -10px;
  margin: 0 auto;
}
body.tunnel #food .food-content .food-division {
  margin-bottom: 30px;
}
body.tunnel #food .food-content .food-division .food-division-title {
  color: #000;
  font-size: 16px;
  font-weight: normal;
  font-family: "futura medium bt";
}
body.tunnel #food .food-content .food-division .food-division-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.tunnel #food .food-content .food-division .food-division-content .food {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: "futura light bt";
  font-size: 16px;
  height: 30px;
  padding: 0 20px;
}
body.tunnel #food .food-content .food-division .food-division-content .food:hover {
  background: rgb(245, 237, 237);
}
body.tunnel #food .food-content .food-division .food-division-content .food .food-title-price {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
body.tunnel #food .food-content .food-division .food-division-content .food .food-description {
  color: #978F8F;
}
body.tunnel #food .food-content .food-division .food-division-content .food .food-dots {
  border-bottom: 1px dotted;
  width: 100%;
}
body.tunnel #food .food-content .food-division .food-division-content .food .food-price {
  min-width: 60px;
  text-align: right;
}
body.tunnel #food .food-content .food-division .food-division-content .food label {
  width: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}
body.tunnel #food .food-content .food-division .food-division-content .food label .food-photo {
  width: 100px;
  height: 100px;
  background-position: center;
  background-size: cover;
  margin-right: 10px;
}
body.tunnel #food .food-content .food-division .food-division-content .food .food-selector {
  display: flex;
}
body.tunnel #food .food-content .food-division .food-division-content .food .food-selector.active-detail input[type=text] {
  display: none;
}
body.tunnel #sideBar {
  grid-column: 9/12;
}
body.tunnel #sideBar #bookFormContainer {
  margin-top: 20px;
}
body.tunnel #sideBar #bookFormContainer #triggerContainer {
  display: none;
}
body.tunnel #sideBar #bookFormContainer .close {
  box-shadow: 0px 0px 24px #9b8484;
  display: none;
}
body.tunnel #sideBar #bookFormContainer #contact {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
body.tunnel #sideBar #bookFormContainer #contact a {
  text-decoration: none;
  color: #e48e1d;
  font-family: "futura medium bt";
  margin-left: 5px;
}
body.tunnel #sideBar #bookFormContainer #contact span {
  display: block;
  margin-bottom: 10px;
}
body.tunnel #sideBar #bookFormContainer #bookingQuantity {
  text-align: center;
  padding: 0 20px;
  font-weight: bold;
}
body.tunnel #sideBar #bookFormContainer form {
  box-shadow: 0px 8px 28px rgba(0, 0, 0, 0.07);
}
body.tunnel #sideBar #bookFormContainer form button {
  width: 100%;
  height: 50px;
  font-weight: bold;
  cursor: pointer;
}
body.tunnel #sideBar #bookFormContainer form input,
body.tunnel #sideBar #bookFormContainer form select {
  width: 100%;
  height: 50px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #978F8F;
  border-radius: 0;
}
body.tunnel #sideBar #bookFormContainer form > div {
  padding-bottom: 20px;
}
body.tunnel #sideBar #bookFormContainer form .date-time {
  display: flex;
  justify-content: space-between;
}
body.tunnel #sideBar #bookFormContainer form .date-time > div {
  width: 100%;
}
body.tunnel #sideBar #bookFormContainer form .date-time > div.time {
  padding-left: 10px;
}
body.tunnel #sideBar #bookFormContainer form .date-time > div.date {
  padding-right: 10px;
  margin-bottom: 0;
}
body.tunnel #sideBar #bookFormContainer form .title {
  font-size: 23px;
  font-family: "futura medium bt";
  text-align: center;
  font-weight: normal;
}
#impersonatorMenu {
  background: #c16565;
  padding: 20px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "futura medium bt";
}
#impersonatorMenu a {
  margin: 0 4px;
  text-decoration: underline;
  color: white;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

body#account #mainContent {
  height: 100vh;
  display: flex;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: none;
}
body#account #mainContent #logo {
  margin-bottom: 20px;
}
body#account #mainContent form {
  width: 100%;
  border: 1px solid #e9e6e6;
  padding: 20px;
  border-radius: 20px;
  background-color: #fff;
}
body#account #mainContent form[name=registration_restaurant_form] > div, body#account #mainContent form[name=registration_form] > div {
  margin-top: 20px;
}
body#account #mainContent form[name=registration_restaurant_form] button, body#account #mainContent form[name=registration_form] button {
  margin-top: 20px;
}
body#account #mainContent form div {
  margin-bottom: 10px;
}
body#account #mainContent form button[type=submit],
body#account #mainContent form input[type=text],
body#account #mainContent form input[type=password] {
  width: 100%;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  justify-content: center;
}
body#account #mainContent form .cancel {
  background: #e9e6e6;
  border: none;
  color: #978F8F;
  padding: 0 10px;
  height: 40px;
  margin: 0;
  justify-content: center;
  display: flex;
  align-items: center;
  text-decoration: none;
  margin-left: 10px;
  border-radius: 5px;
  font-size: 14px;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

body.error {
  height: 100vh;
  overflow: hidden;
}
body.error main {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
}
body.error main h1 {
  font-size: 50px;
  text-align: center;
  font-weight: bold;
}
body.error main div {
  font-size: 20px;
  text-align: center;
}
body.error main img {
  margin-top: 10vh;
}
body.error main a {
  margin-top: 10vh;
}
body.error main.critical {
  background-color: rgba(0, 0, 0, 0.5607843137);
  color: #fff;
}
body.error main.critical:before {
  background-image: url(/build/images/kitchen.45de9ab9.png);
}
body.error main.critical a {
  background: #e48e1d;
}
body.error main.not-found {
  color: #000;
}
body.error main.not-found:before {
  background-image: url(/build/images/desert.c0fc13b9.png);
}
body.error main.not-found a {
  background: #fff;
}
body.error main:before {
  content: " ";
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
body.error main #errorPageContainer {
  grid-column: 5/12;
}
body.error main #errorPageContainer .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#vipContainer #visual {
  width: 300px;
  height: 200px;
  border: 1px solid #978F8F;
  margin-bottom: 20px;
  border-radius: 5px;
  background-image: url(/build/images/vip.93ca33b6.png);
  background-size: 200px;
  background-position: center;
  background-repeat: no-repeat;
}
#vipContainer #argument {
  margin-bottom: 20px;
}
#vipContainer #amount {
  display: flex;
  margin-bottom: 20px;
  align-items: center;
}
#vipContainer #amount #reassurance {
  display: flex;
  align-items: center;
}
#vipContainer #amount #reassurance span {
  width: 5px;
  height: 5px;
  background-color: black;
  border-radius: 50%;
  margin-left: 20px;
  margin-right: 20px;
}
#vipContainer #action {
  margin-bottom: 20px;
}

.phone-formatter {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 10px;
  max-width: 300px;
}

input[name="user_profile[email]"] {
  width: 200px;
}

body.tunnel #cardInformations,
body.profile #cardInformations {
  align-items: center;
}
body.tunnel #cardInformations.active,
body.profile #cardInformations.active {
  display: flex;
}
body.tunnel #cardInformations #cardInformationsType,
body.profile #cardInformations #cardInformationsType {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 32px;
  height: 32px;
  border-radius: 5px;
  margin-right: 10px;
}
body.tunnel #cardInformations #cardInformationsType.visa,
body.profile #cardInformations #cardInformationsType.visa {
  background-image: url(/build/images/visa.cb1ccf90.png);
}
body.tunnel #cardInformations #cardInformationsType.mastercard,
body.profile #cardInformations #cardInformationsType.mastercard {
  background-image: url(/build/images/mastercard.530ec1d3.png);
}
body.tunnel #cardInformations #cardInformationsNumberExp,
body.profile #cardInformations #cardInformationsNumberExp {
  margin-right: 10px;
}
body.tunnel #cardInformations #cardInformationsNumberExp #cardInformationNumber,
body.profile #cardInformations #cardInformationsNumberExp #cardInformationNumber {
  font-family: "futura medium bt";
}
body.tunnel #cardInformations #cardInformationsNumberExp #cardInformationExp,
body.profile #cardInformations #cardInformationsNumberExp #cardInformationExp {
  color: #978F8F;
}
body.tunnel #cardForm .actions,
body.profile #cardForm .actions {
  display: flex;
  align-items: center;
}
body.tunnel #cardForm .actions .cancel,
body.profile #cardForm .actions .cancel {
  margin-left: 10px;
}
body.tunnel #cardForm .content,
body.profile #cardForm .content {
  background: transparent;
  box-shadow: none;
  padding: 0;
}
body.tunnel #cardForm .content #cardFields,
body.profile #cardForm .content #cardFields {
  display: flex;
  flex-direction: column;
  max-width: 325px;
  height: 204px;
  background: #282727;
  padding: 20px;
  border-radius: 10px;
}
body.tunnel #cardForm .content #cardFields > div input,
body.profile #cardForm .content #cardFields > div input {
  border-radius: 5px;
  background-color: #282727;
  color: #fff;
  border: none;
  width: 100%;
  height: 42px;
  letter-spacing: 8px;
}
body.tunnel #cardForm .content #cardFields #othersContainer > div,
body.profile #cardForm .content #cardFields #othersContainer > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  grid-auto-rows: minmax(100px, auto);
}
body.tunnel #profilTabs,
body.profile #profilTabs {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}
body.tunnel #profilTabs .tab,
body.profile #profilTabs .tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  color: #282727;
  text-decoration: none;
  height: 100%;
}
body.tunnel #profilTabs .tab.active,
body.profile #profilTabs .tab.active {
  background-color: #fff6f6;
  color: #e48e1d;
}
body.tunnel main,
body.profile main {
  border-top: 1px solid #e9e6e6;
}
body.tunnel main #mainContent,
body.profile main #mainContent {
  grid-column: 3/12;
  margin: 30px 0;
}
body.tunnel main .message,
body.profile main .message {
  grid-column: 2/7;
}
body.tunnel #cardAction .btn,
body.profile #cardAction .btn {
  background: #e48e1d;
  border: none;
  color: #fff;
}
body.tunnel #accountActions .btn,
body.profile #accountActions .btn {
  background: #e48e1d;
  border: none;
  color: #fff;
  display: flex;
  align-items: center;
}
body.tunnel #accountActions button,
body.profile #accountActions button {
  border: 1px solid #282727;
  color: #282727;
  background: transparent;
  cursor: pointer;
  margin-left: 10px;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#footer {
  /*position: fixed;*/
  width: 100%;
  bottom: 0;
  z-index: 200;
}
#footer.grid-full > div {
  grid-column: 4/14;
}
#footer.grid-full .links {
  margin: 0;
}
#footer.small {
  background: #f9f9f9;
  border-top: 1px solid #e9e6e6;
  height: 50px;
  position: fixed;
  bottom: 0;
}
#footer.small .content {
  grid-column: 2/14;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#footer.small .content .links {
  flex-direction: row;
  line-height: 42px;
  margin: 0;
  padding: 0;
}
#footer.small .content .links .languages,
#footer.small .content .links .menu-app {
  flex-direction: row;
}
#footer.small .content .links .languages a,
#footer.small .content .links .menu-app a {
  margin-left: 20px;
}
#footer .social-network {
  text-align: center;
  margin-bottom: 50px;
}
#footer .social-network > a {
  display: inline-block;
  margin-bottom: 20px;
}
#footer .social-network .content {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
#footer .social-network .content a {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #e48e1d;
  color: #fff;
  text-decoration: none;
  margin: 0 10px;
  font-size: 20px;
}
#footer .links {
  margin-top: 20px;
  padding: 40px 20px;
  background: none !important;
  position: relative;
  border-inline-start: none !important;
  display: flex;
  justify-content: space-between;
  max-width: 1020px;
  margin: 40px auto;
  padding: 40px 0;
}
#footer .links a {
  color: #000;
  text-decoration: none;
}
#footer .links > div {
  display: flex;
  flex-direction: column;
  line-height: 42px;
}
#footer .links .languages {
  text-align: right;
}

:root {
  --grid-col-count: 18;
  --grid-gap: 10px;
}

#search {
  justify-content: center;
  align-items: center;
  z-index: 1;
  display: flex;
  gap: 10px;
}

#search form {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid rgb(240, 240, 240);
  border-radius: 30px;
  width: 100%;
  background: white;
}

#search form .filter-trigger {
  position: relative;
  display: flex;
}

#search form .filter-trigger a {
  display: flex;
  gap: 5px;
  margin-left: 20px;
  align-items: center;
}

#search form .filter-trigger a .title {
  display: none;
}

#search form .filter-trigger a .icon {
  /* Dazzle Line Icons Collection */
  display: block;
  height: 20px;
  width: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#search form .filter-trigger a .arrow {
  display: block;
  height: 10px;
  width: 10px;
  background-repeat: no-repeat;
  background-size: 10px;
  background-position: bottom;
  background-image: url(/build/images/arrow.1e2b585e.png);
}

#search form .filter-trigger .filter-options {
  /*display: none;*/
}

#search form .filter-trigger .filter-options select {
  background: none !important;
  background-color: none !important;
  border: none !important;
}

#search form .filter-trigger.active .filter-options {
  display: block;
}

#search form #cookingStyleFilterTrigger .icon {
  background-image: url(/build/images/flag.8d017a1c.svg);
}

#search form #bookingTimeTrigger .icon {
  background-image: url(/build/images/clock.750527cb.svg);
}

#search form #locationTrigger .icon {
  background-image: url(/build/images/location-pin.b901b820.svg);
}

#search form #keywordContainer {
  width: 100%;
}

#search form #keywordContainer input {
  border: none;
  height: auto;
  padding: 5px 10px;
  width: 100%;
}

#search form #keywordContainer input:focus {
  outline: none;
}

#search form button {
  background: #f46a3c;
  color: white;
  border: none;
  border-radius: 66px;
  padding: 0 18px;
  font-family: "Roboto-Medium";
  display: flex;
  align-items: center;
  justify-content: center;
}

#search form button:hover {
  background: #EE2A54;
}

#search form button.loading .loader {
  width: 15px;
  height: 15px;
  border: 5px solid white;
  border-bottom-color: #EE2A54;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-left: 10px;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#header {
  padding: 5px 0;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  background: radial-gradient(#FFEFEF 0%, #F0F0F0 50%, #FFEFEF 100%);
}
#header h1 img {
  font-size: 10px;
  display: flex;
  color: gray;
}
#header .content {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  width: 100%;
  grid-column: 1/13;
  justify-content: space-between;
}
#header .content #logo {
  grid-column: 2/4;
  display: flex;
  align-items: center;
}
#header .content #logo span {
  background-image: url(/build/images/logo-mobile.e0036e85.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 50px;
  width: 200px;
  margin-right: 10px;
}
#header .content #search {
  grid-column: 4/10;
}
#header .content #navigationContainer {
  grid-column: 10/12;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: end;
}
@media only screen and (max-width: 735px) {
  #header .content #navigationContainer #registerLink {
    display: none;
  }
}
#header .content #navigationContainer #loginLink, #header .content #navigationContainer #registerLink {
  color: rgb(43, 43, 43);
  font-size: 14px;
  text-align: right;
  padding: 0;
}
#header .content #navigationContainer #navigation {
  grid-column: 11/15;
  justify-content: flex-end;
  position: relative;
}
#header .content #navigationContainer #navigation span {
  display: none;
}
#header .content #navigationContainer #navigation.active .user-menu {
  z-index: 1;
  display: block;
  width: 130px;
  padding: 10px;
  background: white;
  box-shadow: 0px 20px 30px #424242;
  border-radius: 5px;
  position: absolute;
  margin-top: 10px;
  border: 1px solid #e9e6e6;
  right: 0;
  z-index: 101;
}
#header .content #navigationContainer #navigation.active .username::after {
  transform: rotate(180deg);
}
#header .content #navigationContainer #navigation .user-menu {
  display: none;
}
#header .content #navigationContainer #navigation .user-menu .content {
  display: flex;
  flex-direction: column;
}
#header .content #navigationContainer #navigation .user-menu .content a {
  text-decoration: none;
  display: inline-block;
  margin-top: 10px;
  color: #000;
  font-family: "Roboto-Condensed";
  display: flex;
  align-items: center;
  justify-content: end;
  font-size: 14px;
}
#header .content #navigationContainer #navigation .user-menu .content form {
  border-top: 1px solid #e9e6e6;
  margin-top: 20px;
  display: block;
  padding: 20px 0 0 0;
}
#header .content #navigationContainer #navigation .user-menu .content form button {
  width: 100%;
  height: 38px;
  align-items: center;
  justify-content: center;
  display: flex;
}
#header .content #navigationContainer #navigation .login {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 12px;
}
#header .content #navigationContainer #navigation .username {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  display: flex;
  align-items: center;
  font-size: 12px;
}
#header .content #navigationContainer #navigation .username::after {
  transition: transform 0.3s;
  height: 22px;
  width: 22px;
  border: 5px;
  content: "";
  display: block;
  float: right;
  margin-left: 10px;
  background-image: url(/build/images/arrow-black.d3ac540f.png);
  background-repeat: no-repeat;
  background-position: center;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#arroundMeInfo {
  padding-left: 10px;
  color: #F1454C;
  font-family: "Roboto-Bold";
  font-size: 13px;
  position: relative;
  width: 25px;
  height: 25px;
  background-image: url(/build/images/location.3bed6840.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
#arroundMeInfo.display {
  display: flex;
  flex-shrink: 0;
}
#arroundMeInfo.active::after, #arroundMeInfo.active::before {
  opacity: 0;
  content: "";
  z-index: -1;
  border-radius: 50%;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#arroundMeInfo.active::after {
  -webkit-animation: animateArrouMe linear 0.5s 3 forwards;
  background: #fde5c5;
  animation: animateArrouMe linear 0.5s 3 forwards;
}
#arroundMeInfo.active::before {
  -webkit-animation: animateArrouMe linear 0s 3 forwards;
  background: #f7b969;
  animation: animateArrouMe linear 0s 3 forwards;
}
@keyframes animateArrouMe {
  0% {
    opacity: 1;
    width: 0px;
    height: 0px;
  }
  100% {
    opacity: 1;
    width: 25px;
    height: 25px;
  }
}

#locationBar {
  padding: 5px 0;
  align-items: center;
  background: #fddcdc;
  grid-template-columns: repeat(12, 1fr);
  display: grid;
}
#locationBar .content {
  display: flex;
  align-items: center;
  grid-column: 2/12;
  justify-content: space-between;
}
@media only screen and (max-width: 1440px) {
  #locationBar .content {
    grid-column: 2/12;
  }
}
#locationBar .content #usefullLinks a {
  color: #5a2221;
  font-family: "futura medium bt";
  font-size: 0.8rem;
}
#locationBar .content #arroundMe {
  display: flex;
  align-items: center;
  color: #f14a48;
  font-family: "futura medium bt";
  font-size: 0.8rem;
}
#locationBar .content #arroundMe.disabled {
  background: transparent !important;
  color: #978F8F;
}
#locationBar .content #arroundMe:hover {
  color: rgb(248, 35, 35);
}
#locationBar .content #arroundMe::before {
  display: block;
  margin-right: 10px;
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(/build/images/location-crosshairs.f5c877b0.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
#locationBar .content #searchLocality {
  display: flex;
  gap: 5px;
}
#locationBar .content #searchLocality .city-name {
  display: inline-block;
}
#locationBar .content #searchLocality label {
  font-size: 16px;
  margin: 0;
}
#locationBar .content input {
  color: #000;
  border: none;
  font-size: 16px;
}
#locationBar .content select {
  background: transparent;
  border: none;
  font-size: 13px;
  font-weight: bold;
}

#filters {
  border-radius: 5px;
}
#filters .title {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 20px;
}
#filters .group-filter .title {
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 15px;
  text-decoration: none;
  color: #000;
  display: flex;
  width: 100%;
  justify-content: space-between;
  /*&::after {
      height: 14px;
      width: 14px;
      border: 5px;
      content: "";
      display: block;
      float: left;
      background-image: url("../../images/arrow.png");
      background-repeat: no-repeat;
      background-position: center;
  }*/
}
#filters .group-filter .options {
  margin-bottom: 20px;
}
#filters .group-filter .options .option {
  margin-bottom: 5px;
}
#filters .group-filter .options .option label {
  color: #f56a6a;
  cursor: pointer;
}
#filters .group-filter .options .option input[type=text] {
  border: 1px solid #e9e6e6;
  margin-bottom: 10px;
  border-radius: 5px;
  font-size: 14px;
  padding: 10px;
}
#filters .group-filter .options .option input[type=text]::placeholder {
  color: #978F8F;
}

/* Roboto */
@font-face {
  font-family: "Roboto-ThinItalic";
  src: url(/build/fonts/Roboto-ThinItalic.19c6ed4c.ttf);
}
@font-face {
  font-family: "Roboto-Medium";
  src: url(/build/fonts/Roboto-Medium.d2d7f0c0.ttf);
}
@font-face {
  font-family: "Roboto-BoldCondensedItalic";
  src: url(/build/fonts/Roboto-BoldCondensedItalic.5f6847e2.ttf);
}
@font-face {
  font-family: "Roboto-Condensed";
  src: url(/build/fonts/Roboto-Condensed.0eb141b0.ttf);
}
@font-face {
  font-family: "Roboto-BlackItalic";
  src: url(/build/fonts/Roboto-BlackItalic.33518f2d.ttf);
}
@font-face {
  font-family: "Roboto-CondensedItalic";
  src: url(/build/fonts/Roboto-CondensedItalic.9e2c1759.ttf);
}
@font-face {
  font-family: "Roboto-Thin";
  src: url(/build/fonts/Roboto-Thin.7cc2944f.ttf);
}
@font-face {
  font-family: "Roboto-BoldItalic";
  src: url(/build/fonts/Roboto-BoldItalic.7f8b6363.ttf);
}
@font-face {
  font-family: "Roboto-Black";
  src: url(/build/fonts/Roboto-Black.45715786.ttf);
}
@font-face {
  font-family: "Roboto-BoldCondensed";
  src: url(/build/fonts/Roboto-BoldCondensed.01decb86.ttf);
}
@font-face {
  font-family: "Roboto-Bold";
  src: url(/build/fonts/Roboto-Bold.63311334.ttf);
}
@font-face {
  font-family: "Roboto-Regular";
  src: url(/build/fonts/Roboto-Regular.f25bd059.ttf);
}
@font-face {
  font-family: "Roboto-Italic";
  src: url(/build/fonts/Roboto-Italic.fed51269.ttf);
}
@font-face {
  font-family: "Roboto-LightItalic";
  src: url(/build/fonts/Roboto-LightItalic.81e32e6c.ttf);
}
@font-face {
  font-family: "Roboto-Light";
  src: url(/build/fonts/Roboto-Light.03e629f6.ttf);
}
@font-face {
  font-family: "Roboto-MediumItalic";
  src: url(/build/fonts/Roboto-MediumItalic.26207ba6.ttf);
}
/* Futura */
@font-face {
  font-family: "futura medium bt";
  src: url("/build/fonts/futura%20medium%20bt.4e762c29.ttf");
}
@font-face {
  font-family: "Futura XBlk BT";
  src: url("/build/fonts/Futura%20XBlk%20BT.a94e073a.ttf");
}
@font-face {
  font-family: "Futura Book font";
  src: url("/build/fonts/Futura%20Book%20font.ed19af44.ttf");
}
@font-face {
  font-family: "futura light bt";
  src: url("/build/fonts/futura%20light%20bt.ead7282f.ttf");
}
@font-face {
  font-family: "Futura Bold Italic font";
  src: url("/build/fonts/Futura%20Bold%20Italic%20font.d4a603f6.ttf");
}
@font-face {
  font-family: "Futura Bold font";
  src: url("/build/fonts/Futura%20Bold%20font.7bfa5614.ttf");
}
@font-face {
  font-family: "Futura Heavy Italic font";
  src: url("/build/fonts/Futura%20Heavy%20Italic%20font.815a0751.ttf");
}
@font-face {
  font-family: "Futura Light font";
  src: url("/build/fonts/Futura%20Light%20font.e07bb855.ttf");
}
@font-face {
  font-family: "Futura Heavy font";
  src: url("/build/fonts/Futura%20Heavy%20font.af72c25a.ttf");
}
@font-face {
  font-family: "Futura Extra Black font";
  src: url("/build/fonts/Futura%20Extra%20Black%20font.bf8e35c1.ttf");
}
@font-face {
  font-family: "Futura Book Italic font";
  src: url("/build/fonts/Futura%20Book%20Italic%20font.2fc529e7.ttf");
}
@font-face {
  font-family: "unicode.futurabb";
  src: url(/build/fonts/unicode.futurabb.047c1b54.ttf);
}
@font-face {
  font-family: "Futura Light Italic font";
  src: url("/build/fonts/Futura%20Light%20Italic%20font.7a38f125.ttf");
}
@font-face {
  font-family: "Futura Medium Italic font";
  src: url("/build/fonts/Futura%20Medium%20Italic%20font.6180d54a.ttf");
}
@font-face {
  font-family: "futura medium condensed bt";
  src: url("/build/fonts/futura%20medium%20condensed%20bt.2423d880.ttf");
}
@font-face {
  font-family: "unicode.futurab";
  src: url(/build/fonts/unicode.futurab.fd37c14a.ttf);
}
@font-face {
  font-family: "futur";
  src: url(/build/fonts/futur.71d20cae.ttf);
}
@font-face {
  font-family: "tt0205m_";
  src: url(/build/fonts/tt0205m_.62d01ff1.ttf);
}
.status {
  max-width: 160px;
  font-size: 10px;
  font-family: "futura medium bt";
  color: #fff;
  background-color: #e48e1d;
  border-radius: 5px;
  padding: 5px 10px;
  align-items: center;
  justify-content: center;
  cursor: default;
  display: flex;
}
.status.en-attente, .status.annulee {
  background-color: gray;
}
.status.pris-en-charge, .status.ok, .status.execute, .status.confirmee {
  background-color: green;
}
.status.client-absent {
  background-color: gray;
  opacity: 0.5;
}
.status.non-defini {
  display: none;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

#menuSelector {
  width: 100%;
  background: #fff;
  padding: 20px;
  top: 0;
  position: absolute;
  z-index: 200;
  flex-direction: column;
}
#menuSelector.active {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: center;
}
#menuSelector .actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
#menuSelector .content-footer {
  display: flex;
  width: 100%;
  margin: 20px 20px 50px 20px;
  justify-content: end;
}
#menuSelector .content-footer a {
  font-weight: bold;
  padding: 4px 7px;
  border-radius: 5px;
  color: #282727;
  display: inline-block;
  text-decoration: none;
  font-size: 15px;
}
#menuSelector .content {
  width: 100%;
  max-height: 100vh;
  overflow-y: scroll;
  background: white;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
#menuSelector .content::-webkit-scrollbar {
  display: none;
}
#menuSelector #guestsLink {
  text-decoration: none;
  color: #e48e1d;
}
#menuSelector #foodSelector {
  background-color: #f9f9f9;
  padding: 20px;
}
#menuSelector #foodSelector .food {
  cursor: pointer;
}
#menuSelector #foodSelector .food input[type=text] {
  display: none;
  width: 200px;
  height: 25px;
}
#menuSelector #foodSelector .food input[type=text].active {
  display: block !important;
}

body {
  background-color: #fff6f6;
  margin: 0;
  color: #000;
  font-family: "futura light bt";
}

.grid-full {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: repeat(12, 1fr);
}

.square-box {
  position: relative;
  overflow: hidden;
  background: #978F8F;
}

.square-box:before {
  content: "";
  display: block;
  padding-top: 100%;
}

#searchContainer > .hide {
  display: none;
}

#searchTrigger {
  height: 100%;
  justify-content: center;
  grid-column: 4/13;
  display: flex;
  align-items: center;
  display: none;
}
#searchTrigger.hide {
  display: none !important;
}
#searchTrigger.mobile {
  display: none;
}
#searchTrigger .content {
  padding: 5px;
  border-radius: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
#searchTrigger .content .title {
  font-size: 15px;
  margin-left: 20px;
  color: #978F8F;
}
#searchTrigger .content .title.with-keyword {
  color: #000;
}
#searchTrigger .content .button {
  width: 30px;
  border-radius: 66px;
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
  background-image: none;
  background: none;
}
#searchTrigger .content .button i {
  color: #e48e1d;
}

.divider {
  height: 44px;
  margin-bottom: -18px;
  background: -webkit-linear-gradient(to bottom, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.03) 3px, transparent);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.03) 3px, transparent);
  z-index: 0;
  zoom: 1;
}
.divider::after {
  display: block;
  width: 100%;
  height: 44px;
  background-color: transparent;
  background: -webkit-linear-gradient(to right, #fff6f6, rgba(255, 255, 255, 0), #fff6f6);
  background: linear-gradient(to right, #fff6f6, rgba(255, 255, 255, 0), #fff6f6);
  z-index: 1;
  content: "";
}

main {
  grid-template-columns: repeat(12, 1fr);
  display: grid;
  padding-bottom: 50px;
}
main #mainContent {
  grid-column: 1/13;
  grid-template-columns: repeat(12, 1fr);
  display: grid;
  background: white;
  padding: 20px 0;
}
main #mainContent #noResult {
  grid-column: 2/12;
}
main #mainContent #filters {
  grid-column: 2/4;
}
main #mainContent #filters .reset-filter a {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  text-decoration: none;
}
main #mainContent #filters .reset-filter a::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(/build/images/reset.88f39961.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
main #mainContent #filters .reset-filter a span {
  color: black;
}
main #mainContent #content {
  grid-column: 4/12;
}
main #footer {
  grid-template-columns: repeat(12, 1fr);
  display: grid;
}
main #footer > * {
  grid-column: 2/12;
}

h1 {
  font-weight: 500;
  font-size: 28px;
}

.form-errors {
  display: flex;
  justify-content: center;
  color: rgb(8, 4, 4);
  padding: 20px;
}

#title {
  border-top: 1px solid #e9e6e6;
  border-bottom: 1px solid #e9e6e6;
  height: 43px;
}
#title .content {
  display: flex;
  grid-column: 3/13;
  font-weight: bold;
  align-items: center;
}

.message {
  padding: 20px 30px;
  border-radius: 50px;
  grid-column: 2/15;
}
.message.success {
  background-image: linear-gradient(-45deg, #B8E0B8, #d9e7d9);
}
.message.info {
  background-image: linear-gradient(-45deg, #d6d7fd, #e6e7fa);
}
.message.warning {
  background-image: linear-gradient(-45deg, #fde6c2, #fdf2e1);
}

.group {
  background: #e9e6e6;
  padding: 20px 10px;
  margin: 20px 0;
  border-radius: 10px;
}
.group .title {
  font-size: 15px;
  font-weight: bold;
  display: flex;
  align-items: center;
  height: 40px;
  border-bottom: 1px solid #fff;
  margin-bottom: 10px;
}
.group .content {
  display: flex;
}

a.btn {
  border-radius: 5px;
  color: #282727;
  display: inline-block;
  text-decoration: none;
  font-size: 15px;
}

#usefullLinks {
  display: flex;
  gap: 10px;
}
#usefullLinks a {
  color: gray;
}

#goldenresaLoader {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: white;
  z-index: 200;
  top: 0;
}
#goldenresaLoader.active {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  animation: 1s displayLoader ease;
}
#goldenresaLoader .image {
  background-image: url(/build/images/loader-goldenresa.4d427dc2.png);
  height: 100px;
  width: 146px;
  background-repeat: no-repeat;
  animation: 6s animateLoader ease infinite;
}
@keyframes displayLoader {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes animateLoader {
  16% {
    background-position: -146px;
  }
  32% {
    background-position: -292px;
  }
  48% {
    background-position: -438px;
  }
  64% {
    background-position: -584px;
  }
  80% {
    background-position: -730px;
  }
  100% {
    background-position: -876px;
  }
}

#cgvContent {
  width: 50vw;
  height: 80vh;
  border-radius: 20px;
  background: white;
  margin: 0 auto;
  position: relative;
  overflow-y: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
#cgvContent::-webkit-scrollbar {
  display: none;
}
#cgvContent #text {
  max-width: 500px;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 20px;
}

#cgvContainer {
  display: flex;
  margin: 20px 0;
}
#cgvContainer input {
  margin-right: 10px;
}
#cgvContainer label {
  margin: 0;
}
#cgvContainer #cgvContent {
  display: none;
}

.toggle-password {
  display: flex;
  gap: 10px;
  margin: 20px 0;
}
.toggle-password label {
  margin: 0;
}

:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

@media only screen and (max-width: 1440px) {
  body.tunnel form#booking #paymentDetails {
    grid-column: 8/14;
  }
  body.results main #mainContent #resultContainer #filters {
    grid-column: 2/4;
  }
  body.results main #mainContent #resultContainer .restaurants {
    grid-template-columns: repeat(5, 1fr);
    grid-column: 4/14;
  }
  body.results #locationBar form {
    grid-column: 10/14;
  }
  #header .content #logo {
    grid-column: 2/4;
  }
  #header .content #search {
    grid-column: 4/10;
  }
  #header .content #navigationContainer {
    grid-column: 10/12;
  }
}
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

@media only screen and (max-width: 990px) {
  #restaurantInformations {
    flex-direction: column;
  }
  #restaurantInformations .informations {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 1024px) {
  body.tunnel #header .content #search #filter {
    display: none;
  }
  body.tunnel #header .content #search form {
    grid-column: 2/15;
  }
  body.tunnel #foodContainer {
    grid-column: 2/8;
  }
  body.tunnel #sideBar {
    grid-column: 9/14;
  }
  #header .content #logo {
    grid-column: 2/5;
  }
  #header .content #search {
    grid-column: 2/12;
    grid-row: 2;
  }
  #header .content #search #filter {
    display: none;
  }
  #header .content #search form {
    grid-column: 1/15 !important;
  }
  #header .content #search form .filter-trigger#where {
    display: none;
  }
  #header .content #navigationContainer {
    grid-column: 5/12;
  }
}
@media only screen and (max-width: 1600px) {
  form .filter-trigger#cooking {
    display: none;
  }
}
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

@media screen and (max-width: 768px) {
  main #mainContent #content {
    grid-column: 2/12;
  }
  :root {
    --grid-gap: 5px !important;
  }
  #cgvContent {
    width: 70vw;
    padding: 20px;
  }
  body.results main #mainContent #resultContainer .restaurants {
    grid-column: 1/15;
    grid-template-columns: repeat(2, 1fr);
  }
  #pagination {
    grid-column: 1/15;
  }
  #footer.grid-full > div {
    grid-column: 2/14;
  }
  #title {
    position: relative;
  }
  #title .content {
    grid-column: 1/15 !important;
  }
  #title .content::after {
    content: "";
    width: 50px;
    height: 100%;
    background-image: linear-gradient(to right, rgba(255, 0, 0, 0), #fff6f6);
    position: absolute;
    right: 0;
  }
  #accountActions .content {
    display: flex;
    justify-content: space-between;
  }
  #profilTabs {
    overflow-x: scroll;
    padding-left: 100px;
    padding-right: 50px;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  #profilTabs::-webkit-scrollbar {
    display: none;
  }
  #profilTabs .tab {
    flex-shrink: 0;
  }
  .title {
    font-size: 22px;
  }
  .message {
    grid-column: 1/14 !important;
  }
  body.tunnel {
    margin-bottom: 50px;
  }
  body.tunnel #footer {
    display: none;
  }
  body.tunnel #food {
    margin-right: 0px !important;
  }
  body.tunnel #food .food.selected {
    flex-direction: column;
  }
  body.tunnel #food .food.selected .food-title-price {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  body.tunnel #food .food.selected .food-selector {
    width: 100%;
    justify-content: space-around;
  }
  body.tunnel #food,
  body.tunnel #menuTabs {
    margin-bottom: 0px !important;
  }
  body.tunnel #menuSelector {
    background: #fff !important;
    position: relative;
    position: fixed;
    z-index: 300;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    padding: 0;
  }
  body.tunnel #menuSelector .title .breadcrumb {
    display: none;
  }
  body.tunnel #menuSelector .actions {
    border-top: 1px solid #e9e6e6;
    position: fixed;
    z-index: 9000;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
  }
  body.tunnel #menuSelector .content {
    padding: 0px !important;
  }
  body.tunnel #menuSelector.active {
    display: block !important;
  }
  body.tunnel #menuSelector .title {
    position: fixed;
    bottom: 0;
    justify-content: center !important;
  }
  body.tunnel #menuSelector .title .actions {
    display: flex;
    flex-direction: column;
    justify-content: center !important;
    align-items: center;
  }
  body.tunnel #menuSelector .title .actions button {
    margin-bottom: 20px;
  }
  body.tunnel #menuSelector #foodSelector {
    height: 80vh;
    overflow: scroll;
    width: 100%;
    position: fixed !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    top: 0;
    left: 0;
  }
  body.tunnel #menuSelector #foodSelector .content {
    padding: 0px !important;
    border-radius: 0px !important;
    box-shadow: 0px !important;
    background: transparent !important;
  }
  body.tunnel .restaurant-cooking-styles {
    color: #978F8F;
  }
  body.tunnel .title-quotation-city .city,
  body.tunnel .title-quotation-city .quotation,
  body.tunnel .title-quotation-city .title {
    margin-bottom: 10px !important;
  }
  body.tunnel .title-quotation-city .quotation {
    flex-shrink: 0;
  }
  body.tunnel #menuTabs {
    display: flex;
    justify-content: space-between;
    margin-right: 0px !important;
  }
  body.tunnel #menuTabs a {
    margin-right: 0px !important;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations {
    flex-direction: column;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .restaurant-photo {
    margin: 0;
    margin-bottom: 10px;
    width: 100%;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations {
    margin: 0;
    width: 100%;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city {
    width: 100%;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation {
    justify-content: space-between;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations .title-quotation-city .city-quotation .city {
    margin: 0;
  }
  body.tunnel #orderContainer .title {
    grid-column: 1/14;
  }
  body.tunnel #orderContainer #orderDetails #paymentDetails {
    grid-column: 1/15;
  }
  body.tunnel #orderContainer #orderDetails #description,
  body.tunnel #orderContainer #orderDetails #details {
    grid-column: 1/15 !important;
  }
  body.tunnel #orderContainer #orderDetails #details #payment {
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 200;
  }
  body.tunnel #orderContainer #orderDetails #details #payment .title,
  body.tunnel #orderContainer #orderDetails #details #payment #order {
    padding: 0 20px;
  }
  body.tunnel #orderContainer #orderDetails #details #payment #cardInformations {
    grid-column: 1/15;
  }
  body.tunnel #orderContainer #orderDetails #details #payment .action {
    display: flex;
    justify-content: end;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer {
    margin-bottom: 40px;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person {
    display: grid !important;
    grid-gap: 10px;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person select[name=title],
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person select[name=category] {
    grid-row: 2;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person a.btn,
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person input[name=name] {
    grid-row: 3;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person a.btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  body.tunnel #orderContainer #paymentDetails #orderTotalDetails .details {
    margin-top: 0px !important;
    border: none !important;
  }
  body.tunnel #orderContainer #paymentDetails .content {
    position: relative !important;
    top: unset !important;
    margin: 0 !important;
  }
  body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .restaurant-photo {
    flex-shrink: unset;
  }
  body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .city-quotation {
    flex-direction: column;
  }
  body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .city {
    margin-left: 0 !important;
    margin-top: 10px;
  }
  body.tunnel #orderContainer,
  body.tunnel form#booking {
    grid-column: 2/15;
  }
  body.tunnel #orderContainer #bookingDetails,
  body.tunnel form#booking #bookingDetails {
    grid-column: 2/7;
  }
  body.tunnel #orderContainer #paymentDetails,
  body.tunnel form#booking #paymentDetails {
    grid-column: 8/14;
  }
  body.tunnel #payButtonContainer {
    box-shadow: 0px 8px 28px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    position: fixed;
    z-index: 101;
    bottom: 0;
    background: white;
    width: 100%;
    left: 0;
    padding: 16px 0;
  }
  body.tunnel #payButtonContainer button {
    margin-right: 10px;
  }
  body.tunnel #payButtonContainer #orderLater {
    background-color: transparent !important;
  }
  #foodContainer {
    margin-right: 0 !important;
    grid-column: 2/14 !important;
    min-height: auto !important;
  }
  #sideBar {
    grid-column: 1/15 !important;
  }
  #sideBar #bookFormContainer {
    margin: 0 !important;
  }
  #sideBar #bookFormContainer .close {
    display: block !important;
    width: 25px;
    height: 25px;
    top: -52px;
    right: -10px;
    position: absolute;
    cursor: pointer;
    background-image: url(/build/images/close.697b7ce2.png);
    background-size: cover;
    background-color: white;
    margin: 20px;
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 15px;
  }
  #sideBar #bookFormContainer form {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 201;
    box-shadow: 0px 0px 28px rgba(0, 0, 0, 0.5) !important;
    width: 100%;
    padding: 0 !important;
  }
  #sideBar #bookFormContainer form #triggerContainer {
    background-color: #fff;
    display: flex !important;
    justify-content: center;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    height: 70px;
    align-items: center;
  }
  #sideBar #bookFormContainer form #triggerContainer.hide {
    display: none !important;
  }
  #sideBar #bookFormContainer form #triggerContainer #trigger {
    display: block !important;
    border-radius: 66px;
    text-align: center;
    align-items: center;
    justify-content: center;
    display: flex;
    background-image: linear-gradient(-45deg, #FAA924, #EE2A54);
    color: white;
    padding: 10px 20px;
  }
  #sideBar #bookFormContainer form #triggerContainer #trigger i {
    color: #fff;
  }
  #sideBar #bookFormContainer form.active #trigger {
    display: none;
  }
  #sideBar #bookFormContainer form.active .content {
    display: block;
    height: 50vh;
    overflow: scroll;
    margin: 0;
    padding: 20px;
    border-radius: 0px !important;
  }
  #sideBar #bookFormContainer form .content {
    display: none;
  }
  #header {
    height: auto !important;
  }
  #header .content {
    grid-column: 1/13;
  }
  #header #logo {
    grid-column: 2/3;
  }
  #header .user-menu {
    width: 150px !important;
  }
  #header #navigationContainer {
    grid-column: 8/12;
  }
  #header #navigation span {
    width: 40px;
    height: 40px;
    display: inline-block !important;
    background: #000;
    border-radius: 20px;
    background-image: url(/build/images/user.5fd62011.png);
    background-repeat: no-repeat;
    background-position: center;
  }
  #header #navigation a.username {
    display: none !important;
  }
  #header #search.active {
    display: flex;
    position: fixed;
    top: 0;
    background: white;
    height: 100%;
    width: 100%;
    grid-column: 4/10 !important;
  }
  #header #search.active form {
    flex-direction: column;
    justify-content: center;
    height: auto !important;
    border: none !important;
    box-shadow: none !important;
  }
  #header #search.active form .close {
    display: block !important;
    width: 20px;
    height: 20px;
    top: 15px;
    right: 15px;
    position: absolute;
    cursor: pointer;
    background-image: url(/build/images/close.697b7ce2.png);
    background-size: cover;
  }
  #header #search.active form .actions {
    margin: 20px 0;
  }
  #header #search.active form .fields {
    flex-direction: column;
    align-items: start;
  }
  #header #search.active form .fields > div {
    margin-bottom: 10px;
  }
  #header #search.active form .fields > div input#keywords {
    background: whitesmoke;
    height: 43px;
    width: 100%;
  }
  #header #logo,
  #header #searchTrigger {
    height: 100%;
  }
  #header #searchTrigger {
    display: none;
  }
  #header #searchTrigger.hide {
    display: none !important;
  }
  #locationBar form {
    grid-column: 1/14 !important;
  }
  main #filters {
    display: none;
  }
  #footer .links {
    padding: 0 10px !important;
    margin: 0 !important;
  }
}
@media screen and (max-width: 650px) {
  main #mainContent #content {
    grid-column: 2/12;
  }
  main #mainContent #content.restaurants {
    grid-template-columns: repeat(2, 1fr);
  }
}
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

@media only screen and (max-width: 320px) {
  #header .content #logo {
    grid-column: 1/8 !important;
  }
  #header .content #navigationContainer {
    grid-column: 8/13 !important;
  }
}
@media only screen and (max-width: 393px) {
  #usefullLinks {
    display: none;
  }
}
@media only screen and (max-width: 375px) {
  #locationBar .content {
    justify-content: end;
  }
  #locationBar .content #usefullLinks {
    display: none;
  }
  #header #searchTrigger {
    grid-column: 5/11 !important;
  }
  #header #searchTrigger .content {
    justify-content: end !important;
  }
  #header #searchTrigger .content .title {
    display: none !important;
  }
}
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

@media screen and (max-width: 425px) {
  #header .content #search .filter-trigger {
    display: flex !important;
  }
  body#account #mainContent form {
    width: auto;
    margin: 20px;
  }
  :root {
    --grid-gap: 5px !important;
  }
  #locationBar .content {
    grid-column: 2/12;
  }
  #title {
    position: relative;
  }
  #title .content {
    grid-column: 1/15 !important;
  }
  #title .content::after {
    content: "";
    width: 50px;
    height: 100%;
    background-image: linear-gradient(to right, rgba(255, 0, 0, 0), #fff6f6);
    position: absolute;
    right: 0;
  }
  #accountActions .content {
    display: flex;
    justify-content: space-between;
  }
  #profilTabs {
    overflow-x: scroll;
    padding-left: 100px;
    padding-right: 50px;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
  }
  #profilTabs::-webkit-scrollbar {
    display: none;
  }
  #profilTabs .tab {
    flex-shrink: 0;
  }
  .title {
    font-size: 19px;
  }
}
@media only screen and (max-width: 425px) and (max-width: 425px) {
  .title {
    display: none;
  }
}
@media screen and (max-width: 425px) {
  .message {
    grid-column: 2/14 !important;
  }
  body.tunnel {
    margin-bottom: 50px;
  }
  body.tunnel .header {
    grid-column: 2/13;
  }
  body.tunnel #footer {
    display: none;
  }
  body.tunnel #food {
    margin-right: 0px !important;
  }
  body.tunnel #food .food.selected .food-title-price {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  body.tunnel #food .food.selected .food-selector {
    width: 100%;
    justify-content: space-around;
  }
  body.tunnel #food,
  body.tunnel #menuTabs {
    margin-bottom: 0px !important;
  }
  body.tunnel #menuSelector {
    background: #fff !important;
    position: relative;
    position: fixed;
    z-index: 300;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    padding: 0;
  }
  body.tunnel #menuSelector .actions {
    border-top: 1px solid #e9e6e6;
    position: fixed;
    z-index: 9000;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 0;
    justify-content: center;
  }
  body.tunnel #menuSelector .content {
    padding: 0px !important;
  }
  body.tunnel #menuSelector.active {
    display: block !important;
  }
  body.tunnel #menuSelector .title {
    position: fixed;
    bottom: 0;
    justify-content: center !important;
  }
  body.tunnel #menuSelector .title .actions {
    display: none;
  }
  body.tunnel .restaurant-cooking-styles {
    color: #978F8F;
  }
  body.tunnel .title-quotation-city {
    align-items: unset !important;
    flex-direction: column;
  }
  body.tunnel .title-quotation-city .city,
  body.tunnel .title-quotation-city .quotation,
  body.tunnel .title-quotation-city .title {
    margin-bottom: 10px !important;
  }
  body.tunnel .title-quotation-city .quotation {
    flex-shrink: 0;
  }
  body.tunnel #menuTabs {
    display: flex;
    justify-content: space-between;
    margin-right: 0px !important;
    padding-bottom: 20px;
  }
  body.tunnel #menuTabs a {
    margin-right: 0px !important;
  }
  body.tunnel #orderContainer #orderDetails {
    grid-column: 1/15;
  }
  body.tunnel #orderContainer #orderDetails #description,
  body.tunnel #orderContainer #orderDetails #details {
    grid-column: 1/15 !important;
  }
  body.tunnel #orderContainer #orderDetails #details #payment {
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 200;
  }
  body.tunnel #orderContainer #orderDetails #details #payment .title,
  body.tunnel #orderContainer #orderDetails #details #payment #order {
    padding: 0 20px;
  }
  body.tunnel #orderContainer #orderDetails #details #payment #cardInformations {
    grid-column: 1/15;
  }
  body.tunnel #orderContainer #orderDetails #details #payment #cardInformations > div {
    display: flex;
  }
  body.tunnel #orderContainer #orderDetails #details #payment .action {
    display: flex;
    justify-content: end;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer {
    margin-bottom: 40px;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person {
    display: grid !important;
    grid-gap: 10px;
    grid-template-columns: repeat(1, 1fr) !important;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person select[name=title],
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person select[name=category] {
    grid-row: 2;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person a.btn,
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person input[name=name] {
    grid-row: 3;
  }
  body.tunnel #orderContainer #orderDetails #details #guests #personsContainer .person a.btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  body.tunnel #orderContainer,
  body.tunnel form#booking {
    grid-column: 2/14;
  }
  body.tunnel #orderContainer #bookingDetails,
  body.tunnel form#booking #bookingDetails {
    grid-column: 2/14;
    grid-row: 2;
  }
  body.tunnel #orderContainer #bookingDetails #payment,
  body.tunnel form#booking #bookingDetails #payment {
    margin-top: 0px;
  }
  body.tunnel #orderContainer .content > div > div,
  body.tunnel form#booking .content > div > div {
    margin: 0;
    padding: 20px;
  }
  body.tunnel #orderContainer #paymentDetails,
  body.tunnel form#booking #paymentDetails {
    grid-column: 1/15 !important;
  }
  body.tunnel #orderContainer #paymentDetails #orderTotalDetails .details,
  body.tunnel form#booking #paymentDetails #orderTotalDetails .details {
    margin-top: 0px !important;
    border: none !important;
  }
  body.tunnel #orderContainer #paymentDetails .content,
  body.tunnel form#booking #paymentDetails .content {
    position: relative !important;
    top: unset !important;
    margin: 0 !important;
  }
  body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .restaurant-photo,
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .restaurant-photo {
    height: 200px;
  }
  body.tunnel #payButtonContainer {
    box-shadow: 0px 8px 28px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    position: fixed;
    z-index: 101;
    bottom: 0;
    background: white;
    width: 100%;
    left: 0;
    padding: 16px 0;
  }
  body.tunnel #payButtonContainer button {
    margin-right: 10px;
  }
  body.tunnel #payButtonContainer #orderLater {
    background-color: transparent !important;
  }
  body.tunnel #restaurantInformations {
    align-items: start;
    justify-content: space-around;
  }
  body.tunnel #restaurantInformations .city {
    margin-left: 0 !important;
    margin-top: 10px;
  }
  #foodContainer {
    margin-right: 0 !important;
    grid-column: 2/12 !important;
    min-height: auto !important;
  }
  #sideBar {
    grid-column: 1/15 !important;
  }
  #sideBar #bookFormContainer {
    margin: 0 !important;
  }
  #sideBar #bookFormContainer .close {
    display: block !important;
    width: 25px;
    height: 25px;
    top: -52px;
    right: -10px;
    position: absolute;
    cursor: pointer;
    background-image: url(/build/images/close.697b7ce2.png);
    background-size: cover;
    background-color: white;
    margin: 20px;
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 15px;
  }
  #sideBar #bookFormContainer form {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 201;
    box-shadow: 0px 0px 28px rgba(0, 0, 0, 0.5) !important;
    width: 100%;
    padding: 0 !important;
  }
  #sideBar #bookFormContainer form #triggerContainer {
    background-color: #fff;
    display: flex !important;
    justify-content: center;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    height: 70px;
    align-items: center;
  }
  #sideBar #bookFormContainer form #triggerContainer.hide {
    display: none !important;
  }
  #sideBar #bookFormContainer form #triggerContainer #trigger {
    display: block !important;
    border-radius: 66px;
    text-align: center;
    align-items: center;
    justify-content: center;
    display: flex;
    background-image: linear-gradient(-45deg, #FAA924, #EE2A54);
    color: white;
    padding: 10px 20px;
  }
  #sideBar #bookFormContainer form #triggerContainer #trigger i {
    color: #fff;
  }
  #sideBar #bookFormContainer form.active #trigger {
    display: none;
  }
  #sideBar #bookFormContainer form.active .content {
    display: block;
    height: 50vh;
    overflow: scroll;
    margin: 0;
    padding: 20px;
    border-radius: 0px !important;
  }
  #sideBar #bookFormContainer form .content {
    display: none;
  }
  #header {
    height: auto !important;
  }
  #header .content {
    grid-column: 2/12;
  }
  #header .content #logo {
    grid-column: 1/6;
  }
  #header .user-menu {
    width: 150px !important;
  }
  #header .content #navigationContainer {
    grid-column: 6/13;
    gap: 0;
  }
  #header #navigation span {
    width: 40px;
    height: 40px;
    display: inline-block !important;
    background: #000;
    border-radius: 20px;
    background-image: url(/build/images/user.5fd62011.png);
    background-repeat: no-repeat;
    background-position: center;
  }
  #header #navigation a.username {
    display: none !important;
  }
  #header #search {
    display: none;
  }
  #header #search.active {
    display: flex;
    position: fixed;
    top: 0;
    background: rgb(218, 218, 218);
    height: 100%;
    width: 100%;
    grid-column: 4/10 !important;
    z-index: 1000;
  }
  #header #search.active form {
    position: relative;
    flex-direction: column;
    justify-content: center;
    height: auto !important;
    border: none !important;
    box-shadow: none !important;
    padding: 50px 0;
    margin: 0 20px;
  }
  #header #search.active form #location {
    padding: 0;
  }
  #header #search.active form #keywordContainer {
    display: flex;
    justify-content: center;
  }
  #header #search.active form #keywordContainer input {
    width: auto;
  }
  #header #search.active form .close {
    display: block !important;
    width: 20px;
    height: 20px;
    top: 20px;
    right: 20px;
    position: absolute;
    cursor: pointer;
    background-image: url(/build/images/close.697b7ce2.png);
    background-size: cover;
  }
  #header #search.active form .actions {
    margin: 20px 0;
  }
  #header #search.active form .fields {
    flex-direction: column;
    align-items: start;
    background: white;
    padding: 20px;
    border-radius: 20px;
  }
  #header #search.active form .fields > div {
    margin-bottom: 10px;
  }
  #header #search.active form .fields > div input#keywords {
    background: whitesmoke;
    height: 43px;
    width: 100%;
  }
  #header #logo,
  #header #searchTrigger {
    height: 100%;
  }
  #header #searchTrigger {
    grid-column: 4/11 !important;
    display: flex !important;
  }
  #header #searchTrigger.hide {
    display: none !important;
  }
  #locationBar form {
    grid-column: 1/14 !important;
  }
  main #filters {
    display: none;
  }
  main #mainContent {
    grid-column: 1/13 !important;
  }
  main #mainContent .restaurants {
    grid-template-columns: repeat(1, 1fr) !important;
    grid-column: 2/12 !important;
  }
  main #mainContent .restaurants a .restaurant .content .photo {
    height: 200px !important;
  }
  main #mainContent #pagination {
    grid-column: 1/15;
  }
  #footer .links {
    padding: 0 10px !important;
    margin: 0 !important;
  }
  #footer.grid-full > div {
    grid-column: 2/14;
  }
  .person-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
:root {
  --max-width: 100% !important;
  --color--primary-30: #fc9003;
  --color--primary-40: #e29024;
  --color--primary-50: #F8991C;
  --color--gray-45: #373434;
  --grid-col-count: 14;
  --grid-gap: 10px;
}

@media only screen and (max-width: 320px) {
  body.tunnel #orderContainer #paymentDetails .content #restaurantInformations {
    flex-direction: column;
    align-items: start;
  }
  body.tunnel #orderContainer #paymentDetails .content #restaurantInformations .restaurant-photo {
    margin-bottom: 20px;
    width: 100%;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .restaurant-photo {
    width: 100%;
    height: 200px;
  }
  body.tunnel form#booking #paymentDetails .content #restaurantInformations .informations {
    margin: 0;
    margin-top: 20px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDS0o7O0FEWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2VKOztBQ3BCQTtFQUNJLHNCRllJO0VFWEo7QUR1Qko7QUNyQkk7RUFDSTtBRHVCUjtBQ25CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRHFCWjtBQ25CWTtFQUNJO0VBQ0E7RUFDQSxXRlZSO0VFV1E7RUFDQTtBRHFCaEI7QUNsQlk7RUFDSTtFQUNBO0VBQ0EsV0ZsQlI7RUVtQlE7RUFDQTtBRG9CaEI7QUNqQlk7RUFDSTtBRG1CaEI7QUNoQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRGtCaEI7QUNmWTtFQUNJO0lBQ0k7SUFDQTtFRGlCbEI7RUNmYztJQUNJO0lBQ0E7RURpQmxCO0VDZmM7SUFDSTtJQUNBO0VEaUJsQjtBQUNGO0FDWkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRGNSO0FDWlE7RUFDSTtFQUNBO0FEY1o7QUNaWTtFQUNJO0VBQ0E7RUFDQTtBRGNoQjtBQ1pnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRGNwQjtBQ1pvQjtFQUNJO0FEY3hCO0FDWG9CO0VBQ0k7QURheEI7QUNOSTtFQUNJO0VBQ0E7RUFDQTtBRFFSO0FDTlE7RUFDSTtBRFFaO0FDTlk7RUFDSSx5QkZwR0g7QUM0R2I7QUNMWTtFQUNJLHlCRnZHRjtBQzhHZDtBQ0hnQjtFQUNJO0FES3BCO0FDRmdCO0VBQ0k7QURJcEI7QUNBWTtFQUNJO0VBQ0E7QURFaEI7QUNBZ0I7RUFDSTtFQUNBO0FERXBCO0FDQW9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURFeEI7QUNBd0I7RUFDSTtBREU1Qjs7QUNXSTtFQUNJO0FEUlI7QUNVUTtFQUNJO0FEUlo7QUNZSTtFQUNJO0VBQ0E7RUFDQTtBRFZSO0FDYUk7RUFDSTtFQUNBO0VBQ0E7QURYUjtBQ2NJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QURaUjtBQ2NRO0VBQ0k7RUFDQTtBRFpaO0FDY1k7RUFDSTtFQUNBO0FEWmhCO0FDZVk7RUFDSTtBRGJoQjtBQ2dCWTtFQUNJO0VBQ0E7QURkaEI7QUNrQlE7RUFDSTtFQUNBO0FEaEJaO0FDa0JZO0VBQ0k7RUFDQTtBRGhCaEI7QUNtQlk7RUFDSTtFQUNBLGNGak1UO0FDZ0xQO0FDc0JJO0VBQ0k7QURwQlI7QUNzQlE7RUFDSTtBRHBCWjtBQ3NCWTtFQUNJO0VBQ0E7RUFDQTtBRHBCaEI7QUNzQmdCO0VBQ0k7QURwQnBCO0FDc0JvQjtFQUNJO0VBQ0E7RUFDQTtBRHBCeEI7QUNzQm9CO0VBQ0k7RUFDQTtBRHBCeEI7QUN3QmdCO0VBQ0k7RUFDQTtBRHRCcEI7QUMwQlk7RUFDSSx5QkZ6T0Y7RUUwT0U7QUR4QmhCO0FDNEJRO0VBQ0k7RUFDQTtFQUNBO0FEMUJaO0FDNEJZO0VBQ0k7RUFDQTtBRDFCaEI7QUM0QmdCO0VBQ0ksV0ZqUVo7RUVrUVk7QUQxQnBCO0FDNEJvQjtFQUNJO0VBQ0E7QUQxQnhCO0FDNEJ3QjtFQUNJO0FEMUI1QjtBQ21DSTtFQUNJO0VBQ0E7RUFDQTtBRGpDUjtBQ29DWTtFQUNJLHlCRjNRSDtFRTRRRyxjRjlRVDtBQzRPUDs7QUR2UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzBRSjs7QUUvUUE7RUFDSTtBRmtSSjtBRWhSSTtFQUNJO0FGa1JSO0FFaFJRO0VBQ0ksZ0JIU0o7RUdSSTtBRmtSWjtBRS9RZ0I7RUFDSTtFQUNBO0FGaVJwQjtBRS9Rb0I7RUFDSTtFQUNBO0VBQ0E7QUZpUnhCO0FFL1F3QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FGaVI1QjtBRTdRNEI7RUFDSTtBRitRaEM7QUUxUTRCO0VBQ0k7QUY0UWhDO0FFdlE0QjtFQUNJO0FGeVFoQztBRXBRNEI7RUFDSTtBRnNRaEM7QUVqUTRCO0VBQ0k7QUZtUWhDO0FFNVBZO0VBQ0k7SUFDSTtFRjhQbEI7RUUzUGM7SUFDSTtFRjZQbEI7QUFDRjtBRTFQWTtFQUNJO0VBQ0E7QUY0UGhCO0FFelBZO0VBQ0k7QUYyUGhCO0FFeFBZO0VBQ0k7QUYwUGhCO0FFdlBZO0VBQ0k7QUZ5UGhCO0FFdFBZO0VBQ0k7RUFDQTtFQUNBO0FGd1BoQjtBRXJQWTtFQUNJO0FGdVBoQjtBRXJQZ0I7RUFDSTtFQUNBO0FGdVBwQjs7QUQzVkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzhWSjs7QUduV0E7RUFDSTtBSHNXSjs7QUduV0E7RUFDSTtBSHNXSjtBR3BXSTtFQUNJO0FIc1dSO0FHbldJO0VBQ0k7QUhxV1I7QUduV1E7RUFDSTtFQUNBO0VBQ0E7QUhxV1o7QUdsV1E7RUFDSTtFQUNBLFdKTko7QUMwV1I7QUdqV1E7RUFDSSx5QkpOQztBQ3lXYjtBR2hXUTtFQUNJO0FIa1daO0FHL1ZROztFQUVJO0VBQ0E7QUhpV1o7QUcvVlk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhrV2hCO0FHL1ZZOztFQUNJO0FIa1doQjtBR2hXZ0I7O0VBQ0k7QUhtV3BCO0FHaldvQjs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBSG9XeEI7QUdqV29COztFQUNJO0VBQ0E7QUhvV3hCO0FHaldvQjs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBSG9XeEI7QUcvVlk7O0VBQ0k7RUFDQTtBSGtXaEI7QUdoV2dCOztFQUNJO0FIbVdwQjtBR2hXZ0I7O0VBQ0k7RUFDQTtBSG1XcEI7QUdoV2dCOzs7Ozs7RUFHSTtFQUNBO0FIcVdwQjtBR2xXZ0I7O0VBQ0k7QUhxV3BCO0FHaFdRO0VBQ0k7QUhrV1o7QUdoV1k7RUFDSTtFQUNBO0FIa1doQjtBRzdWWTtFQUNJO0FIK1ZoQjs7QUlqZEE7RUFDSTtFQUNBO0FKb2RKOztBS3RkQTtBQUVBO0VBQ0k7RUFDQTtBTHdkSjtBS3JkQTtFQUNJO0VBQ0E7QUx1ZEo7QUtwZEE7RUFDSTtFQUNBO0FMc2RKO0FLbmRBO0VBQ0k7RUFDQTtBTHFkSjtBS2xkQTtFQUNJO0VBQ0E7QUxvZEo7QUtqZEE7RUFDSTtFQUNBO0FMbWRKO0FLaGRBO0VBQ0k7RUFDQTtBTGtkSjtBSy9jQTtFQUNJO0VBQ0E7QUxpZEo7QUs5Y0E7RUFDSTtFQUNBO0FMZ2RKO0FLN2NBO0VBQ0k7RUFDQTtBTCtjSjtBSzVjQTtFQUNJO0VBQ0E7QUw4Y0o7QUszY0E7RUFDSTtFQUNBO0FMNmNKO0FLMWNBO0VBQ0k7RUFDQTtBTDRjSjtBS3pjQTtFQUNJO0VBQ0E7QUwyY0o7QUt4Y0E7RUFDSTtFQUNBO0FMMGNKO0FLdmNBO0VBQ0k7RUFDQTtBTHljSjtBS3RjQTtBQUNBO0VBQ0k7RUFDQTtBTHdjSjtBS3JjQTtFQUNJO0VBQ0E7QUx1Y0o7QUtwY0E7RUFDSTtFQUNBO0FMc2NKO0FLbmNBO0VBQ0k7RUFDQTtBTHFjSjtBS2xjQTtFQUNJO0VBQ0E7QUxvY0o7QUtqY0E7RUFDSTtFQUNBO0FMbWNKO0FLaGNBO0VBQ0k7RUFDQTtBTGtjSjtBSy9iQTtFQUNJO0VBQ0E7QUxpY0o7QUs5YkE7RUFDSTtFQUNBO0FMZ2NKO0FLN2JBO0VBQ0k7RUFDQTtBTCtiSjtBSzViQTtFQUNJO0VBQ0E7QUw4Yko7QUszYkE7RUFDSTtFQUNBO0FMNmJKO0FLMWJBO0VBQ0k7RUFDQTtBTDRiSjtBS3piQTtFQUNJO0VBQ0E7QUwyYko7QUt4YkE7RUFDSTtFQUNBO0FMMGJKO0FLdmJBO0VBQ0k7RUFDQTtBTHliSjtBS3RiQTtFQUNJO0VBQ0E7QUx3Yko7QUtyYkE7RUFDSTtFQUNBO0FMdWJKO0FNaG1CSTtFQUNJO0FOa21CUjtBTS9sQlk7RUFDSTtFQUNBO0VBQ0E7QU5pbUJoQjtBTTdsQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOK2xCWjtBTTdsQlk7RUFDSTtFQUNBO0VBQ0E7QU4rbEJoQjtBTTVsQlk7RUFDSTtFQUNBO0FOOGxCaEI7QU01bEJnQjtFQUNJO0FOOGxCcEI7QU0xbEJvQjtFQUNJO0FONGxCeEI7QU14bEJ3QjtFQUNJO0VBQ0E7QU4wbEI1QjtBTXJsQmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU51bEJwQjtBTXBsQmdCO0VBQ0ksY0Y3Q2I7RUU4Q2E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOc2xCcEI7QU1wbEJvQjtFQUNJLGNGeERoQjtBSjhvQlI7QU1ubEJvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnFsQnhCO0FNamxCd0I7RUFESjtJQUVRO0VOb2xCMUI7QUFDRjtBTWpsQm9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5tbEJ4QjtBTWhsQm9CO0VBQ0k7SUFDSTtFTmtsQjFCO0VNaGxCc0I7SUFDSTtFTmtsQjFCO0FBQ0Y7QU01a0JnQjtFQUNJO0FOOGtCcEI7QU0za0JnQjtFQUNJO0VBQ0E7RUFDQSxjRmhIWjtBSjZyQlI7QU0za0JvQjtFQU1JLGNGeEhoQjtFRXlIZ0I7QU53a0J4QjtBTTdrQndCO0VBQ0ksY0ZuSHJCO0FKa3NCUDtBTXJrQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOdWtCWjtBTXBrQlE7RUFDSTtBTnNrQlo7QU1wa0JZO0VBQ0k7QU5za0JoQjtBTWhrQm9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmtrQnhCO0FNL2pCb0I7RUFDSTtBTmlrQnhCO0FNN2pCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOK2pCcEI7QU03akJvQjtFQUNJO0VBQ0E7QU4rakJ4QjtBTTdqQndCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjRjlLcEI7RUUrS29CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4rakI1QjtBTTVqQndCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QU44akI1QjtBTTVqQjRCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjhqQmhDO0FNeGpCZ0I7RUFDSTtFQUNBLGNGek1aO0VFME1ZO0VBQ0E7RUFDQTtFQUNBO0FOMGpCcEI7QU12akJnQjtFQUNJO0VBQ0EsY0ZsTlo7RUVtTlk7RUFDQTtFQUNBO0VBQ0E7QU55akJwQjtBTXZqQm9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnlqQnhCOztBSXR5QkE7RUFDSTtFQUNBO0FKeXlCSjs7QU96eUJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVA0eUJKOztBT3p5QkE7RUFDSTtBUDR5Qko7QU8zeUJJO0VBQ0k7RUFDQSxjSEhBO0VHSUE7RUFDQTtBUDZ5QlI7O0FPenlCQTtFQUNJO0VBQ0E7RUFDQTtBUDR5Qko7QU8xeUJJO0VBQ0k7QVA0eUJSO0FPMXlCUTtFQUNJO0VBQ0EsY0huQko7RUdvQkk7RUFDQTtBUDR5Qlo7O0FPdnlCQTtFQUNJO0VBQ0E7QVAweUJKO0FPeHlCSTtFQUNJO0VBQ0EsY0hoQ0E7QUowMEJSO0FPdnlCSTtFQUNJLG1CSHBDQTtFR3FDQSxZSGhDQTtFR2lDQTtFQUNBO0VBQ0E7QVB5eUJSO0FPdnlCUTtFQUNJO0FQeXlCWjtBT3R5QlE7RUFDSTtBUHd5Qlo7QU9yeUJROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FQdXlCWjtBT3B5QlE7RUFDSTtBUHN5Qlo7QU9ueUJRO0VBQ0k7QVBxeUJaO0FPbnlCWTtFQUNJO0FQcXlCaEI7QU9qeUJRO0VBQ0k7QVBteUJaOztBUXAzQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnUzQko7QVFyM0JJO0VBQ0k7RUFDQTtFQUNBO0FSdTNCUjs7QVNuNEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWUxXSTtFS1ZKLHlCTFdLO0VLVkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUczRCSjtBU3A0Qkk7RUFFSTtBVHE0QlI7QVNsNEJJO0VBSUk7QVRpNEJSO0FTOTNCSTtFQUNJO0VBQ0E7QVRnNEJSO0FTNzNCSTtFQUNJO0FUKzNCUjs7QVV2NUJBO0VBQ0k7QVYwNUJKOztBVXY1QkE7RUFDSTtBVjA1Qko7O0FVdjVCQTtFQUNJO0FWMDVCSjs7QVV2NUJBO0VBQ0k7RUFDQTtBVjA1Qko7QVV4NUJJO0VBQ0k7QVYwNUJSO0FVdjVCSTtFQUNJO0FWeTVCUjtBVXQ1Qkk7RUFDSTtBVnc1QlI7O0FVcDVCQTtFQUNJLHlCTmhDUztFTWlDVDtFQUNBO0VBQ0E7RUFDQTtBVnU1Qko7QVVyNUJJO0VBQ0k7QVZ1NUJSO0FVcDVCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FWczVCUjtBVXA1QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWczVCWjtBVXA1Qlk7RUFDSTtFQUNBLGNOcERSO0FKMDhCUjtBVW41Qlk7RUFDSSxtQk54RFI7RU15RFE7RUFDQTtBVnE1QmhCO0FVbjVCZ0I7RUFDSTtBVnE1QnBCO0FVLzRCSTtFQUNJO0VBQ0E7RUFDQTtBVmk1QlI7QVUvNEJRO0VBQ0k7RUFDQTtFQUNBO0FWaTVCWjtBVS80Qlk7RUFDSTtFQUNBO0VBQ0E7QVZpNUJoQjtBVS80QmdCO0VBQ0k7QVZpNUJwQjtBVTM0Qkk7RUFDSTtBVjY0QlI7QVUxNEJJO0VBQ0k7QVY0NEJSO0FVMTRCUTtFQUNJO0VBQ0E7RUFDQTtBVjQ0Qlo7QVUxNEJZO0VBQ0k7QVY0NEJoQjtBVXo0Qlk7RUFDSTtFQUNBO0VBQ0E7QVYyNEJoQjtBVXI0QlE7RUFNSSx5Qk50SEw7RU11SEssY056SEo7RU0wSEk7RUFDQTtFQUNBO0VBQ0E7QVZrNEJaO0FVNTRCWTtFQUNJLHlCTnBIUjtFTXFIUSxZTmhIUjtBSjgvQlI7QVVsNEJJO0VBQ0k7RUFDQTtBVm80QlI7QVVsNEJRO0VBQ0k7RUFDQTtFQUNBLGNOeklGO0VNMElFO0FWbzRCWjtBVS8zQlE7RUFDSTtFQUNBO0VBQ0E7QVZpNEJaO0FVLzNCWTtFQUNJO0FWaTRCaEI7QVUvM0JnQjtFQUNJLGNOeEpWO0FKeWhDVjtBVTUzQmdCO0VBQ0k7QVY4M0JwQjtBVTEzQlk7RUFDSSxtQk5oS1Q7QUo0aENQO0FVejNCWTtFQUNJO0VBRUE7RUFDQTtBVjAzQmhCO0FVeDNCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjAzQnBCO0FVdjNCZ0I7RUFDSTtFQUNBO0FWeTNCcEI7QVV2M0JvQjtFQUNJO0VBQ0E7QVZ5M0J4QjtBVXQzQm9CO0VBQ0k7RUFDQTtFQUNBLGNOaE1kO0FKd2pDVjtBVXAzQlk7RUFDSTtFQUNBO0VBQ0EsY05yTVA7RU1zTU87QVZzM0JoQjtBVWozQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWbTNCUjtBVWozQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHVCTnJOSjtFTXNOSTtFQUNBO0VBQ0E7QVZtM0JaO0FVajNCWTtFQUNJO0FWbTNCaEI7QVVoM0JZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVZrM0JoQjtBVS8yQlk7RUFDSTtFQUNBO0VBQ0E7QVZpM0JoQjtBVTUyQkk7RUFDSTtFQUNBO0VBQ0E7QVY4MkJSO0FVNTJCUTtFQUNJLG1CTnRQTDtBSm9tQ1A7QVUzMkJRO0VBQ0k7RUFDQTtFQUNBO0FWNjJCWjtBVTEyQlE7RUFDSTtFQUNBO0VBQ0EsY05uUUY7QUorbUNWO0FVeDJCSTtFQUNJO0VBQ0E7QVYwMkJSO0FVdjJCSTtFQUNJO0VBQ0E7RUFDQSxtQk45UUQ7QUp1bkNQO0FVdDJCSTtFQUNJO0VBQ0E7RUFDQTtBVncyQlI7QVVwMkJROztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FWczJCWjtBVWwyQkk7RUFDSTtFQUNBLGNOcFNFO0FKd29DVjtBVWgyQlE7RUFDSTtBVmsyQlo7QVUvMUJRO0VBTUksaUJOOVNKO0VNK1NJO0VBQ0E7RUFDQTtFQUNBO0FWNDFCWjtBVXAyQlk7RUFDSTtBVnMyQmhCO0FVNzFCWTtFQUNJO0FWKzFCaEI7QVUxMUJJO0VBQ0k7RUFDQTtFQUNBO0FWNDFCUjtBVTExQlE7RUFDSTtFQUNBO0VBQ0E7QVY0MUJaO0FVejFCUTtFQUNJO0VBQ0E7RUFDQTtBVjIxQlo7QVV4MUJnQjtFQUNJO0FWMDFCcEI7QVV0MUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWdzFCaEI7QVVwMUJRO0VBQ0k7QVZzMUJaO0FVbDFCSTtFQUNJLHlCTnpXRTtFTTBXRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWbzFCUjtBVWwxQlE7RUFDSSx5Qk4vV0Y7QUptc0NWO0FVajFCUTtFQUNJO0FWbTFCWjtBVS8wQkk7RUFDSTtFQUNBO0VBQ0E7QVZpMUJSO0FVOTBCUTtFQUNJO0FWZzFCWjtBVTkwQlk7RUFDSTtBVmcxQmhCO0FVNzBCWTtFQUNJLG1CTmhZUDtBSitzQ1Q7QVU1MEJZO0VBQ0k7RUFDQTtFQUNBO0FWODBCaEI7QVU1MEJnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY4MEJwQjtBVXowQlE7RUFDSTtFQUNBO0VBQ0E7QVYyMEJaO0FVejBCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYyMEJoQjtBVXQwQkk7RUFDSTtFQUNBO0FWdzBCUjtBVXQwQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ3MEJaO0FVdDBCWTs7RUFFSTtFQUNBO0FWdzBCaEI7QVVyMEJZO0VBQ0k7RUFDQTtBVnUwQmhCO0FVcDBCWTtFQUNJO0VBQ0E7QVZzMEJoQjtBVW4wQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVnEwQmhCO0FVbjBCZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWcTBCcEI7QVVsMEJnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVm8wQnBCO0FVbDBCb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVm8wQnhCO0FVL3pCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpMEJoQjtBVS96QmdCO0VBQ0k7QVZpMEJwQjtBVTd6Qm9CO0VBQ0k7QVYrekJ4QjtBVTN6QndCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVY2ekI1QjtBVXp6Qm9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVYyekJ4QjtBVXp6QndCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVYyekI1QjtBVXh6QndCO0VBQ0ksWU43Z0JwQjtFTThnQm9CO0VBQ0E7RUFDQTtFQUNBO0FWMHpCNUI7QVV0ekJvQjtFQUNJO0FWd3pCeEI7QVVqekI0QjtFQUNJLFlOOWhCeEI7RU0raEJ3QjtBVm16QmhDO0FVN3lCNEI7RUFDQSxjTnppQnJCO0VNMGlCcUI7RUFDQTtFQUNBO0VBQ0E7QVYreUI1QjtBVXh5QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxtQk5qakJPO0FKMjFDbkI7QVV4eUJZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVYweUJoQjtBVXZ5Qlk7RUFDSTtFQUNBO0FWeXlCaEI7QVV2eUJnQjtFQUNJO0VBQ0E7RUFDQTtBVnl5QnBCO0FVdnlCb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnl5QnhCO0FVcHlCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZzeUJoQjtBVW55Qlk7RUFDSTtBVnF5QmhCO0FVbHlCWTtFQUNJO0FWb3lCaEI7QVVseUJnQjtFQUNJLGNOem1CVjtBSjY0Q1Y7QVU5eEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmd5QlI7QVU3eEJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVit4QlI7QVU3eEJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWK3hCWjtBVTV4QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWOHhCWjtBVTV4Qlk7RUFDSSxtQk52cEJSO0FKcTdDUjtBVXp4Qlk7RUFDSTtBVjJ4QmhCO0FVcnhCUTs7O0VBR0k7QVZ1eEJaO0FVcHhCUTtFQUNJO0VBQ0E7QVZzeEJaO0FVcHhCWTtFQUNJO0VBQ0E7RUFDQTtBVnN4QmhCO0FVbnhCWTtFQUNJO0VBQ0E7QVZxeEJoQjtBVW54QmdCO0VBQ0k7QVZxeEJwQjtBVWh4QlE7RUFDSTtFQUNBO0FWa3hCWjtBVWh4Qlk7RUFDSTtBVmt4QmhCO0FVaHhCZ0I7RUFDSTtFQUNBO0FWa3hCcEI7QVUvd0JnQjtFQUNJO0FWaXhCcEI7QVUvd0JvQjtFQUNJLGNOMXNCZjtBSjI5Q1Q7O0FVendCQTtFQUNJO0FWNHdCSjs7QVV4d0JJO0VBQ0kseUJOcnRCQztFTXN0QkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYyd0JSOztBVXZ3QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWMHdCSjtBVXh3Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYwd0JSO0FVdndCSTtFQUNJO0VBQ0E7RUFDQTtBVnl3QlI7QVV0d0JJO0VBQ0k7RUFDQTtBVnd3QlI7QVVod0JBO0VBQ0k7RUFDQTtBVmt3Qko7O0FVL3ZCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FWa3dCSjs7QVUvdkJBO0VBQ0k7RUFDQTtFQUNBO0FWa3dCSjtBVWh3Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmt3QlI7QVU5dkJRO0VBQ0k7QVZnd0JaO0FVN3ZCUTtFQUNJO0VBQ0E7QVYrdkJaOztBVTF2QkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWNnZCSjtBVTN2Qkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBVjZ2QlI7QVUzdkJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjZ2Qlo7O0FJcmxEQTtFQUNJO0VBQ0E7QUp3bERKOztBV3ZsREk7RUFDSTtFQUNBLGlCUFVBO0VPVEE7RUFDQTtBWDBsRFI7QVd2bERJOztFQUVJO0FYeWxEUjs7QVdybERBO0VBQ0k7QVh3bERKOztBV3JsREE7RUFDSTtFQUNBO0VBQ0E7QVh3bERKO0FXdGxESTtFQUNJO0FYd2xEUjtBV3JsREk7RUFDSTtBWHVsRFI7QVdybERRO0VBQ0k7RUFDQTtBWHVsRFo7QVdybERZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVh1bERoQjtBV2xsREk7RUFDSTtBWG9sRFI7QVdqbERJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVhtbERSO0FXaGxESTtFQUNJO0FYa2xEUjtBVzlrREk7RUFDSTtFQUNBO0VBQ0E7QVhnbERSO0FXN2tESTtFQUNJO0FYK2tEUjtBVzVrREk7RUFDSTtBWDhrRFI7QVcza0RJO0VBQ0k7RUFDQTtFQUNBO0FYNmtEUjtBVzFrREk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBWDRrRFI7QVcxa0RRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNGtEWjs7QUl6cURBO0VBQ0k7RUFDQTtBSjRxREo7O0FZM3FESTtFQUNJO0VBQ0E7RUFDQTtBWjhxRFI7QVk1cURRO0VBQ0k7QVo4cURaO0FZNXFEWTtFQUNJO0FaOHFEaEI7QVl6cURJO0VBQ0k7QVoycURSO0FZeHFESTtFQUNJO0VBQ0E7RUFDQSx5QlJkQTtFUWVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVowcURSOztBWXRxREE7RUFDSTtBWnlxREo7QVl4cURJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVowcURSO0FZeHFEUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FaMHFEWjtBWXZxRFE7RUFDSTtFQUNBO0VBQ0E7QVp5cURaOztBWXBxREE7RUFDSTtFQUNBO0FadXFESjtBWXBxRFE7RUFDSSxjUnhERjtBSjh0RFY7QVlucURRO0VBQ0ksY1IzREo7QUpndURSO0FZanFESTtFQUNJO0FabXFEUjtBWS9wRFE7RUFDSTtBWmlxRFo7O0FhN3VEUTtFQUNJO0VBQ0E7QWJndkRaO0FhNXVESTtFQUNJO0FiOHVEUjtBYTd1RFE7RUFDSTtFQUNBO0VBQ0E7QWIrdURaO0FhN3VEWTtFQUNJO0FiK3VEaEI7QWExdURJO0VBQ0k7RUFDQTtFQUNBO0FiNHVEUjtBYTF1RFE7RUFDSTtFQUNBO0FiNHVEWjtBYXp1RFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiMnVEWjtBYXp1RFk7RUFDSTtBYjJ1RGhCO0FhenVEZ0I7RUFDSTtBYjJ1RHBCO0FheHVEZ0I7RUFDSTtBYjB1RHBCO0FhcHVESTtFQUNJO0VBQ0E7RUFDQSxjVDlDQTtBSm94RFI7QWFsdURRO0VBQ0k7QWJvdURaO0FhaHVESTs7RUFFSTtBYmt1RFI7QWEvdERJOztFQUVJO0VBQ0E7QWJpdURSO0FhL3REUTs7RUFDSTtBYmt1RFo7QWF6dERRO0VBQ0k7QWIydERaO0FheHREUTtFQUNJO0VBQ0E7QWIwdERaO0FheHREWTtFQUNJO0FiMHREaEI7QWF2dERZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnl0RGhCO0FhdnREZ0I7RUFDSTtBYnl0RHBCO0FhdHREZ0I7RUFDSTtBYnd0RHBCO0FhbHRESTtFQUNJO0VBQ0EsaUJUdEdBO0VTdUdBO0VBQ0E7RUFDQTtBYm90RFI7QWFsdERRO0VBQ0k7QWJvdERaO0FhanREUTtFQUNJO0VBQ0E7QWJtdERaO0FhL3NESTtFQUNJO0FiaXREUjtBYS9zRFE7RUFDSTtFQUNBO0FiaXREWjtBYTlzRFE7RUFDSTtBYmd0RFo7QWE1c0RJO0VBQ0k7RUFDQTtBYjhzRFI7QWEzc0RJOzs7Ozs7OztFQVFJO0VBQ0EsY1RySkE7RVNzSkE7RUFDQTtFQUNBO0FiNnNEUjtBYTNzRFE7Ozs7Ozs7O0VBQ0ksY1R4Skg7QUo0MkRUO0FhaHRESTtFQUNJO0Fia3REUjtBYS9zREk7O0VBRUk7RUFDQTtBYml0RFI7QWE5c0RJO0VBQ0k7RUFDQTtFQUNBO0FiZ3REUjtBYTVzRFE7Ozs7O0VBS0k7QWI4c0RaO0FhM3NEUTtFQUNJO0FiNnNEWjtBYTFzRFE7RUFDSTtFQUNBO0VBQ0E7QWI0c0RaOztBYXZzREE7RUFDSTtBYjBzREo7O0FhdnNEQTtFQUNJO0FiMHNESjtBYXpzREk7RUFDSTtBYjJzRFI7O0FhdnNEQTtFQUNJO0FiMHNESjtBYXhzREk7RUFDSTtFQUNBLGNUcE5BO0VTcU5BO0FiMHNEUjs7QWFyc0RJO0VBQ0k7RUFDQTtBYndzRFI7QWF0c0RRO0VBQ0k7RUFDQTtFQUNBLHlCVDFOQztFUzJORDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fid3NEWjs7QWFqc0RRO0VBQ0k7RUFDQTtBYm9zRFo7QWFsc0RZO0VBQ0k7QWJvc0RoQjtBYWpzRFk7RUFDSTtBYm1zRGhCO0FhanNEZ0I7RUFDSTtFQUNBO0VBQ0EseUJUcFBQO0VTcVBPO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJtc0RwQjs7QWExckRJO0VBQ0kseUJUcFFDO0VTcVFEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjZyRFI7QWExckRJO0VBQ0k7SUFDSSxtQlQvUUg7RUoyOERQO0VhMXJETTtJQUNJLG1CVGpSQztFSjY4RFg7RWExckRNO0lBQ0ksbUJUclJIO0VKaTlEUDtBQUNGOztBSWwrREE7RUFDSTtFQUNBO0FKcStESjs7QUl2K0RBO0VBQ0k7RUFDQTtBSjArREo7O0FJNStEQTtFQUNJO0VBQ0E7QUorK0RKOztBYy8rREE7RUFDSTtJQUNJO0Vkay9ETjtFYy8rREU7SUFDSTtJQUNBO0lBQ0E7RWRpL0ROO0VjOStERTtJQUNJO0VkZy9ETjtFYzcrREU7SUFDSTtFZCsrRE47RWM1K0RFO0lBQ0k7SUFDQTtJQUNBO0VkOCtETjtFYzUrRE07SUFDSTtFZDgrRFY7RWMxK0RFO0lBQ0k7SUFDQTtJQUNBO0VkNCtETjtFYzErRE07SUFDSTtFZDQrRFY7RWN6K0RNO0lBQ0k7RWQyK0RWO0VjeCtETTtJQUNJO0lBQ0E7RWQwK0RWO0VjbitEVTtJQUNJO0lBQ0E7RWRxK0RkO0VjbCtEVTtJQUNJO0VkbytEZDtFYzU5RE07SUFDSTtFZDg5RFY7RWM1OURVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VkODlEZDtFYzU5RGM7O0lBRUk7RWQ4OURsQjtFYzM5RHNCOztJQUNJO0VkODlEMUI7RWN4OURrQjtJQUNJO0VkMDlEdEI7RWNwOURNO0lBQ0k7SUFDQTtFZHM5RFY7RWNwOURVO0lBQ0k7SUFDQTtFZHM5RGQ7RWNuOURVO0lBQ0k7RWRxOURkO0VjbjlEYztJQUNJO0lBQ0E7RWRxOURsQjtFY2o5RFU7SUFDSTtJQUNBO0lBQ0E7RWRtOURkO0VjajlEYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VkbTlEbEI7QUFDRjtBSW5sRUE7RUFDSTtFQUNBO0FKcWxFSjs7QWVybEVBO0VBRVE7SUFDSTtFZnVsRVY7RWVubEVVO0lBQ0k7RWZxbEVkO0VlbGxFVTtJQUNJO0Vmb2xFZDtFZWxsRWM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFZm9sRWxCO0VlbGxFa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFZm9sRXRCO0VlbGxFc0I7SUFDSTtJQUNBO0Vmb2xFMUI7RWVsbEUwQjtJQUNJO0Vmb2xFOUI7RWVqbEUwQjtJQUNJO0VmbWxFOUI7RWU1a0VVO0lBQ0k7RWY4a0VkO0VlNWtFYztJQUNJO0VmOGtFbEI7RWUxa0VrQjtJQUNJO0VmNGtFdEI7RWUxa0VzQjtJQUNJO0VmNGtFMUI7QUFDRjtBSXJvRUE7RUFDSTtFQUNBO0FKdW9FSjs7QWdCdm9FQTtFQU13QjtJQUNJO0VoQnFvRTFCO0VnQjluRWM7SUFDSTtFaEJnb0VsQjtBQUNGO0FJbHBFQTtFQUNJO0VBQ0E7QUpvcEVKOztBaUJqcEVBO0VBTXdCO0lBQ0k7RWpCK29FMUI7QUFDRjtBRDVwRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzhwRUo7O0FEcnFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDd3FFSjs7QUM3cUVBO0VBQ0ksc0JGWUk7RUVYSjtBRGdyRUo7QUM5cUVJO0VBQ0k7QURnckVSO0FDNXFFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRDhxRVo7QUM1cUVZO0VBQ0k7RUFDQTtFQUNBLFdGVlI7RUVXUTtFQUNBO0FEOHFFaEI7QUMzcUVZO0VBQ0k7RUFDQTtFQUNBLFdGbEJSO0VFbUJRO0VBQ0E7QUQ2cUVoQjtBQzFxRVk7RUFDSTtBRDRxRWhCO0FDenFFWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEMnFFaEI7QUN4cUVZO0VBQ0k7SUFDSTtJQUNBO0VEMHFFbEI7RUN4cUVjO0lBQ0k7SUFDQTtFRDBxRWxCO0VDeHFFYztJQUNJO0lBQ0E7RUQwcUVsQjtBQUNGO0FDcnFFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FEdXFFUjtBQ3JxRVE7RUFDSTtFQUNBO0FEdXFFWjtBQ3JxRVk7RUFDSTtFQUNBO0VBQ0E7QUR1cUVoQjtBQ3JxRWdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEdXFFcEI7QUNycUVvQjtFQUNJO0FEdXFFeEI7QUNwcUVvQjtFQUNJO0FEc3FFeEI7QUMvcEVJO0VBQ0k7RUFDQTtFQUNBO0FEaXFFUjtBQy9wRVE7RUFDSTtBRGlxRVo7QUMvcEVZO0VBQ0kseUJGcEdIO0FDcXdFYjtBQzlwRVk7RUFDSSx5QkZ2R0Y7QUN1d0VkO0FDNXBFZ0I7RUFDSTtBRDhwRXBCO0FDM3BFZ0I7RUFDSTtBRDZwRXBCO0FDenBFWTtFQUNJO0VBQ0E7QUQycEVoQjtBQ3pwRWdCO0VBQ0k7RUFDQTtBRDJwRXBCO0FDenBFb0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRDJwRXhCO0FDenBFd0I7RUFDSTtBRDJwRTVCOztBQzlvRUk7RUFDSTtBRGlwRVI7QUMvb0VRO0VBQ0k7QURpcEVaO0FDN29FSTtFQUNJO0VBQ0E7RUFDQTtBRCtvRVI7QUM1b0VJO0VBQ0k7RUFDQTtFQUNBO0FEOG9FUjtBQzNvRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRDZvRVI7QUMzb0VRO0VBQ0k7RUFDQTtBRDZvRVo7QUMzb0VZO0VBQ0k7RUFDQTtBRDZvRWhCO0FDMW9FWTtFQUNJO0FENG9FaEI7QUN6b0VZO0VBQ0k7RUFDQTtBRDJvRWhCO0FDdm9FUTtFQUNJO0VBQ0E7QUR5b0VaO0FDdm9FWTtFQUNJO0VBQ0E7QUR5b0VoQjtBQ3RvRVk7RUFDSTtFQUNBLGNGak1UO0FDeTBFUDtBQ25vRUk7RUFDSTtBRHFvRVI7QUNub0VRO0VBQ0k7QURxb0VaO0FDbm9FWTtFQUNJO0VBQ0E7RUFDQTtBRHFvRWhCO0FDbm9FZ0I7RUFDSTtBRHFvRXBCO0FDbm9Fb0I7RUFDSTtFQUNBO0VBQ0E7QURxb0V4QjtBQ25vRW9CO0VBQ0k7RUFDQTtBRHFvRXhCO0FDam9FZ0I7RUFDSTtFQUNBO0FEbW9FcEI7QUMvbkVZO0VBQ0kseUJGek9GO0VFME9FO0FEaW9FaEI7QUM3bkVRO0VBQ0k7RUFDQTtFQUNBO0FEK25FWjtBQzduRVk7RUFDSTtFQUNBO0FEK25FaEI7QUM3bkVnQjtFQUNJLFdGalFaO0VFa1FZO0FEK25FcEI7QUM3bkVvQjtFQUNJO0VBQ0E7QUQrbkV4QjtBQzduRXdCO0VBQ0k7QUQrbkU1QjtBQ3RuRUk7RUFDSTtFQUNBO0VBQ0E7QUR3bkVSO0FDcm5FWTtFQUNJLHlCRjNRSDtFRTRRRyxjRjlRVDtBQ3E0RVA7O0FrQjc1RUE7RUFDSTtBbEJnNkVKO0FrQjk1RUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCZzZFUjtBa0I3NUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCKzVFUjtBa0I3NUVRO0VBQ0k7RUFDQSx5Qm5CVkM7RW1CV0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIrNUVaO0FrQjc1RVk7RUFDSTtBbEIrNUVoQjtBa0I1NUVZO0VBRUksc0JuQnJCUjtFbUJzQlE7QWxCNjVFaEI7O0FrQnQ1RUE7RUFDSTtBbEJ5NUVKO0FrQnY1RUk7RUFDSTtFQUNBO0VBQ0E7QWxCeTVFUjs7QWtCcDVFSTtFQUNJO0FsQnU1RVI7O0FrQm41RUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEJzNUVKO0FrQnA1RUk7RUFDSTtBbEJzNUVSO0FrQmw1RWdCO0VBQ0k7RUFDQTtFQUNBLG1CbkIvQ2I7RW1CZ0RhO0VBQ0E7RUFDQTtFQUNBO0FsQm81RXBCO0FrQmo1RWdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCbTVFcEI7QWtCajVFb0I7O0VBRUk7RUFDQTtFQUNBO0FsQm01RXhCO0FrQmg1RW9CO0VBQ0k7RUFDQTtFQUNBO0FsQms1RXhCO0FrQmg1RXdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQms1RTVCOztBa0J6NEVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQjQ0RUo7QWtCMTRFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXbkJwSEE7RW1CcUhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNDRFUjtBa0IxNEVRO0VBQ0kseUJuQi9HQTtBQzIvRVo7QWtCejRFUTtFQUVJO0VBQ0E7QWxCMDRFWjtBa0J2NEVRO0VBQ0k7RUFDQTtBbEJ5NEVaO0FrQnQ0RVE7RUFDSTtFQUNBO0FsQnc0RVo7QWtCcjRFUTtFQUNJO0VBQ0E7QWxCdTRFWjs7QWtCbDRFQTtFQUNJO0FsQnE0RUo7QWtCajRFWTtFQUNJO0FsQm00RWhCO0FrQjkzRUk7O0VBRUk7RUFDQTtFQUNBO0FsQmc0RVI7QWtCOTNFUTs7RUFDSTtBbEJpNEVaO0FrQi8zRVk7O0VBQ0k7RUFDQTtFQUNBO0FsQms0RWhCO0FrQi8zRVk7O0VBQ0k7QWxCazRFaEI7QWtCaDRFZ0I7O0VBQ0k7RUFDQTtFQUNBO0FsQm00RXBCO0FrQi8zRVk7O0VBQ0k7RUFDQTtBbEJrNEVoQjtBa0JoNEVnQjs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQm00RXBCO0FrQmg0RWdCOztFQUNJO0FsQm00RXBCO0FrQmo0RW9COztFQUNJO0FsQm80RXhCO0FrQmo0RW9COztFQUNJO0FsQm80RXhCO0FrQjkzRVE7O0VBQ0k7RUFDQTtBbEJpNEVaO0FrQi8zRVk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0EsZ0JuQnpOUjtFbUIwTlE7RUFDQTtFQUNBO0VBQ0E7QWxCazRFaEI7QWtCaDRFZ0I7O0VBQ0k7QWxCbTRFcEI7QWtCaDRFZ0I7O0VBU0k7RUFDQTtFQUNBO0FsQjIzRXBCO0FrQnI0RW9COztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCdzRFeEI7QWtCajRFb0I7O0VBQ0k7QWxCbzRFeEI7QWtCajRFb0I7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCbzRFeEI7QWtCbDRFd0I7O0VBQ0k7QWxCcTRFNUI7QWtCajRFb0I7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQm80RXhCO0FrQmw0RXdCOzs7O0VBRUk7QWxCczRFNUI7QWtCaDRFZ0I7O0VBQ0k7RUFDQTtFQUNBO0FsQm00RXBCO0FrQmo0RW9COztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCbzRFeEI7QWtCajRFb0I7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCbzRFeEI7QWtCbDRFd0I7O0VBQ0k7RUFDQTtFQUNBO0FsQnE0RTVCO0FrQm40RTRCOztFQUNJO0FsQnM0RWhDO0FrQnA0RWdDOztFQUNJO0VBQ0EsY25CblM3QjtBQzBxRlA7QWtCcDRFZ0M7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCdTRFcEM7QWtCcDRFZ0M7Ozs7RUFFSTtBbEJ3NEVwQztBa0JwNEU0Qjs7RUFDSTtFQUNBO0FsQnU0RWhDO0FrQnI0RWdDOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCdzRFcEM7QWtCdDRFb0M7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnk0RXhDO0FrQnI0RWdDOztFQWNJO0VBQ0E7QWxCMjNFcEM7QWtCejRFb0M7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNDRFeEM7QWtCOTNFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQmc0RVI7QWtCOTNFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQmc0RVo7QWtCOTNFWTtFQUFhO0FsQmk0RXpCO0FrQmg0RVk7RUFBVztBbEJtNEV2QjtBa0JoNEVRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJrNEVaO0FrQmg0RVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEJrNEVoQjtBa0I3M0VJO0VBQ0k7RUFDQTtBbEIrM0VSO0FrQjczRVE7RUFDSTtFQUNBO0FsQiszRVo7QWtCNzNFWTtFQUNJO0VBQ0EsV25CMVpSO0VtQjJaUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIrM0VoQjtBa0I1M0VZO0VBQ0k7RUFDQTtBbEI4M0VoQjtBa0IxM0VRO0VBQ0k7QWxCNDNFWjtBa0J6M0VRO0VBQ0k7RUFDQTtBbEIyM0VaO0FrQnozRVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEIyM0VoQjtBa0J4M0VZO0VBQ0k7RUFDQTtFQUNBLFduQi9iUjtFbUJnY1E7QWxCMDNFaEI7QWtCeDNFZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQjAzRXBCO0FrQnYzRWdCO0VBQ0k7QWxCeTNFcEI7QWtCcjNFWTtFQUNJO0VBQ0EsV25CcGRSO0VtQnFkUTtBbEJ1M0VoQjtBa0JuM0VRO0VBQ0k7QWxCcTNFWjtBa0JqM0VJO0VBQ0k7RUFDQTtBbEJtM0VSO0FrQmozRVE7RUFDSTtBbEJtM0VaO0FrQmgzRVE7RUFDSTtFQUNBO0VBQ0E7QWxCazNFWjtBa0JoM0VZO0VBYUk7RUFDQTtFQUNBO0VBQ0E7QWxCczJFaEI7QWtCcjNFZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCdTNFcEI7QWtCNzJFUTtFQUNJO0VBQ0E7RUFDQTtBbEIrMkVaO0FrQjcyRVk7RUFDSTtFQUNBO0FsQisyRWhCO0FrQjEyRUk7RUFDSTtBbEI0MkVSO0FrQjEyRVE7RUFDSSxXbkIvZ0JKO0VtQmdoQkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEI0MkVaO0FrQnoyRWdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsbUJuQmppQlA7RW1Ca2lCTztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIyMkVwQjtBa0JuMkVZO0VBQ0k7QWxCcTJFaEI7QWtCbjJFZ0I7RUFDSSxXbkJqakJaO0VtQmtqQlk7RUFDQTtFQUNBO0FsQnEyRXBCO0FrQmwyRWdCO0VBQ0k7RUFDQTtFQUNBO0FsQm8yRXBCO0FrQmwyRW9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCbzJFeEI7QWtCbDJFd0I7RUFDSTtBbEJvMkU1QjtBa0JqMkV3QjtFQUNJO0VBQ0E7RUFDQTtBbEJtMkU1QjtBa0JoMkV3QjtFQUNJLGNuQnBrQnJCO0FDczZGUDtBa0IvMUV3QjtFQUNJO0VBQ0E7QWxCaTJFNUI7QWtCOTFFd0I7RUFDSTtFQUNBO0FsQmcyRTVCO0FrQjcxRXdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIrMUU1QjtBa0I3MUU0QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCKzFFaEM7QWtCMzFFd0I7RUFDSTtBbEI2MUU1QjtBa0IxMUVnQztFQUNJO0FsQjQxRXBDO0FrQmoxRUk7RUFDSTtBbEJtMUVSO0FrQmoxRVE7RUFDSTtBbEJtMUVaO0FrQmoxRVk7RUFDSTtBbEJtMUVoQjtBa0JoMUVZO0VBQ0k7RUFDQTtBbEJrMUVoQjtBa0IvMEVZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxCaTFFaEI7QWtCLzBFZ0I7RUFDSTtFQUNBLGNuQjVvQlg7RW1CNm9CVztFQUNBO0FsQmkxRXBCO0FrQjkwRWdCO0VBQ0k7RUFDQTtBbEJnMUVwQjtBa0I1MEVZO0VBQ0k7RUFDQTtFQUNBO0FsQjgwRWhCO0FrQjMwRVk7RUFDSSw0Q25CdnFCTjtBQ28vRlY7QWtCMzBFZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEI2MEVwQjtBa0IxMEVnQjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNDBFcEI7QWtCejBFZ0I7RUFDSTtBbEIyMEVwQjtBa0J4MEVnQjtFQUNJO0VBQ0E7QWxCMDBFcEI7QWtCeDBFb0I7RUFDSTtBbEIwMEV4QjtBa0J4MEV3QjtFQUNJO0FsQjAwRTVCO0FrQnYwRXdCO0VBQ0k7RUFDQTtBbEJ5MEU1QjtBa0JwMEVnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQnMwRXBCO0FReGlHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSMGlHSjtBUXhpR0k7RUFDSTtFQUNBO0VBQ0E7QVIwaUdSOztBRHRqR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3lqR0o7O0FtQjdqR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkJna0dSO0FtQjlqR1E7RUFDSTtBbkJna0daO0FtQjdqR1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCcEJISjtBQ2trR1I7QW1CM2pHZ0I7RUFDSTtBbkI2akdwQjtBbUIxakdnQjtFQUNJO0FuQjRqR3BCO0FtQnhqR1k7RUFDSTtBbkIwakdoQjtBbUJ2akdZOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQnlqR2hCO0FtQnRqR1k7RUFDSSxtQnBCckJKO0VvQnNCSTtFQUNBLGNwQnhCVDtFb0J5QlM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Cd2pHaEI7O0FEcm5HQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDd25HSjs7QW9CN25HQTtFQUNJO0VBQ0E7QXBCZ29HSjtBb0I5bkdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJnb0dSO0FvQjluR1E7RUFDSTtFQUNBO0VBQ0E7QXBCZ29HWjtBb0I3bkdRO0VBQ0k7RUFDQTtBcEIrbkdaO0FvQjVuR1E7RUFDSTtBcEI4bkdaO0FvQjNuR1E7RUFDSTtBcEI2bkdaO0FvQjFuR1E7RUFDSTtFQUNBLFdyQmhCSjtBQzRvR1I7QW9CMW5HWTtFQUNJO0FwQjRuR2hCO0FvQnpuR1k7RUFDSSxtQnJCbEJQO0FDNm9HVDtBb0J2bkdRO0VBQ0k7QXBCeW5HWjtBb0J2bkdZO0VBQ0k7QXBCeW5HaEI7QW9CdG5HWTtFQUNJLGdCckJuQ1I7QUMycEdSO0FvQnBuR1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnNuR1o7QW9Cbm5HUTtFQUNJO0FwQnFuR1o7QW9Cbm5HWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FwQnFuR2hCOztBRG5zR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3NzR0o7O0FxQjFzR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCNnNHUjtBcUIxc0dJO0VBQ0k7QXJCNHNHUjtBcUJ6c0dJO0VBQ0k7RUFDQTtFQUNBO0FyQjJzR1I7QXFCenNHUTtFQUNJO0VBQ0E7QXJCMnNHWjtBcUJ6c0dZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQjJzR2hCO0FxQnRzR0k7RUFDSTtBckJ3c0dSOztBcUJwc0dBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJCdXNHSjs7QXFCcHNHQTtFQUNJO0FyQnVzR0o7O0FxQmxzR0k7O0VBTUk7QXJCaXNHUjtBcUJyc0dROztFQUNJO0FyQndzR1o7QXFCbnNHUTs7RUFDSTtFQUNBO0VBQ0E7RUFVQTtFQUNBO0VBQ0E7RUFDQTtBckI2ckdaO0FxQnhzR1k7O0VBQ0k7QXJCMnNHaEI7QXFCeHNHWTs7RUFDSTtBckIyc0doQjtBcUJsc0dROztFQUNJO0FyQnFzR1o7QXFCbnNHWTs7RUFDSTtBckJzc0doQjtBcUJuc0dZOztFQUNJLGN0QmpFVDtBQ3V3R1A7QXFCL3JHUTs7RUFDSTtFQUNBO0FyQmtzR1o7QXFCaHNHWTs7RUFDSTtBckJtc0doQjtBcUIvckdROztFQUNJO0VBQ0E7RUFDQTtBckJrc0daO0FxQmhzR1k7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQmpCN0dOO0VpQjhHTTtFQUNBO0FyQm1zR2hCO0FxQi9yR29COztFQUNJO0VBQ0EseUJqQnJIZDtFaUJzSGMsV3RCN0doQjtFc0I4R2dCO0VBQ0E7RUFDQTtFQUNBO0FyQmtzR3hCO0FxQjdyR29COztFQUNJO0VBQ0E7RUFDQTtFQUNBO0FyQmdzR3hCO0FxQnpyR0k7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJCNHJHUjtBcUIxckdROztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2pCckpGO0VpQnNKRTtFQUNBO0FyQjZyR1o7QXFCM3JHWTs7RUFDSSx5QnRCcklIO0VzQnNJRyxjdEI3SVA7QUMyMEdUO0FxQnpyR0k7O0VBQ0k7QXJCNHJHUjtBcUIxckdROztFQUNJO0VBQ0E7QXJCNnJHWjtBcUIxckdROztFQUNJO0FyQjZyR1o7QXFCeHJHUTs7RUFDSSxtQnRCaktIO0VzQmtLRztFQUNBLFd0QnhLSjtBQ20yR1I7QXFCdHJHUTs7RUFDSSxtQnRCektIO0VzQjBLRztFQUNBLFd0QmhMSjtFc0JpTEk7RUFDQTtBckJ5ckdaO0FxQnRyR1E7O0VBQ0k7RUFDQSxjakJoTUY7RWlCaU1FO0VBQ0E7RUFDQTtBckJ5ckdaOztBRHI0R0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3c0R0o7O0FzQjc0R0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEJnNUdKO0FzQjc0R1E7RUFDSTtBdEIrNEdaO0FzQjU0R1E7RUFDSTtBdEI4NEdaO0FzQjE0R0k7RUFDSSxtQnZCR0s7RXVCRkw7RUFDQTtFQUNBO0VBQ0E7QXRCNDRHUjtBc0IxNEdRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRCNDRHWjtBc0IxNEdZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRCNDRHaEI7QXNCMTRHZ0I7O0VBRUk7QXRCNDRHcEI7QXNCMzRHb0I7O0VBQ0k7QXRCODRHeEI7QXNCdjRHSTtFQUNJO0VBQ0E7QXRCeTRHUjtBc0J2NEdRO0VBQ0k7RUFDQTtBdEJ5NEdaO0FzQnQ0R1E7RUFDSTtFQUNBO0VBQ0E7QXRCdzRHWjtBc0J0NEdZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJ2QjlDUDtFdUIrQ08sV3ZCcERSO0V1QnFEUTtFQUNBO0VBQ0E7QXRCdzRHaEI7QXNCbjRHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnE0R1I7QXNCbjRHUTtFQUNJLFd2QjVFSjtFdUI2RUk7QXRCcTRHWjtBc0JsNEdRO0VBQ0k7RUFDQTtFQUNBO0F0Qm80R1o7QXNCajRHUTtFQUNJO0F0Qm00R1o7O0FJeitHQTtFQUNJO0VBQ0E7QUo0K0dKOztBdUI1K0dBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIrK0dKOztBdUI3K0dJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCZy9HUjs7QXVCOStHUTtFQUNJO0VBQ0E7QXZCaS9HWjs7QXVCLytHWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2QmsvR2hCOztBdUJoL0dnQjtFQUNJO0F2Qm0vR3BCOztBdUJoL0dnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qm0vR3BCOztBdUJoL0dnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qm0vR3BCOztBdUIvK0dZO0VBQ0k7QXZCay9HaEI7O0F1QmgvR2dCO0VBQ0k7RUFDQTtFQUNBO0F2Qm0vR3BCOztBdUI5K0dnQjtFQUNJO0F2QmkvR3BCOztBdUIzK0dZO0VBQ0k7QXZCOCtHaEI7O0F1QnorR1k7RUFDSTtBdkI0K0doQjs7QXVCditHWTtFQUNJO0F2QjArR2hCOztBdUJ0K0dRO0VBQ0k7QXZCeStHWjs7QXVCditHWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2QjArR2hCOztBdUJ4K0dnQjtFQUNJO0F2QjIrR3BCOztBdUJ0K0dRO0VBQ0ksbUJuQnhGSDtFbUJ5RkcsWW5CMUZKO0VtQjJGSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ5K0daOztBdUJ2K0dZO0VBQ0ksbUJuQjVHTTtBSnNsSHRCOztBdUJ0K0dnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBLDRCbkJwSEU7RW1CcUhGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCeStHcEI7O0F1QnIrR1k7RUFDSTtJQUNJO0V2QncrR2xCO0V1QnQrR2M7SUFDSTtFdkJ3K0dsQjtBQUNGO0F3QmhuSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEJrbkhKO0F3Qi9tSFE7RUFDSTtFQUNBO0VBQ0E7QXhCaW5IWjtBd0I3bUhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEIrbUhSO0F3QjdtSFE7RUFDSTtFQUNBO0VBQ0E7QXhCK21IWjtBd0I3bUhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCK21IaEI7QXdCM21IUTtFQUNJO0F4QjZtSFo7QXdCMW1IUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCNG1IWjtBd0J6bUhnQjtFQURKO0lBRVE7RXhCNG1IbEI7QUFDRjtBd0J6bUhZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhCMm1IaEI7QXdCeG1IWTtFQUNJO0VBQ0E7RUFDQTtBeEIwbUhoQjtBd0J4bUhnQjtFQUNJO0F4QjBtSHBCO0F3QnRtSG9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QndtSHhCO0F3QnJtSG9CO0VBQ0k7QXhCdW1IeEI7QXdCbm1IZ0I7RUFDSTtBeEJxbUhwQjtBd0JubUhvQjtFQUNJO0VBQ0E7QXhCcW1IeEI7QXdCbm1Id0I7RUFDSTtFQUNBO0VBQ0E7RUFDQSxXekJ6RnBCO0V5QjBGb0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJxbUg1QjtBd0JsbUh3QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4Qm9tSDVCO0F3QmxtSDRCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJvbUhoQztBd0I5bEhnQjtFQUNJO0VBQ0EsV3pCcEhaO0V5QnFIWTtFQUNBO0VBQ0E7RUFDQTtBeEJnbUhwQjtBd0I3bEhnQjtFQUNJO0VBQ0EsV3pCN0haO0V5QjhIWTtFQUNBO0VBQ0E7RUFDQTtBeEIrbEhwQjtBd0I3bEhvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCK2xIeEI7O0FENXZIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDK3ZISjs7QXlCcHdIQTtFQUNJO0VBQ0EsYzFCU1M7RTBCUlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QnV3SEo7QXlCcndISTtFQUNJO0VBQ0E7QXpCdXdIUjtBeUJud0hRO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpCb3dIWjtBeUJqd0hRO0VBQ0k7RUFDQSxtQjFCYkU7RTBCY0Y7QXpCbXdIWjtBeUJod0hRO0VBQ0k7RUFDQSxtQjFCbEJHO0UwQm1CSDtBekJrd0haO0F5Qjl2SEk7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFekJnd0hWO0V5Qjl2SE07SUFDSTtJQUNBO0lBQ0E7RXpCZ3dIVjtBQUNGOztBeUI1dkhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIrdkhKO0F5Qjd2SEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekIrdkhSO0F5Qjd2SFE7RUFOSjtJQU9RO0V6Qmd3SFY7QUFDRjtBeUI3dkhZO0VBQ0k7RUFDQTtFQUNBO0F6Qit2SGhCO0F5QjN2SFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QjZ2SFo7QXlCM3ZIWTtFQUNJO0VBQ0EsYzFCckVUO0FDazBIUDtBeUIxdkhZO0VBQ0k7QXpCNHZIaEI7QXlCenZIWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekIydkhoQjtBeUJ2dkhRO0VBQ0k7RUFDQTtBekJ5dkhaO0F5QnZ2SFk7RUFDSTtBekJ5dkhoQjtBeUJ0dkhZO0VBQ0k7RUFDQTtBekJ3dkhoQjtBeUJwdkhRO0VBQ0ksVzFCcEhKO0UwQnFISTtFQUNBO0F6QnN2SFo7QXlCbnZIUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6QnF2SFo7O0EwQmo0SEE7RUFDSTtBMUJvNEhKO0EwQmw0SEk7RUFDSTtFQUNBO0VBQ0E7QTFCbzRIUjtBMEIvM0hRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXM0JESjtFMkJFSTtFQUNBO0VBQ0E7RUFFQTs7Ozs7Ozs7OztJQUFBO0ExQjA0SFo7QTBCNzNIUTtFQUNJO0ExQiszSFo7QTBCNzNIWTtFQUNJO0ExQiszSGhCO0EwQjczSGdCO0VBQ0k7RUFDQTtBMUIrM0hwQjtBMEI1M0hnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCODNIcEI7QTBCMzNIZ0I7RUFDSSxjM0IzQmI7QUN3NUhQOztBS243SEE7QUFFQTtFQUNJO0VBQ0E7QUxxN0hKO0FLbDdIQTtFQUNJO0VBQ0E7QUxvN0hKO0FLajdIQTtFQUNJO0VBQ0E7QUxtN0hKO0FLaDdIQTtFQUNJO0VBQ0E7QUxrN0hKO0FLLzZIQTtFQUNJO0VBQ0E7QUxpN0hKO0FLOTZIQTtFQUNJO0VBQ0E7QUxnN0hKO0FLNzZIQTtFQUNJO0VBQ0E7QUwrNkhKO0FLNTZIQTtFQUNJO0VBQ0E7QUw4NkhKO0FLMzZIQTtFQUNJO0VBQ0E7QUw2NkhKO0FLMTZIQTtFQUNJO0VBQ0E7QUw0NkhKO0FLejZIQTtFQUNJO0VBQ0E7QUwyNkhKO0FLeDZIQTtFQUNJO0VBQ0E7QUwwNkhKO0FLdjZIQTtFQUNJO0VBQ0E7QUx5NkhKO0FLdDZIQTtFQUNJO0VBQ0E7QUx3NkhKO0FLcjZIQTtFQUNJO0VBQ0E7QUx1NkhKO0FLcDZIQTtFQUNJO0VBQ0E7QUxzNkhKO0FLbjZIQTtBQUNBO0VBQ0k7RUFDQTtBTHE2SEo7QUtsNkhBO0VBQ0k7RUFDQTtBTG82SEo7QUtqNkhBO0VBQ0k7RUFDQTtBTG02SEo7QUtoNkhBO0VBQ0k7RUFDQTtBTGs2SEo7QUsvNUhBO0VBQ0k7RUFDQTtBTGk2SEo7QUs5NUhBO0VBQ0k7RUFDQTtBTGc2SEo7QUs3NUhBO0VBQ0k7RUFDQTtBTCs1SEo7QUs1NUhBO0VBQ0k7RUFDQTtBTDg1SEo7QUszNUhBO0VBQ0k7RUFDQTtBTDY1SEo7QUsxNUhBO0VBQ0k7RUFDQTtBTDQ1SEo7QUt6NUhBO0VBQ0k7RUFDQTtBTDI1SEo7QUt4NUhBO0VBQ0k7RUFDQTtBTDA1SEo7QUt2NUhBO0VBQ0k7RUFDQTtBTHk1SEo7QUt0NUhBO0VBQ0k7RUFDQTtBTHc1SEo7QUtyNUhBO0VBQ0k7RUFDQTtBTHU1SEo7QUtwNUhBO0VBQ0k7RUFDQTtBTHM1SEo7QUtuNUhBO0VBQ0k7RUFDQTtBTHE1SEo7QUtsNUhBO0VBQ0k7RUFDQTtBTG81SEo7QVM5aklBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsV1ZjSTtFVWJKLHlCVmtCSztFVWpCTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRna0lKO0FTOWpJSTtFQUVJO0FUK2pJUjtBUzVqSUk7RUFJSTtBVDJqSVI7QVN4aklJO0VBQ0k7RUFDQTtBVDBqSVI7QVN2aklJO0VBQ0k7QVR5aklSOztBRHhsSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzJsSUo7O0EyQmhtSUE7RUFDSTtFQUNBLGdCNUJjSTtFNEJiSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQm1tSUo7QTJCam1JSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzQm1tSVI7QTJCaG1JSTtFQUNJO0VBQ0E7RUFDQTtBM0JrbUlSO0EyQi9sSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0JpbUlSO0EyQi9sSVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JpbUlaO0EyQjdsSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCK2xJUjtBMkI3bElRO0VBQ0k7QTNCK2xJWjtBMkIzbElJO0VBQ0k7RUFDQSxjNUJqQ0M7QUM4bklUO0EyQjFsSUk7RUFDSSx5QjVCdENLO0U0QnVDTDtBM0I0bElSO0EyQjFsSVE7RUFDSTtBM0I0bElaO0EyQjFsSVk7RUFDSTtFQUNBO0VBQ0E7QTNCNGxJaEI7QTJCMWxJZ0I7RUFDSTtBM0I0bElwQjs7QUFocElBO0VBQ0kseUJEU1M7RUNSVDtFQUNBLFdEUkk7RUNTSjtBQW1wSUo7O0FBaHBJQTtFQUNJO0VBQ0E7RUFDQTtBQW1wSUo7O0FBaHBJQTtFQUNJO0VBQ0E7RUFDQSxtQkRURztBQzRwSVA7O0FBaHBJQTtFQUNJO0VBQ0E7RUFDQTtBQW1wSUo7O0FBL29JSTtFQUNJO0FBa3BJUjs7QUE5b0lBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaXBJSjtBQS9vSUk7RUFDSTtBQWlwSVI7QUE5b0lJO0VBQ0k7QUFncElSO0FBN29JSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQStvSVI7QUE3b0lRO0VBQ0k7RUFDQTtFQUNBLGNEbkRMO0FDa3NJUDtBQTdvSVk7RUFDSSxXRGxFUjtBQ2l0SVI7QUEzb0lRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTZvSVo7QUEzb0lZO0VBQ0ksY0R6RVA7QUNzdElUOztBQXRvSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF5b0lKO0FBdm9JSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF5b0lSOztBQXJvSUE7RUFDSTtFQUNBO0VBQ0E7QUF3b0lKO0FBdG9JSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF3b0lSO0FBdG9JUTtFQUNJO0FBd29JWjtBQXJvSVE7RUFDSTtBQXVvSVo7QUFwb0lnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFzb0lwQjtBQXBvSW9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXNvSXhCO0FBbm9Jb0I7RUFDSTtBQXFvSXhCO0FBL25JUTtFQUNJO0FBaW9JWjtBQTduSUk7RUFDSTtFQUNBO0FBK25JUjtBQTduSVE7RUFDSTtBQStuSVo7O0FBMW5JQTtFQUNJO0VBQ0E7QUE2bklKOztBQTFuSUE7RUFDSTtFQUNBO0VBQ0EsbUJEcktFO0VDc0tGO0FBNm5JSjs7QUExbklBO0VBQ0k7RUFDQTtFQUNBO0FBNm5JSjtBQTNuSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTZuSVI7O0FBem5JQTtFQUNJO0VBQ0E7RUFDQTtBQTRuSUo7QUExbklJO0VBQ0k7QUE0bklSO0FBem5JSTtFQUNJO0FBMm5JUjtBQXhuSUk7RUFDSTtBQTBuSVI7O0FBdG5JQTtFQUNJLG1CRHZNUTtFQ3dNUjtFQUNBO0VBQ0E7QUF5bklKO0FBdm5JSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeW5JUjtBQXRuSUk7RUFDSTtBQXduSVI7O0FBcG5JQTtFQUNJO0VBQ0EsY0loUE07RUppUE47RUFDQTtFQUNBO0FBdW5JSjs7QUFwbklBO0VBQ0k7RUFDQTtBQXVuSUo7QUFybklJO0VBQ0k7QUF1bklSOztBQW5uSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFzbklKO0FBcG5JSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXNuSVI7QUFubklJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXFuSVI7QUFsbklJO0VBQ0k7SUFDSTtFQW9uSVY7RUFsbklNO0lBQ0k7RUFvbklWO0FBQ0Y7QUFqbklJO0VBQ0k7SUFDSTtFQW1uSVY7RUFqbklNO0lBQ0k7RUFtbklWO0VBam5JTTtJQUNJO0VBbW5JVjtFQWpuSU07SUFDSTtFQW1uSVY7RUFqbklNO0lBQ0k7RUFtbklWO0VBam5JTTtJQUNJO0VBbW5JVjtBQUNGOztBQS9tSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFrbklKO0FBaG5JSTtFQUNJO0FBa25JUjtBQS9tSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWluSVI7O0FBN21JQTtFQUNJO0VBQ0E7QUFnbklKO0FBOW1JSTtFQUNJO0FBZ25JUjtBQTdtSUk7RUFDSTtBQSttSVI7QUE1bUlJO0VBQ0k7QUE4bUlSOztBQTFtSUE7RUFDSTtFQUNBO0VBQ0E7QUE2bUlKO0FBM21JSTtFQUNJO0FBNm1JUjs7QUQzOUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUM4OUlKOztBNEJuK0lBO0VBQ0k7SUFDSTtFNUJzK0lOO0U0QmorSVU7SUFDSTtFNUJtK0lkO0U0QmgrSVU7SUFDSTtJQUNBO0U1QmsrSWQ7RTRCOTlJTTtJQUNJO0U1QmcrSVY7RTRCMTlJVTtJQUNJO0U1QjQ5SWQ7RTRCejlJVTtJQUNJO0U1QjI5SWQ7RTRCeDlJVTtJQUNJO0U1QjA5SWQ7QUFDRjtBRDkvSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2dnSko7O0E2QnJnSkE7RUFDSTtJQUNJO0U3QndnSk47RTZCdGdKTTtJQUNJO0U3QndnSlY7QUFDRjtBNkJwZ0pBO0VBS29CO0lBQ0k7RTdCa2dKdEI7RTZCLy9Ja0I7SUFDSTtFN0JpZ0p0QjtFNkIzL0lNO0lBQ0k7RTdCNi9JVjtFNkIxL0lNO0lBQ0k7RTdCNC9JVjtFNkJ0L0lVO0lBQ0k7RTdCdy9JZDtFNkJyL0lVO0lBQ0k7SUFDQTtFN0J1L0lkO0U2QnIvSWM7SUFDSTtFN0J1L0lsQjtFNkJwL0ljO0lBQ0k7RTdCcy9JbEI7RTZCbi9Jc0I7SUFDSTtFN0JxL0kxQjtFNkIvK0lVO0lBQ0k7RTdCaS9JZDtBQUNGO0E2QjMrSUE7RUFHWTtJQUNJO0U3QjIrSWQ7QUFDRjtBRHRqSkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3dqSko7O0E4QjdqSkE7RUFDSTtJQUNJO0U5QmdrSk47RThCN2pKRTtJQUNJO0U5QitqSk47RThCNWpKRTtJQUNJO0lBQ0E7RTlCOGpKTjtFOEIzakpFO0lBQ0k7SUFDQTtFOUI2akpOO0U4QjFqSkU7SUFDSTtFOUI0akpOO0U4QnpqSkU7SUFDSTtFOUIyakpOO0U4QnhqSkU7SUFDSTtFOUIwakpOO0U4QnhqSk07SUFDSTtFOUIwakpWO0U4QnhqSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCMGpKZDtFOEJwakpNO0lBQ0k7SUFDQTtFOUJzakpWO0U4QmxqSkU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5Qm9qSk47RThCbGpKTTtJQUNJO0U5Qm9qSlY7RThCampKTTtJQUNJO0U5Qm1qSlY7RThCL2lKRTtJQUNJO0U5QmlqSk47RThCOWlKRTtJQUNJO0U5QmdqSk47RThCN2lKRTtJQUNJO0U5QitpSk47RThCN2lKTTtJQUNJO0U5QitpSlY7RThCNWlKTTtJQUNJO0U5QjhpSlY7RThCNWlKVTtJQUNJO0U5QjhpSmQ7RThCNWlKYztJQUNJO0lBQ0E7SUFDQTtFOUI4aUpsQjtFOEIzaUpjO0lBQ0k7SUFDQTtFOUI2aUpsQjtFOEJ4aUpNOztJQUVJO0U5QjBpSlY7RThCdmlKTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUJ5aUpWO0U4QnRpSmM7SUFDSTtFOUJ3aUpsQjtFOEJwaUpVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCc2lKZDtFOEJuaUpVO0lBQ0k7RTlCcWlKZDtFOEJsaUpVO0lBQ0k7RTlCb2lKZDtFOEJqaUpVO0lBQ0k7SUFDQTtJQUNBO0U5Qm1pSmQ7RThCamlKYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0U5Qm1pSmxCO0U4QmppSmtCO0lBQ0k7RTlCbWlKdEI7RThCOWhKVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUJnaUpkO0U4QjloSmM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFOUJnaUpsQjtFOEIzaEpNO0lBQ0ksYy9CMUpMO0VDdXJKTDtFOEJ4aEpVOzs7SUFHSTtFOUIwaEpkO0U4QnZoSlU7SUFDSTtFOUJ5aEpkO0U4QnJoSk07SUFDSTtJQUNBO0lBQ0E7RTlCdWhKVjtFOEJyaEpVO0lBQ0k7RTlCdWhKZDtFOEJoaEprQjtJQUNJO0U5QmtoSnRCO0U4QmhoSnNCO0lBQ0k7SUFDQTtJQUNBO0U5QmtoSjFCO0U4Qi9nSnNCO0lBQ0k7SUFDQTtFOUJpaEoxQjtFOEIvZ0owQjtJQUNJO0U5QmloSjlCO0U4Qi9nSjhCO0lBQ0k7RTlCaWhKbEM7RThCL2dKa0M7SUFDSTtFOUJpaEp0QztFOEJ0Z0pVO0lBQ0k7RTlCd2dKZDtFOEJwZ0pjO0lBQ0k7RTlCc2dKbEI7RThCbmdKYzs7SUFFSTtFOUJxZ0psQjtFOEJqZ0prQjtJQUNJO0lBQ0E7SUFDQTtJQUNBLGdCL0JsUGhCO0krQm1QZ0I7SUFDQTtFOUJtZ0p0QjtFOEJqZ0pzQjs7SUFFSTtFOUJtZ0oxQjtFOEJoZ0pzQjtJQUNJO0U5QmtnSjFCO0U4Qi8vSXNCO0lBQ0k7SUFDQTtFOUJpZ0oxQjtFOEI1L0lzQjtJQUNJO0U5QjgvSTFCO0U4QjUvSTBCO0lBQ0k7SUFDQTtJQUNBO0U5QjgvSTlCO0U4QjUvSThCOztJQUVJO0U5QjgvSWxDO0U4QjMvSThCOztJQUVJO0U5QjYvSWxDO0U4QjEvSThCO0lBQ0k7SUFDQTtJQUNBO0U5QjQvSWxDO0U4QmwvSWtCO0lBQ0k7SUFDQTtFOUJvL0l0QjtFOEJoL0ljO0lBQ0k7SUFDQTtJQUNBO0U5QmsvSWxCO0U4Qi8rSXNCO0lBQ0k7RTlCaS9JMUI7RThCOStJc0I7SUFDSTtFOUJnL0kxQjtFOEI3K0lzQjtJQUNJO0lBQ0E7RTlCKytJMUI7RThCeCtJTTs7SUFFSTtFOUIwK0lWO0U4QngrSVU7O0lBQ0k7RTlCMitJZDtFOEJ4K0lVOztJQUNJO0U5QjIrSWQ7RThCditJTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCeStJVjtFOEJ2K0lVO0lBQ0k7RTlCeStJZDtFOEJ0K0lVO0lBQ0k7RTlCdytJZDtFOEJuK0lFO0lBQ0k7SUFDQTtJQUNBO0U5QnErSU47RThCbCtJRTtJQUNJO0U5Qm8rSU47RThCbCtJTTtJQUNJO0U5Qm8rSVY7RThCbCtJVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUJvK0lkO0U4QmorSVU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUJtK0lkO0U4QmorSWM7SUFDSSxzQi9COVlaO0krQitZWTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCbStJbEI7RThCaitJa0I7SUFDSTtFOUJtK0l0QjtFOEJoK0lrQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUJrK0l0QjtFOEJqK0lzQjtJQUNJLFcvQnJhcEI7RUN3NEpOO0U4Qjc5SWtCO0lBQ0k7RTlCKzlJdEI7RThCNTlJa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTlCODlJdEI7RThCMTlJYztJQUNJO0U5QjQ5SWxCO0U4QnQ5SUU7SUFDSTtFOUJ3OUlOO0U4QnQ5SU07SUFDSTtFOUJ3OUlWO0U4QnI5SU07SUFDSTtFOUJ1OUlWO0U4QnA5SU07SUFDSTtFOUJzOUlWO0U4Qm45SU07SUFDSTtFOUJxOUlWO0U4Qmo5SVU7SUFDSTtJQUNBO0lBQ0E7SUFDQSxnQi9CM2RSO0krQjRkUTtJQUNBO0lBQ0E7SUFDQTtFOUJtOUlkO0U4Qmg5SVU7SUFDSTtFOUJrOUlkO0U4Qjc4SVU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFOUIrOElkO0U4Qjc4SWM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5Qis4SWxCO0U4Qjc4SWtCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5Qis4SXRCO0U4QjU4SWtCO0lBQ0k7RTlCODhJdEI7RThCMzhJa0I7SUFDSTtJQUNBO0U5QjY4SXRCO0U4QjM4SXNCO0lBQ0k7RTlCNjhJMUI7RThCMzhJMEI7SUFDSTtJQUNBO0lBQ0E7RTlCNjhJOUI7RThCcjhJTTs7SUFFSTtFOUJ1OElWO0U4QnA4SU07SUFDSTtFOUJzOElWO0U4QnA4SVU7SUFDSTtFOUJzOElkO0U4Qmo4SUU7SUFDSTtFOUJtOElOO0U4Qi83SU07SUFDSTtFOUJpOElWO0U4QjU3SU07SUFDSTtJQUNBO0U5Qjg3SVY7QUFDRjtBOEIxN0lBO0VBRVE7SUFDSTtFOUIyN0lWO0U4Qno3SVU7SUFDSTtFOUIyN0lkO0FBQ0Y7QUQzZ0tBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUM2Z0tKOztBK0JsaEtBO0VBRVE7SUFDSTtFL0JvaEtWO0UrQmpoS007SUFDSTtFL0JtaEtWO0FBQ0Y7QStCL2dLQTtFQUNJO0lBQ0k7RS9CaWhLTjtBQUNGO0ErQjlnS0E7RUFFSTtJQUNJO0UvQitnS047RStCN2dLTTtJQUNJO0UvQitnS1Y7RStCM2dLRTtJQUNJO0UvQjZnS047RStCM2dLTTtJQUNJO0UvQjZnS1Y7RStCM2dLVTtJQUNJO0UvQjZnS2Q7QUFDRjtBRG5qS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3FqS0o7O0FnQzFqS0E7RUFDSTtJQUNJO0VoQzZqS047RWdDeGpLVTtJQUNJO0lBQ0E7RWhDMGpLZDtFZ0NyaktFO0lBQ0k7RWhDdWpLTjtFZ0NwaktFO0lBQ0k7RWhDc2pLTjtFZ0NuaktFO0lBQ0k7RWhDcWpLTjtFZ0NuaktNO0lBQ0k7RWhDcWpLVjtFZ0NuaktVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoQ3FqS2Q7RWdDL2lLTTtJQUNJO0lBQ0E7RWhDaWpLVjtFZ0M3aUtFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEMraUtOO0VnQzdpS007SUFDSTtFaEMraUtWO0VnQzVpS007SUFDSTtFaEM4aUtWO0VnQzFpS0U7SUFLSTtFaEN3aUtOO0FBQ0Y7QWdDN2lLUTtFQURKO0lBRVE7RWhDZ2pLVjtBQUNGO0FnQ2puS0E7RUFzRUk7SUFDSTtFaEM4aUtOO0VnQzNpS0U7SUFDSTtFaEM2aUtOO0VnQzNpS007SUFDSTtFaEM2aUtWO0VnQzFpS007SUFDSTtFaEM0aUtWO0VnQ3ppS007SUFDSTtFaEMyaUtWO0VnQ3hpS2M7SUFDSTtJQUNBO0lBQ0E7RWhDMGlLbEI7RWdDdmlLYztJQUNJO0lBQ0E7RWhDeWlLbEI7RWdDcGlLTTs7SUFFSTtFaENzaUtWO0VnQ25pS007SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDcWlLVjtFZ0NuaUtVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaENxaUtkO0VnQ2xpS1U7SUFDSTtFaENvaUtkO0VnQ2ppS1U7SUFDSTtFaENtaUtkO0VnQ2hpS1U7SUFDSTtJQUNBO0lBQ0E7RWhDa2lLZDtFZ0NoaUtjO0lBQ0k7RWhDa2lLbEI7RWdDN2hLTTtJQUNJLGNqQzVITDtFQzJwS0w7RWdDNWhLTTtJQUNJO0lBQ0E7RWhDOGhLVjtFZ0M1aEtVOzs7SUFHSTtFaEM4aEtkO0VnQzNoS1U7SUFDSTtFaEM2aEtkO0VnQ3poS007SUFDSTtJQUNBO0lBQ0E7SUFDQTtFaEMyaEtWO0VnQ3poS1U7SUFDSTtFaEMyaEtkO0VnQ3RoS007SUFDSTtFaEN3aEtWO0VnQ3RoS1U7O0lBRUk7RWhDd2hLZDtFZ0NwaEtjO0lBQ0k7SUFDQTtJQUNBO0lBQ0EsZ0JqQ2hMWjtJaUNpTFk7SUFDQTtFaENzaEtsQjtFZ0NwaEtrQjs7SUFFSTtFaENzaEt0QjtFZ0NuaEtrQjtJQUNJO0VoQ3FoS3RCO0VnQ25oS3NCO0lBQ0k7RWhDcWhLMUI7RWdDamhLa0I7SUFDSTtJQUNBO0VoQ21oS3RCO0VnQzlnS2tCO0lBQ0k7RWhDZ2hLdEI7RWdDOWdLc0I7SUFDSTtJQUNBO0lBQ0E7RWhDZ2hLMUI7RWdDOWdLMEI7O0lBRUk7RWhDZ2hLOUI7RWdDN2dLMEI7O0lBRUk7RWhDK2dLOUI7RWdDNWdLMEI7SUFDSTtJQUNBO0lBQ0E7RWhDOGdLOUI7RWdDdGdLTTs7SUFFSTtFaEN3Z0tWO0VnQ3RnS1U7O0lBQ0k7SUFDQTtFaEN5Z0tkO0VnQ3ZnS2M7O0lBQ0k7RWhDMGdLbEI7RWdDdGdLVTs7SUFDSTtJQUNBO0VoQ3lnS2Q7RWdDdGdLVTs7SUFDSTtFaEN5Z0tkO0VnQ3RnS2tCOztJQUNJO0lBQ0E7RWhDeWdLdEI7RWdDcmdLYzs7SUFDSTtJQUNBO0lBQ0E7RWhDd2dLbEI7RWdDcmdLc0I7O0lBQ0k7RWhDd2dLMUI7RWdDamdLTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDbWdLVjtFZ0NqZ0tVO0lBQ0k7RWhDbWdLZDtFZ0NoZ0tVO0lBQ0k7RWhDa2dLZDtFZ0M5L0pNO0lBQ0k7SUFDQTtFaENnZ0tWO0VnQzkvSlU7SUFDSTtJQUNBO0VoQ2dnS2Q7RWdDMy9KRTtJQUNJO0lBQ0E7SUFDQTtFaEM2L0pOO0VnQzEvSkU7SUFDSTtFaEM0L0pOO0VnQzEvSk07SUFDSTtFaEM0L0pWO0VnQzEvSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDNC9KZDtFZ0N6L0pVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDMi9KZDtFZ0N6L0pjO0lBQ0ksc0JqQ3hWWjtJaUN5Vlk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoQzIvSmxCO0VnQ3ovSmtCO0lBQ0k7RWhDMi9KdEI7RWdDeC9Ka0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDMC9KdEI7RWdDei9Kc0I7SUFDSSxXakMvV3BCO0VDMDJLTjtFZ0NyL0prQjtJQUNJO0VoQ3UvSnRCO0VnQ3AvSmtCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoQ3MvSnRCO0VnQ2wvSmM7SUFDSTtFaENvL0psQjtFZ0M5K0pFO0lBQ0k7RWhDZy9KTjtFZ0M5K0pNO0lBQ0k7RWhDZy9KVjtFZ0M5K0pVO0lBQ0k7RWhDZy9KZDtFZ0M1K0pNO0lBQ0k7RWhDOCtKVjtFZ0MzK0pNO0lBQ0k7SUFDQTtFaEM2K0pWO0VnQ3orSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQSxnQmpDdGFSO0lpQ3VhUTtJQUNBO0lBQ0E7SUFDQTtFaEMyK0pkO0VnQ3grSlU7SUFDSTtFaEMwK0pkO0VnQ3QrSk07SUFDSTtFaEN3K0pWO0VnQ3QrSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoQ3crSmQ7RWdDdCtKYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhDdytKbEI7RWdDdCtKa0I7SUFDSTtFaEN3K0p0QjtFZ0NyK0prQjtJQUNJO0lBQ0E7RWhDdStKdEI7RWdDcitKc0I7SUFDSTtFaEN1K0oxQjtFZ0NuK0prQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaENxK0p0QjtFZ0NsK0prQjtJQUNJO0VoQ28rSnRCO0VnQ2orSmtCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaENtK0p0QjtFZ0NqK0pzQjtJQUNJO0VoQ20rSjFCO0VnQ2orSjBCO0lBQ0k7SUFDQTtJQUNBO0VoQ20rSjlCO0VnQzM5Sk07O0lBRUk7RWhDNjlKVjtFZ0MxOUpNO0lBQ0k7SUFDQTtFaEM0OUpWO0VnQzE5SlU7SUFDSTtFaEM0OUpkO0VnQ3Y5SkU7SUFDSTtFaEN5OUpOO0VnQ3I5Sk07SUFDSTtFaEN1OUpWO0VnQ3A5Sk07SUFDSTtFaENzOUpWO0VnQ3A5SlU7SUFDSTtJQUNBO0VoQ3M5SmQ7RWdDajlKMEI7SUFDSTtFaENtOUo5QjtFZ0M1OEpVO0lBQ0k7RWhDODhKZDtFZ0N4OEpNO0lBQ0k7SUFDQTtFaEMwOEpWO0VnQ3Y4Sk07SUFDSTtFaEN5OEpWO0VnQ3I4SkU7SUFDSTtFaEN1OEpOO0FBQ0Y7QUQ5Z0xBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNnaExKOztBaUNyaExBO0VBSVk7SUFDSTtJQUNBO0VqQ3FoTGQ7RWlDbmhMYztJQUVJO0lBQ0E7RWpDb2hMbEI7RWlDN2dMYztJQUNJO0lBQ0E7RWpDK2dMbEI7RWlDNWdMYztJQUNJO0lBQ0E7RWpDOGdMbEI7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2VydmljZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcmV2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9vcmRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYWRtaW4vdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9mb250LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hZG1pbi9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FkbWluL29mZmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9pbXBlcnNvbmF0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3N0YXR1cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYWRtaW4vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hZG1pbi90YWJsZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYWRtaW4vc2V0dGluZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FkbWluL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FkbWluL3Jlc3BvbnNpdmUvbW9iaWxlX2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FkbWluL3Jlc3BvbnNpdmUvdGFibGV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hZG1pbi9yZXNwb25zaXZlL2xhcHRvcF9tLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hZG1pbi9yZXNwb25zaXZlL2xhcHRvcF9sLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9yZXN0YXVyYW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hY2NvdW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9lcnJvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcHJvZmlsZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX19zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2xvY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL2ZpbHRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbWVudV9zZWxlY3Rvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcmVzcG9uc2l2ZS9sYXB0b3BfbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcmVzcG9uc2l2ZS9sYXB0b3BfbS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcmVzcG9uc2l2ZS90YWJsZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Jlc3BvbnNpdmUvbW9iaWxlX20uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Jlc3BvbnNpdmUvbW9iaWxlX2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Jlc3BvbnNpdmUvbW9iaWxlX3Muc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gICAgLS1tYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAtLWNvbG9yLS1wcmltYXJ5LTMwOiAjZmM5MDAzO1xuICAgIC0tY29sb3ItLXByaW1hcnktNDA6ICNlMjkwMjQ7XG4gICAgLS1jb2xvci0tcHJpbWFyeS01MDogI0Y4OTkxQztcbiAgICAtLWNvbG9yLS1ncmF5LTQ1OiAjMzczNDM0O1xuICAgIC0tZ3JpZC1jb2wtY291bnQ6IDE0OyBcbiAgICAtLWdyaWQtZ2FwOiAxMHB4OyBcbn1cblxuJGxpbmVhcl9ncmFkaWVudF9zdGFydDogI0ZBQTkyNDtcbiRsaW5lYXJfZ3JhZGllbnRfZW5kOiAjRUUyQTU0O1xuJGFwcF95ZWxsb3c6ICNGQkE5MjU7XG4kYXBwX29yYW5nZTogI0YxNDU0QztcbiRzaGFkZG93OiAwcHggOHB4IDI4cHggcmdiYSgwLCAwLCAwLCA3JSk7XG4kYmxhY2s6ICMwMDA7XG4kYmxhY2tfcGFsZTogIzM3MzQzNDtcbiRibGFja19wYWxlMjogIzQyNDI0MjtcbiR3aGl0ZTogI2ZmZjtcbiR3aGl0ZV9vZmY6ICNmNWYzZjM7XG4kd2hpdGVfb2ZmMjogI0ZGRkRGRDtcbiR3aGl0ZV9vcmFuZ2U6ICNmZmY5ZjE7XG4kd2hpdGVfZ3JheTogI2Y5ZjlmOTtcbiRvcmFuZ2U6ICNlNDhlMWQ7XG4kb3JhbmdlX3BhbGU6ICNmZGU1YzU7XG4kb3JhbmdlX3BhbGUyOiAjZjdiOTY5O1xuJHJlZDogcmdiKDgsIDQsIDQpO1xuJGdyYXk6ICM5NzhGOEY7XG4kZ3JheV9wYWxlOiAjZTllNmU2O1xuJGdyYXlfcGFsZTI6ICNjZWNjY2M7XG4kZ3JheV9wYWxlMzogI2ZmZjZmNjtcbiRib3JkZXJfcmFkaXVzX2ltZzogMjBweDtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJ3NlcnZpY2Uuc2Nzcyc7XG5AaW1wb3J0ICdyZXZpZXcuc2Nzcyc7XG5AaW1wb3J0ICdvcmRlci5zY3NzJztcbkBpbXBvcnQgJ2FkbWluLnNjc3MnO1xuQGltcG9ydCAncmVzdGF1cmFudC5zY3NzJztcbkBpbXBvcnQgJ2ltcGVyc29uYXRvci5zY3NzJztcbkBpbXBvcnQgJ2FjY291bnQuc2Nzcyc7XG5AaW1wb3J0ICdlcnJvci5zY3NzJztcbkBpbXBvcnQgJ3Byb2ZpbGUuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zvb3Rlci5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyLnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sb2NhdGlvbi5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmlsdGVyLnNjc3MnO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9jc3MvYWxsLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9tYWduaWZpYy1wb3B1cC9kaXN0L21hZ25pZmljLXBvcHVwLmNzc1wiO1xuQGltcG9ydCAnZm9udC5zY3NzJztcbkBpbXBvcnQgJ3N0YXR1cy5zY3NzJztcbkBpbXBvcnQgJ21lbnVfc2VsZWN0b3Iuc2Nzcyc7XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5X3BhbGUzO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIGxpZ2h0IGJ0Jztcbn1cblxuLmdyaWQtZnVsbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbn1cblxuLnNxdWFyZS1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRncmF5O1xufVxuXG4uc3F1YXJlLWJveDpiZWZvcmV7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cblxuI3NlYXJjaENvbnRhaW5lciB7XG4gICAgJiA+IC5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNzZWFyY2hUcmlnZ2VyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ3JpZC1jb2x1bW46IDQgLyAxMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDY2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcblxuICAgICAgICAgICAgJi53aXRoLWtleXdvcmQgIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDY2cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE4cHg7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjE0KSxyZ2JhKDAsMCwwLC4wMykgM3B4LHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjE0KSxyZ2JhKDAsMCwwLC4wMykgM3B4LHRyYW5zcGFyZW50KTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHpvb206IDE7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsJGdyYXlfcGFsZTMscmdiYSgyNTUsMjU1LDI1NSwwKSwkZ3JheV9wYWxlMyk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwkZ3JheV9wYWxlMyxyZ2JhKDI1NSwyNTUsMjU1LDApLCRncmF5X3BhbGUzKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG59XG5cbm1haW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAjbWFpbkNvbnRlbnQge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDEzO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgICAjbm9SZXN1bHQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgICNmaWx0ZXJzIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcblxuICAgICAgICAgICAgLnJlc2V0LWZpbHRlciB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Jlc2V0LnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDEyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2Zvb3RlciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMTI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmgxIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbn1cblxuLmZvcm0tZXJyb3JzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbiN0aXRsZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgaGVpZ2h0OiA0M3B4O1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBncmlkLWNvbHVtbjogMy8xMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ubWVzc2FnZSB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDIvMTU7XG5cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjQjhFMEI4LCAjZDllN2Q5KTtcbiAgICB9XG5cbiAgICAmLmluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZDZkN2ZkLCAjZTZlN2ZhKTtcbiAgICB9XG5cbiAgICAmLndhcm5pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZmRlNmMyLCAjZmRmMmUxKTtcbiAgICB9XG59XG5cbi5ncm91cCB7XG4gICAgYmFja2dyb3VuZDogJGdyYXlfcGFsZTtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxufVxuXG5hLmJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiAkYmxhY2tfMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuI3VzZWZ1bGxMaW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IGdyYXk7XG4gICAgfVxufVxuXG4jZ29sZGVucmVzYUxvYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgei1pbmRleDogMjAwO1xuICAgIHRvcDogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbmltYXRpb246IDFzIGRpc3BsYXlMb2FkZXIgZWFzZTtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2xvYWRlci1nb2xkZW5yZXNhLnBuZyk7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIHdpZHRoOiAxNDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYW5pbWF0aW9uOiA2cyBhbmltYXRlTG9hZGVyIGVhc2UgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBkaXNwbGF5TG9hZGVyIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGFuaW1hdGVMb2FkZXIge1xuICAgICAgICAxNiUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NnB4O1xuICAgICAgICB9XG4gICAgICAgIDMyJSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjkycHg7XG4gICAgICAgIH1cbiAgICAgICAgNDglIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MzhweDtcbiAgICAgICAgfVxuICAgICAgICA2NCUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU4NHB4O1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODc2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjZ3ZDb250ZW50IHtcbiAgICB3aWR0aDogNTB2dztcbiAgICBoZWlnaHQ6IDgwdmg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgLyogRmlyZWZveCAqL1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICN0ZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbiNjZ3ZDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAjY2d2Q29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4udG9nZ2xlLXBhc3N3b3JkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW46IDIwcHggMDtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuQGltcG9ydCAncmVzcG9uc2l2ZS5zY3NzJzsiLCJAaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XG5cbiNyZXN0YXVyYW50U2VydmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICB0YWJsZSBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2FsZXJ0UmVzdGF1cmFudFNlcnZpY2Uge1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGxpbmVhcl9ncmFkaWVudF9zdGFydCwgJGxpbmVhcl9ncmFkaWVudF9lbmQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAjcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvLUJvbGQnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3RpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90by1Db25kZW5zZWQnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjaW5zdHJ1Y3Rpb25zIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNjaXJjbGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAsIDE5LCAxOSwgMC4xNjQpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODB2aDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogM3Mgem9vbUluT3V0IGVhc2UgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBrZXlmcmFtZXMgem9vbUluT3V0IHtcbiAgICAgICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODB2aDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwdmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDUwJSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwdmg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwdmg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHZoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNzaWRlQmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC00NWRlZywgJGxpbmVhcl9ncmFkaWVudF9zdGFydCwgJGxpbmVhcl9ncmFkaWVudF9lbmQpO1xuICAgICAgICB3aWR0aDogNzZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmLmhvbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9hc3NldHMvaW1hZ2VzL2J1cmdlci5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYmFja29mZmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2Fzc2V0cy9pbWFnZXMvYmFja29mZmljZS5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNzZweDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrX3BhbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2tfcGFsZTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJi5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3ctZ2FwOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgXG4gICAgfVxufVxuXG4jb3JkZXJTaGVldCB7XG5cbiAgICAmLmZvci1jdXN0b21lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlc21va2U7XG5cbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc3RhdXJhbnQtcGhvdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogNTB2aDtcbiAgICB9XG5cbiAgICAuYmxvY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiA1MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cblxuICAgICNib29raW5nSGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAjZ3Vlc3ROYW1lR3Vlc3ROdW1iZXJCb29raW5nTnVtYmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICByb3ctZ2FwOiAxMHB4O1xuXG4gICAgICAgICAgICAjZ3Vlc3ROYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNndWVzdE51bWJlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjYm9va2luZ051bWJlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjYm9va2luZ0RhdGVUaW1lUGFzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgcm93LWdhcDogMTBweDtcblxuICAgICAgICAgICAgI2Jvb2tpbmdEYXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3RpbWVQYXN0IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYm9va2luZ0NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICAgIC5ndWVzdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAuZmVlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgIC5mZWVkLXF1YW50aXR5LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5mZWVkLXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmZlZWQtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mZWVkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlX3BhbGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwcHggMTVweCA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3RvdGFsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2Jvb2tpbmdBY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgJi5jYW5jZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5X3BhbGUyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XG5cbiNyZXZpZXcge1xuICAgIGdyaWQtY29sdW1uOiAzIC8gMTI7XG5cbiAgICAucXVlc3Rpb25zIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAxNTtcblxuICAgICAgICAucXVlc3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgI2V4cGVyaWVuY2VJbnB1dHMge1xuICAgICAgICAgICAgICAgIC5pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICZbZm9yPVwiZXhwZXJpZW5jZS0xXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc21pbGV5MS5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJltmb3I9XCJleHBlcmllbmNlLTJcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zbWlsZXkyLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmW2Zvcj1cImV4cGVyaWVuY2UtM1wiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NtaWxleTMucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICZbZm9yPVwiZXhwZXJpZW5jZS00XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc21pbGV5NC5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJltmb3I9XCJleHBlcmllbmNlLTVcIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zbWlsZXk1LnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAa2V5ZnJhbWVzIGRpc3BsYXlRdWVzdGlvbiB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogZGlzcGxheVF1ZXN0aW9uIDAuNXMgZWFzZS1pblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2Z1dHVyYSBsaWdodCBidCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dHMge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIGF1dG8pOztcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDE1O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcblxuI2NhcmRNZXNzYWdlcyB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAxMjtcbn1cblxuI29yZGVyQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMiAvIDEyO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAxMjtcbiAgICB9XG5cbiAgICAjb3JkZXJEZXRhaWxzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAxNTtcblxuICAgICAgICAjcGF5QnV0dG9uQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdC1mb29kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgI29yZGVyTGF0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlX2dyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAjZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICNkZXNjcmlwdGlvbixcbiAgICAgICAgI2RldGFpbHMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGVyc29ucyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIC5wZXJzb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnBlcnNvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjb3JkZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgICYuY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjY2FyZEluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTQ7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5hY3Rpb24sXG4gICAgICAgICAgICAgICAgI2NhcmRFbGVtZW50LFxuICAgICAgICAgICAgICAgIC5wYXltZW50LWluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAxNTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgI3BheW1lbnREZXRhaWxzIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA5IC8gMTM7XG5cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNwYXltZW50IHtcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAxNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCI6cm9vdCB7XG4gICAgLS1ncmlkLWNvbC1jb3VudDogMTg7IFxuICAgIC0tZ3JpZC1nYXA6IDEwcHg7IFxufVxuXG4kYm9keV9jb2xvcjogI2ZhZmFmYTtcbiRsaW5lYXJfZ3JhZGllbnRfc3RhcnQ6ICNGQUE5MjQ7XG4kbGluZWFyX2dyYWRpZW50X2VuZDogI0VFMkE1NDtcbiRsaW5rX2NvbG9yOiAjZjQ2YTNjO1xuJGJsYWNrXzA6ICMyODI3Mjc7XG4kYmxhY2s6ICMzZjNkM2Q7XG4kYmxhY2tfMTogIzVlNWM1YztcbiRncmF5OiAjZTllOWU5O1xuJGdyYXlfMjogIzg2ODY4NjtcbiRncmF5XzM6ICNhZmFjYWM7XG4kd2hpdGU6IHdoaXRlO1xuJG9yYW5nZTogI2Y0NmEzYztcbiRhcHBfb3JhbmdlOiAjRjg5OTFDO1xuJGFwcF9vcmFuZ2UxOiAjZjg4ZjA2O1xuJGFkbWluX2JhY2tncm91bmQ6ICNlZGVkZWQ7IiwiLyogUm9ib3RvICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvLVRoaW5JdGFsaWMnO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLVRoaW5JdGFsaWMudHRmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvLU1lZGl1bSc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3JvYm90by9Sb2JvdG8tTWVkaXVtLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1Cb2xkQ29uZGVuc2VkSXRhbGljJztcbiAgICBzcmM6IHVybCgnZm9udHMvcm9ib3RvL1JvYm90by1Cb2xkQ29uZGVuc2VkSXRhbGljLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1Db25kZW5zZWQnO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLUNvbmRlbnNlZC50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tQmxhY2tJdGFsaWMnO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLUJsYWNrSXRhbGljLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1Db25kZW5zZWRJdGFsaWMnO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLUNvbmRlbnNlZEl0YWxpYy50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tVGhpbic7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3JvYm90by9Sb2JvdG8tVGhpbi50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tQm9sZEl0YWxpYyc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3JvYm90by9Sb2JvdG8tQm9sZEl0YWxpYy50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tQmxhY2snO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLUJsYWNrLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1Cb2xkQ29uZGVuc2VkJztcbiAgICBzcmM6IHVybCgnZm9udHMvcm9ib3RvL1JvYm90by1Cb2xkQ29uZGVuc2VkLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1Cb2xkJztcbiAgICBzcmM6IHVybCgnZm9udHMvcm9ib3RvL1JvYm90by1Cb2xkLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1SZWd1bGFyJztcbiAgICBzcmM6IHVybCgnZm9udHMvcm9ib3RvL1JvYm90by1SZWd1bGFyLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1JdGFsaWMnO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLUl0YWxpYy50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tTGlnaHRJdGFsaWMnO1xuICAgIHNyYzogdXJsKCdmb250cy9yb2JvdG8vUm9ib3RvLUxpZ2h0SXRhbGljLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1MaWdodCc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3JvYm90by9Sb2JvdG8tTGlnaHQudHRmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvLU1lZGl1bUl0YWxpYyc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL3JvYm90by9Sb2JvdG8tTWVkaXVtSXRhbGljLnR0ZicpO1xufVxuXG4vKiBGdXR1cmEgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL2Z1dHVyYS9mdXR1cmEgbWVkaXVtIGJ0LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBYQmxrIEJUJztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL0Z1dHVyYSBYQmxrIEJULnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBCb29rIGZvbnQnO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvRnV0dXJhIEJvb2sgZm9udC50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbGlnaHQgYnQnO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvZnV0dXJhIGxpZ2h0IGJ0LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBCb2xkIEl0YWxpYyBmb250JztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL0Z1dHVyYSBCb2xkIEl0YWxpYyBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBCb2xkIGZvbnQnO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvRnV0dXJhIEJvbGQgZm9udC50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgSGVhdnkgSXRhbGljIGZvbnQnO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvRnV0dXJhIEhlYXZ5IEl0YWxpYyBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBMaWdodCBmb250JztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL0Z1dHVyYSBMaWdodCBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBIZWF2eSBmb250JztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL0Z1dHVyYSBIZWF2eSBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBFeHRyYSBCbGFjayBmb250JztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL0Z1dHVyYSBFeHRyYSBCbGFjayBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBCb29rIEl0YWxpYyBmb250JztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL0Z1dHVyYSBCb29rIEl0YWxpYyBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3VuaWNvZGUuZnV0dXJhYmInO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvdW5pY29kZS5mdXR1cmFiYi50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgTGlnaHQgSXRhbGljIGZvbnQnO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvRnV0dXJhIExpZ2h0IEl0YWxpYyBmb250LnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBNZWRpdW0gSXRhbGljIGZvbnQnO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvRnV0dXJhIE1lZGl1bSBJdGFsaWMgZm9udC50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbWVkaXVtIGNvbmRlbnNlZCBidCc7XG4gICAgc3JjOiB1cmwoJ2ZvbnRzL2Z1dHVyYS9mdXR1cmEgbWVkaXVtIGNvbmRlbnNlZCBidC50dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICd1bmljb2RlLmZ1dHVyYWInO1xuICAgIHNyYzogdXJsKCdmb250cy9mdXR1cmEvdW5pY29kZS5mdXR1cmFiLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2Z1dHVyJztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL2Z1dHVyLnR0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3R0MDIwNW1fJztcbiAgICBzcmM6IHVybCgnZm9udHMvZnV0dXJhL3R0MDIwNW1fLnR0ZicpO1xufVxuIiwiLmFkbWluIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgI2xvZ28ge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNmaWx0ZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlci1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRlOiAxODBkZWc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAuMnMgZWFzZS1pbiByb3RhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmlsdGVyLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDM4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5maWxsZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2Nsb2NoZS5wbmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvYXJyb3cucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0ZTogMGRlZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGU6IDE4MGRlZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICNsb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5lbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI2xvZ2luTGluayB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ1JvYm90by1Cb2xkJztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxNyAvIDE5O1xuXG4gICAgICAgICAgICAjcmVzdGF1cmFudFN3aXRjaGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgI25hdmlnYXRpb24ge1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIC51c2VyLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDI0cHggJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC51c2VybmFtZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgLnVzZXItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tQ29uZGVuc2VkJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ2luIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgLnVzZXJuYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvYXJyb3ctYmxhY2sucG5nXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcblxuI29mZmVyQWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuZm9ybSNjYW5jZWwge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4udHJhbnNmZXItYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBmb3JtLmNhbmNlbC10cmFuc2ZlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNvZmZlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAub2ZmZXI6aGFzKD4gLmlucHV0IGlucHV0OmNoZWNrZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGxpbmVhcl9ncmFkaWVudF9zdGFydCwgJGxpbmVhcl9ncmFkaWVudF9lbmQpO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgIC5vZmZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogNTBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24sXG4gICAgICAgIC5pbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2Z1dHVyYSBtZWRpdW0gYnQnO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAgICAgLmZlYXR1cmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICB9XG5cbiAgICB9XG59IiwiI2ltcGVyc29uYXRvck1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNjMTY1NjU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59IiwiLnN0YXR1cyB7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbWVkaXVtIGJ0JztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmLmVuLWF0dGVudGUsXG4gICAgJi5hbm51bGVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgICB9XG5cbiAgICAmLnByaXMtZW4tY2hhcmdlLFxuICAgICYub2ssXG4gICAgJi5leGVjdXRlLFxuICAgICYuY29uZmlybWVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgfVxuXG4gICAgJi5jbGllbnQtYWJzZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgICYubm9uLWRlZmluaSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcbkBpbXBvcnQgJy4uL2ZvbnQuc2Nzcyc7XG5AaW1wb3J0ICdoZWFkZXIuc2Nzcyc7XG5AaW1wb3J0ICdvZmZlci5zY3NzJztcbkBpbXBvcnQgJy4uL2ltcGVyc29uYXRvci5zY3NzJztcbkBpbXBvcnQgJy4uL3N0YXR1cy5zY3NzJztcblxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG5hLm5vLWxpbmsge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjQjhFMEI4LCAjZDllN2Q5KTtcbiAgICB9XG5cbiAgICAmLmluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZDZkN2ZkLCAjZTZlN2ZhKTtcbiAgICB9XG5cbiAgICAmLndhcm5pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjZmRlNmMyLCAjZmRmMmUxKTtcbiAgICB9XG59XG4gICAgXG5ib2R5LmFkbWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keV9jb2xvcjtcbiAgICBmb250LWZhbWlseTogJ1JvYm90by1Db25kZW5zZWQnO1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAjbmF2aWdhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgI3RhYmxlICB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgICBncmlkLWF1dG8tcm93czogbWlubWF4KDEwcHgsIGF1dG8pO1xuXG4gICAgICAgIC50YWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xci1jb2RlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29va2luZ1N0eWxlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuXG4gICAgICAgIC5jb29raW5nLXN0eWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIGxpZ2h0IGJ0JztcblxuICAgICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGdyYXk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Jlc3RhdXJhbnROYW1lIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgIH1cblxuICAgICNzdWJzY3JpcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAuc3Vic2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIGxpZ2h0IGJ0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzIHtcbiAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Jlc3RhdXJhbnRMb2dzIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICAubG9nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tfMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNlbXBsb3llZXMge1xuICAgICAgICAuZW1wbG95ZWUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFja18wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51c2VyLWluZm9zIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDg7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAucGhvdG8ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvZW1wbG95ZWUucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm5hbWUtZW1haWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmVtYWlsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIGxpZ2h0IGJ0JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tfMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yb2xlIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogOCAvIDE1O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXlfMjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjc2V0dGluZ3NDb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heCgxMDBweCwgYXV0byk7XG4gICAgICAgIG1hcmdpbjogNDBweCAwO1xuXG4gICAgICAgIC5zZXR0aW5nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMzAsIDIzMCwgMjMwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrXzA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbWVkaXVtIGJ0JztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbGlnaHQgYnQnO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYmFua0FjY291bnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pYmFuIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIGxpZ2h0IGJ0JztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tfMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNyZXN0YXVyYW50TWFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgfVxuXG4gICAgLnNxdWFyZS1ib3gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5O1xuICAgIH1cblxuICAgIC5zcXVhcmUtYm94OmJlZm9yZXtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICAjZmVlZFBob3RvQ29udGFpbmVyLFxuICAgICAgICAjcmVzdGF1cmFudFBob3RvQ29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2tfMTtcbiAgICB9XG5cbiAgICAjZGF0YUNvbnRhaW5lciB7XG4gICAgICAgIC5ibG9jay1kZWxldGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jayB7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4ICRncmF5O1xuXG4gICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSNkYXRlRmlsdGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICNpbnB1dHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjc2VhcmNoS2V5d29yZENvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgICYuZmlsbGVkIHtcbiAgICAgICAgICAgICAgICAjY2FuY2VsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjY2FuY2VsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2Nsb3NlLnBuZyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEuYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrXzA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2tfMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNidXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIFxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zd2l0Y2gge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM1MzQ4M2E7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3VzZXIucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjc2V0dGluZ3Mge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9zZXR0aW5nc19hZG1pbi5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtYWluQ29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICAgI3NpZGVCYXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzI2MjYyNjtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgI3NldHRpbmdzLFxuICAgICAgICAgICAgI2xvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNzZXR0aW5ncyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjbG9nbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjbG9nb3V0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5MHB4O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsICRibGFja18xLCAjZmZmZmZmMDApO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtNTBweDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3NlY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICAvKiBJRSBhbmQgRWRnZSAqL1xuICAgICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8qIEZpcmVmb3ggKi9cblxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNzBweFxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjg5OTFjYTM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDExNCwgMTEyLCAxMTIsIDAuNDExKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDM0MTQxNjA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3ViLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFpbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE5MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFkbWluX2JhY2tncm91bmQ7XG5cbiAgICAgICAgICAgIC50aXRsZS1maWx0ZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3RpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9ibGFuay5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2RhdGFDb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNicmVhZGNydW1iIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tfMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAua2V5d29yZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgcGFkZGluZzogMXB4IDVweDtcbiAgICB9XG5cbiAgICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7O1xuXG4gICAgICAgIC50cmlnZ2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3NtYWxsX21lbnUucG5nKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDAgNnB4IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAkbGluZWFyX2dyYWRpZW50X3N0YXJ0LCAkbGluZWFyX2dyYWRpZW50X2VuZCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDI0cHggJGJsYWNrXzE7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDg4cHg7XG4gICAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMTBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuXG4gICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNvcmRlclNoZWV0IHtcbiAgICAgICAgI2Jvb2tpbmdEYXRlLFxuICAgICAgICAjYm9va2luZ051bWJlcixcbiAgICAgICAgI2d1ZXN0TnVtYmVye1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAjb3JkZXJOdW1iZXJDcmVhdGVkRGF0ZUhvbGRlck5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgXG4gICAgICAgICAgICAjb3JkZXJOdW1iZXJDcmVhdGVkRGF0ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3N0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLnN0YXR1cyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICNmb29kT3JkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cbiAgICAgICAgICAgIC5ndWVzdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZlZWQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheV8yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jdXNlcl9yb2xlcyB7XG4gICAgaGVpZ2h0OiA4MHB4O1xufVxuXG4jYmFuY2tpbmdJbmZvcm1hdGlvbnNCdXR0b25FZGl0Q29udGFpbmVyIHtcbiAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNjZweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDE4cHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8tTWVkaXVtXCI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbiNiYW5ja2luZ0luZm9ybWF0aW9ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXJvdy1nYXA6IDEwcHg7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAxMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTYsIDE1NiwgMTU2KTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9iYW5rLXN2Z3JlcG8tY29tLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5yb3V0aW5nLW51bWJlci1sYXN0NCB7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcblxuICAgICAgICAucm91dGluZy1udW1iZXIge31cblxuICAgICAgICAubGFzdDQge31cbiAgICB9XG59XG5cbiNjYW5jZWxBZGRpbmdCYW5ja2luZ0luZm9ybWF0aW9uIHtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBtYXJnaW46IDAgMjBweDtcbn1cblxuI2NvbnRlbnREYXRhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIHBhZGRpbmc6IDQwcHggMzBweDtcbn1cblxuI3VzZXJGaWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgICAucGhvdG8ge1xuICAgICAgICBoZWlnaHQ6IDE2N3B4O1xuICAgICAgICB3aWR0aDogMTY3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxQzI3NEM7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBmb250LXNpemU6IDgzcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAuaW5mb3JtYXRpb25zIHtcbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNhZG1pbkFwcE5hbWUge1xuICAgIGdyaWQtY29sdW1uOiAxMCAvIDEyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzI2MjYyNjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBCb2xkIGZvbnQnO1xuXG4gICAgZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMjBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbGluZS1jb2x1bW5zLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAndmFyaWFibGVzLnNjc3MnO1xuXG4jZGF0YUNvbnRhaW5lciB7XG4gICAgdGFibGUge1xuICAgICAgICBtYXJnaW46IDBweCAyMHB4IDIwcHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAxMHB4O1xuICAgIH1cblxuICAgIC5kYXRhVGFibGVzX2xlbmd0aCxcbiAgICAuZGF0YVRhYmxlc19maWx0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxudGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICAgIHRkLCB0YWJsZS5ibHVlVGFibGUgdGgge1xuICAgICAgICBwYWRkaW5nOiAzcHggMnB4O1xuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYudGl0bGUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHhcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNEMEU0RjU7XG4gICAgfVxuXG4gICAgdGhlYWQgdGgge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICBcbiAgICB0Zm9vdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNDQ0NDQ0O1xuICAgIH1cblxuICAgIHRmb290IHRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIHRmb290IC5saW5rcyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIHRmb290IC5saW5rcyBhe1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9ibGFuay5wbmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XG5cbiNsb2dGaWxlIHtcbiAgICAjbG9nU2VsZWN0b3JDb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuXG4gICAgICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNsb2dDb250ZW50TGFzdFRpbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICNsb2dDb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogMzB2aDtcbiAgICAgICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxufVxuXG4jc2V0dGluZ0xpbmtzIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgLmxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfMztcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYmFua0luZm9ybWF0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgI2JhbmtBY2NvdW50IHtcbiAgICAgICAgI2JhbmtOYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tfMDtcbiAgICAgICAgfVxuXG4gICAgICAgICNsYXN0NCB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiZm9ybSB7XG5cbiAgICAmI3BheW1lbnQtZm9ybSB7XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdGFibGVfYm9va19ib29rX2RhdGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI25hbWVTdGF0dXNlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAjbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICNzdGF0dXNlcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IFxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG5cbiAgICAgICAgICAgIC5zdGF0dXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgICAgICYuZ3JlZW4ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnJlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVscC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgLmFkZHJlc3Mge1xuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjc2lkZUJhckZvcm0sXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgICNyZXN0YXVyYW50X21hbmFnZXJfcHJvZmlsZV90eXBlX2FkbWluX2RvYixcbiAgICAjcmVzdGF1cmFudF9tYW5hZ2VyX3Byb2ZpbGVfZG9iIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltuYW1lPVwidXNlcl9wYXNzd29yZFwiXSxcbiAgICAmW25hbWU9XCJ1c2VyX3Byb2ZpbGVcIl0sXG4gICAgJltuYW1lPVwicmVzdGF1cmFudF9tYW5hZ2VyX3Byb2ZpbGVcIl0sXG4gICAgJltuYW1lPVwicmVzdGF1cmFudF9tYW5hZ2VyX3Byb2ZpbGVfdHlwZV9hZG1pblwiXSxcbiAgICAmI2xvZ2luIHtcbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrYm94ZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDE0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIC8qYm94LXNoYWRvdzogMHB4IDBweCAyNHB4ICNlOWU5ZTk7Ki9cblxuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgJiA+IGRpdiA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3NpZGVCYXJGb3JtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE0IC8gMTk7XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSxcbiAgICBidXR0b24sXG4gICAgaW5wdXRbdHlwZT0nZGF0ZSddLFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgIGlucHV0W3R5cGU9J251bWJlciddLFxuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXlfMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICBidXR0b25bZGlzYWJsZWQ9ZGlzYWJsZWRdLFxuICAgIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIHRleHRhcmVhI2tleXdvcmRzIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgIH1cblxuICAgICYgPiAuY29udGVudCB7XG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2hhaW5TZWxlY3RvckNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4ucHVibGljLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5kZWxldGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbnRhYmxlIHtcbiAgICAjc2xvdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICAgICAgLnNsb3Qge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXBwX29yYW5nZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFkbWluIHtcbiAgICAjdGltZVNsb3Qge1xuICAgICAgICAuc2xvdHMtdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNsb3RzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLnNsb3Qge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXBwX29yYW5nZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuZm9ybSB7XG4gICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBhbmltYXRpb246IGVtcGhhc2lzIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGVtcGhhc2lzIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFwcF9vcmFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJy4uL3ZhcmlhYmxlcy5zY3NzJztcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjVweCkge1xuICAgICNkYXRhQ29udGFpbmVyIC5kYXRhVGFibGVzX2xlbmd0aCwgI2RhdGFDb250YWluZXIgLmRhdGFUYWJsZXNfZmlsdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAjZmlsdGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2Nvb2tpbmdTdHlsZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI25hbWVTdGF0dXNlcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgI2J1dHRvbnMge1xuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8qIEZpcmVmb3ggKi9cblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2RhdGFDb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRlbGV0ZSB7XG4gICAgICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgfVxuXG4gICAgICAgICNzaWRlQmFyRm9ybSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRtaW4ge1xuXG4gICAgICAgICNoZWFkZXIge1xuICAgICAgICAgICAgLnRpdGxlLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI25hdmlnYXRpb25Db250YWluZXIge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzE5O1xuXG4gICAgICAgICAgICAgICAgI25hdmlnYXRpb24ge1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3NpZGVCYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMjAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIFxuICAgICAgICAgICAgICAgICNsb2dvdXQsXG4gICAgICAgICAgICAgICAgI3NlY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgI2xvZ291dCB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG1haW4ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICBcbiAgICAgICAgICAgIC50aXRsZS1maWx0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICNuYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS82ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAudXNlci1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNtZW51Q29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTEvMjAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuXG4gICAgICAgICAgICAgICAgI21lbnUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2ltYWdlcy9idXJnZXIucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJy4uL3ZhcmlhYmxlcy5zY3NzJztcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkuYWRtaW4ge1xuICAgICAgICAjbmF2aWdhdGlvbkNvbnRhaW5lciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjbWFpbkNvbnRhaW5lciB7XG4gICAgICAgICAgICAjc2lkZUJhciB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYWluIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIwO1xuXG4gICAgICAgICAgICAgICAgLnRpdGxlLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTk7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuXG4gICAgICAgICAgICAgICAgICAgICNmaWx0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZUZpbHRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDA7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NlYXJjaEtleXdvcmRDb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbnB1dHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAudHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICcuLi92YXJpYWJsZXMuc2Nzcyc7XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgYm9keS5hZG1pbiB7XG4gICAgICAgICNtYWluQ29udGFpbmVyIHtcbiAgICAgICAgICAgIC5hY3Rpb24tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYWluIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtZmlsdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDRweCkge1xuICAgIGJvZHkuYWRtaW4ge1xuICAgICAgICAjbWFpbkNvbnRhaW5lciB7XG4gICAgICAgICAgICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICdzZXJ2aWNlLnNjc3MnO1xuXG4jc2VydmljZXNUaW1lcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIC50aXRsZS1zbG90IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgI3Nsb3RzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgICAgIC5zbG90IHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhcHBfb3JhbmdlO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXG4gICAgICAgICAgICAmLm5vdC1hdmFpbGFibGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi50aGFua3MtbWVzc2FnZSB7XG4gICAgZ3JpZC1jb2x1bW46IDIgLyAxMjtcblxuICAgIC5yZXN0YXVyYW50LXBob3RvIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgfVxufVxuXG4ucGVyc29uLWRldGFpbHMge1xuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbn1cblxuLnJlc3RhdXJhbnRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ3JpZC1yb3ctZ2FwOiAyMHB4O1xuICAgIGdyaWQtY29sdW1uLWdhcDogMjBweDtcblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgLnJlc3RhdXJhbnQge1xuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIC5waG90byB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5xdW90YXRpb24tY2l0eSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICAgICAgICAgLnF1b3RhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgLmNpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIxNjJhMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5xdW90YXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1hZ2VzL3N0YXIucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3BhZ2luYXRpb24ge1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGdyaWQtY29sdW1uOiA0LzE0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDQwcHggMDtcblxuICAgIGEge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5X3BhbGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXZpb3VzLFxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYucHJldmlvdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWJsYWNrLnBuZ1wiKTtcbiAgICAgICAgICAgIHJvdGF0ZTogOTBkZWc7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWJsYWNrLnBuZ1wiKTtcbiAgICAgICAgICAgIHJvdGF0ZTogLTkwZGVnO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wYWdlLmN1cnJlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2Z1dHVyYSBtZWRpdW0gYnQnO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LnR1bm5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICNvcmRlckNvbnRhaW5lciB7XG4gICAgICAgICNwYXltZW50RGV0YWlscyB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI29yZGVyQ29udGFpbmVyLFxuICAgIGZvcm0jYm9va2luZyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDEyO1xuICAgIFxuICAgICAgICAjYm9va2luZ0RldGFpbHMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA3O1xuXG4gICAgICAgICAgICAmID4gLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3BheW1lbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGVfZ3JheTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2Z1dHVyYSBtZWRpdW0gYnQnO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAjcGF5bWVudERldGFpbHMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDggLyAxMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAyMHB4IHNvbGlkIHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgLyogSUUgYW5kIEVkZ2UgKi9cbiAgICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7ICAvKiBGaXJlZm94ICovXG5cbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheV9wYWxlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5jaGFyZ2VzLWRldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kZXRhaWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDVweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN0b3RhbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWU2ZTY7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbWVkaXVtIGJ0JztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICNyZXN0YXVyYW50SW5mb3JtYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgIC5yZXN0YXVyYW50LXBob3RvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUtcXVvdGF0aW9uLWNpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXN0YXVyYW50LXR5cGUtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXN0YXVyYW50LXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbGlnaHQgYnQnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGRpdixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jaXR5LXF1b3RhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucXVvdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vYXNzZXRzL2ltYWdlcy9zdGFyLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2l0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3Bpbi5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuYmFubmVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTU7XG4gICAgICAgIGhlaWdodDogNDB2aDtcbiAgICAgICAgbWluLWhlaWdodDogMzE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgLnJlc3RhdXJhbnQtcGhvdG8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA3MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNjAlO1xuXG4gICAgICAgICAgICAmLndpdGgtZm9vZCB7Z3JpZC1jb2x1bW46IDEgLyAxMDt9XG4gICAgICAgICAgICAmLm5vLWZvb2Qge2dyaWQtY29sdW1uOiAxIC8gMTU7fVxuICAgICAgICB9ICAgXG5cbiAgICAgICAgLnJlc3RhdXJhbnQtZm9vZC1waG90b3Mge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEwLzE1O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1nYXApO1xuXG4gICAgICAgICAgICAucmVzdGF1cmFudC1mb29kLXBob3RvIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxMjtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgLmJhY2stdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Fycm93LWJsYWNrLTEucG5nKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2Z1dHVyYSBtZWRpdW0gYnQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlc3RhdXJhbnQtY29va2luZy1zdHlsZXMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS1xdW90YXRpb24tY2l0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucXVvdGF0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1hZ2VzL3N0YXIucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNpdHkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXN0YXVyYW50LW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2Zvb2RDb250YWluZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDg7XG5cbiAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMTI7XG4gICAgICAgIH1cblxuICAgICAgICAjbWFwQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcGluLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvLVJlZ3VsYXInO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNkZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICAgICAgICNyZXN0YXVyYW50TWFwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWVudVRhYnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZ1dHVyYSBtZWRpdW0gYnRcIjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTNweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhcHBfeWVsbG93O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNmb29kIHtcbiAgICAgICAgLmZvb2QtY29udGVudCB7XG4gICAgICAgICAgICAuZm9vZC1kaXZpc2lvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgICAgIC5mb29kLWRpdmlzaW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmEgbWVkaXVtIGJ0XCI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZvb2QtZGl2aXNpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAuZm9vZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZ1dHVyYSBsaWdodCBidFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjQ1IDIzNyAyMzcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9vZC10aXRsZS1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb29kLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb29kLWRvdHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mb29kLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9vZC1waG90byB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9vZC1zZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLWRldGFpbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNzaWRlQmFyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDkgLyAxMjtcbiAgICBcbiAgICAgICAgI2Jvb2tGb3JtQ29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgICN0cmlnZ2VyQ29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjRweCAjOWI4NDg0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNjb250YWN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmEgbWVkaXVtIGJ0XCI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2Jvb2tpbmdRdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkZG93O1xuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGF0ZS10aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICYudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmRhdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZnV0dXJhIG1lZGl1bSBidFwiO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIC5ndWVzdC1udW1iZXIge1xuICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XG5cbmJvZHkjYWNjb3VudCB7XG4gICAgI21haW5Db250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICNsb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHsgICAgICAgIFxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9wYWxlO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICZbbmFtZT1cInJlZ2lzdHJhdGlvbl9yZXN0YXVyYW50X2Zvcm1cIl0sXG4gICAgICAgICAgICAmW25hbWU9XCJyZWdpc3RyYXRpb25fZm9ybVwiXSB7XG4gICAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IFxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FuY2VsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9wYWxlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcblxuYm9keS5lcnJvciB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICBcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTB2aDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwdmg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNyaXRpY2Fse1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDhmO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMva2l0Y2hlbi5wbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICYubm90LWZvdW5kIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9kZXNlcnQucG5nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgI2Vycm9yUGFnZUNvbnRhaW5lciB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNSAvIDEyO1xuICAgIFxuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcblxuI3ZpcENvbnRhaW5lciB7XG4gICAgI3Zpc3VhbCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy92aXAucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICNhcmd1bWVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgI2Ftb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgI3JlYXNzdXJhbmNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbi5waG9uZS1mb3JtYXR0ZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLWdhcDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG5pbnB1dFtuYW1lPVwidXNlcl9wcm9maWxlW2VtYWlsXVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4O1xufVxuXG5ib2R5LnR1bm5lbCxcbmJvZHkucHJvZmlsZSB7XG4gICAgI2NhcmRJbmZvcm1hdGlvbnMge1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICNjYXJkSW5mb3JtYXRpb25zVHlwZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICAmLnZpc2Ege1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdmlzYS5wbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1hc3RlcmNhcmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvbWFzdGVyY2FyZC5wbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjYXJkSW5mb3JtYXRpb25zTnVtYmVyRXhwIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgI2NhcmRJbmZvcm1hdGlvbk51bWJlciB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbWVkaXVtIGJ0JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAjY2FyZEluZm9ybWF0aW9uRXhwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY2FyZEZvcm0ge1xuXG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAuY2FuY2VsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICNjYXJkRmllbGRzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFja18wO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2tfMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICNvdGhlcnNDb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWF1dG8tcm93czogbWlubWF4KDEwMHB4LCBhdXRvKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNwcm9maWxUYWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAudGFiIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrXzA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheV9wYWxlMztcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1haW4ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXlfcGFsZTtcblxuICAgICAgICAjbWFpbkNvbnRlbnQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyAxMjtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NhcmRBY3Rpb24ge1xuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2FjY291bnRBY3Rpb25zIHtcbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibGFja18wO1xuICAgICAgICAgICAgY29sb3I6ICRibGFja18wO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICcuLi92YXJpYWJsZXMuc2Nzcyc7XG5cbiNmb290ZXIge1xuICAgIC8qcG9zaXRpb246IGZpeGVkOyovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDIwMDtcblxuICAgICYuZ3JpZC1mdWxsIHtcbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDE0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmtzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGVfZ3JheTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxNDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAubGlua3Mge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAubGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgIC5tZW51LWFwcCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc29jaWFsLW5ldHdvcmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmtzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1heC13aWR0aDogMTAyMHB4O1xuICAgICAgICBtYXJnaW46IDQwcHggYXV0bztcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5ndWFnZXMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnLi4vYWRtaW4vdmFyaWFibGVzLnNjc3MnIGFzICo7XG5cbiNzZWFyY2gge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcblxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyNDAsIDI0MCwgMjQwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuXG4gICAgICAgIC5maWx0ZXItdHJpZ2dlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgLyogRGF6emxlIExpbmUgSWNvbnMgQ29sbGVjdGlvbiAqL1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2Fycm93LnBuZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuZmlsdGVyLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIC8qZGlzcGxheTogbm9uZTsqL1xuXG4gICAgICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5maWx0ZXItb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNjb29raW5nU3R5bGVGaWx0ZXJUcmlnZ2VyIHtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2ZsYWcuc3ZnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNib29raW5nVGltZVRyaWdnZXIge1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvY2xvY2suc3ZnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNsb2NhdGlvblRyaWdnZXIge1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbG9jYXRpb24tcGluLnN2Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAja2V5d29yZENvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2NnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tTWVkaXVtJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaW5lYXJfZ3JhZGllbnRfZW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxvYWRpbmcge1xuICAgICAgICAgICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5lYXJfZ3JhZGllbnRfZW5kO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ19zZWFyY2gnO1xuXG4jaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgjRkZFRkVGIDAlLCAjRjBGMEYwIDUwJSwgI0ZGRUZFRiAxMDAlKTtcblxuICAgIGgxIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBjb2xvcjogZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDEzO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgI2xvZ28ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvbG9nby1tb2JpbGUucG5nKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjc2VhcmNoIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0IC8gMTA7XG4gICAgICAgIH1cblxuICAgICAgICAjbmF2aWdhdGlvbkNvbnRhaW5lciB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTAgLyAxMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICAgICAgICAgICNyZWdpc3Rlckxpbmsge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNsb2dpbkxpbmssICNyZWdpc3Rlckxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IoNDMsIDQzLCA0Myk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNuYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTEvMTU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLnVzZXItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMjBweCAzMHB4ICRibGFja19wYWxlMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9wYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC51c2VybmFtZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgLnVzZXItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tQ29uZGVuc2VkJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheV9wYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAubG9naW4ge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAudXNlcm5hbWUge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9hcnJvdy1ibGFjay5wbmdcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJy4uL3ZhcmlhYmxlcy5zY3NzJztcblxuI2Fycm91bmRNZUluZm8ge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBjb2xvcjogJGFwcF9vcmFuZ2U7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8tQm9sZCc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9sb2NhdGlvbi5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICYuZGlzcGxheSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVBcnJvdU1lIGxpbmVhciAuNXMgMyBmb3J3YXJkcztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfcGFsZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZUFycm91TWUgbGluZWFyIC41cyAzIGZvcndhcmRzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQXJyb3VNZSBsaW5lYXIgMHMgMyBmb3J3YXJkcztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfcGFsZTI7XG4gICAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVBcnJvdU1lIGxpbmVhciAwcyAzIGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBhbmltYXRlQXJyb3VNZSB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNsb2NhdGlvbkJhciB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmRkY2RjO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMTI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgICN1c2VmdWxsTGlua3Mge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM1YTIyMjE7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdmdXR1cmEgbWVkaXVtIGJ0JztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNhcnJvdW5kTWUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI2YxNGE0ODtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnV0dXJhIG1lZGl1bSBidCc7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYigyNDgsIDM1LCAzNSk7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2xvY2F0aW9uLWNyb3NzaGFpcnMuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgICNzZWFyY2hMb2NhbGl0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiA1cHg7XG5cbiAgICAgICAgICAgIC5jaXR5LW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiI2ZpbHRlcnMge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICB9XG5cbiAgICAuZ3JvdXAtZmlsdGVyIHtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIC8qJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDVweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9hcnJvdy5wbmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB9Ki9cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIC5vcHRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmNTZhNmE7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9wYWxlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J106OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XG5cbiNtZW51U2VsZWN0b3Ige1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbiAgICAuY29udGVudC1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDIwcHggNTBweCAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDdweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMjgyNzI3O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8qIEZpcmVmb3ggKi9cblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2d1ZXN0c0xpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgIH1cblxuICAgICNmb29kU2VsZWN0b3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGVfZ3JheTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAuZm9vZCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgIGJvZHkudHVubmVsIGZvcm0jYm9va2luZyAjcGF5bWVudERldGFpbHMge1xuICAgICAgICBncmlkLWNvbHVtbjogOCAvIDE0O1xuICAgIH1cblxuICAgIGJvZHkucmVzdWx0cyB7XG4gICAgICAgIG1haW4gI21haW5Db250ZW50ICNyZXN1bHRDb250YWluZXIge1xuICAgICAgICAgICAgI2ZpbHRlcnMge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC5yZXN0YXVyYW50cyB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDE0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI2xvY2F0aW9uQmFyIGZvcm0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEwIC8xNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNoZWFkZXIge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAjbG9nbyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDEwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjbmF2aWdhdGlvbkNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEwIC8gMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MHB4KSB7XG4gICAgI3Jlc3RhdXJhbnRJbmZvcm1hdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5pbmZvcm1hdGlvbnN7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIGJvZHkudHVubmVsIHtcbiAgICAgICAgI2hlYWRlciB7XG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgI3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgICNmaWx0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzE1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI2Zvb2RDb250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA4O1xuICAgICAgICB9XG5cbiAgICAgICAgI3NpZGVCYXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDkgLyAxNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNoZWFkZXIge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAjbG9nbyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA1O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDEyO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuXG4gICAgICAgICAgICAgICAgI2ZpbHRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyLXRyaWdnZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiN3aGVyZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjbmF2aWdhdGlvbkNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDUgLyAxMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIGZvcm0ge1xuICAgICAgICAuZmlsdGVyLXRyaWdnZXIge1xuICAgICAgICAgICAgJiNjb29raW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIG1haW4gI21haW5Db250ZW50ICNjb250ZW50IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxMjtcbiAgICB9XG5cbiAgICA6cm9vdCB7XG4gICAgICAgIC0tZ3JpZC1nYXA6IDVweCAhaW1wb3J0YW50OyBcbiAgICB9XG5cbiAgICAjY2d2Q29udGVudCB7XG4gICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgIGJvZHkucmVzdWx0cyBtYWluICNtYWluQ29udGVudCAjcmVzdWx0Q29udGFpbmVyIC5yZXN0YXVyYW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxLzE1O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpXG4gICAgfVxuXG4gICAgI3BhZ2luYXRpb24ge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8xNTtcbiAgICB9XG5cbiAgICAjZm9vdGVyLmdyaWQtZnVsbCA+IGRpdiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyLzE0O1xuICAgIH1cbiAgICBcbiAgICAjdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsMCwwLDApLCAkZ3JheV9wYWxlMyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2FjY291bnRBY3Rpb25zIHtcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNwcm9maWxUYWJzIHtcbiAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICAvKiBJRSBhbmQgRWRnZSAqL1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7ICAvKiBGaXJlZm94ICovXG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWIge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8xNCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGJvZHkudHVubmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAjZm9vdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjZm9vZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuZm9vZC5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC5mb29kLXRpdGxlLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZm9vZC1zZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjZm9vZCxcbiAgICAgICAgI21lbnVUYWJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI21lbnVTZWxlY3RvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDMwMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDkwMDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2Zvb2RTZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgIFxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVzdGF1cmFudC1jb29raW5nLXN0eWxlcyB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUtcXVvdGF0aW9uLWNpdHkge1xuXG4gICAgICAgICAgICAuY2l0eSxcbiAgICAgICAgICAgIC5xdW90YXRpb24sXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1b3RhdGlvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjbWVudVRhYnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtI2Jvb2tpbmcge1xuICAgICAgICAgICAgI3BheW1lbnREZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAuY29udGVudHtcbiAgICAgICAgICAgICAgICAgICAgI3Jlc3RhdXJhbnRJbmZvcm1hdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVzdGF1cmFudC1waG90byB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmZvcm1hdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aXRsZS1xdW90YXRpb24tY2l0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jaXR5LXF1b3RhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2l0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICNvcmRlckNvbnRhaW5lciB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNvcmRlckRldGFpbHMge1xuICAgICAgICAgICAgICAgICNwYXltZW50RGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI2Rlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgICNkZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgICNwYXltZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAjb3JkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAjY2FyZEluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgI2d1ZXN0cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAjcGVyc29uc0NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBlcnNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RbbmFtZT1cInRpdGxlXCJdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RbbmFtZT1cImNhdGVnb3J5XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5idG4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W25hbWU9XCJuYW1lXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3BheW1lbnREZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAjb3JkZXJUb3RhbERldGFpbHMge1xuICAgICAgICAgICAgICAgICAgICAuZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICNyZXN0YXVyYW50SW5mb3JtYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZXN0YXVyYW50LXBob3RvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jaXR5LXF1b3RhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLmNpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNvcmRlckNvbnRhaW5lcixcbiAgICAgICAgZm9ybSNib29raW5nIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMTU7XG4gICAgICAgIFxuICAgICAgICAgICAgI2Jvb2tpbmdEZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNwYXltZW50RGV0YWlscyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDggLyAxNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNwYXlCdXR0b25Db250YWluZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCAyOHB4IHJnYmEoMCwgMCwgMCwgNyUpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDE7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNvcmRlckxhdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2Zvb2RDb250YWluZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIvMTQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNzaWRlQmFyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTUgIWltcG9ydGFudDtcblxuICAgICAgICAjYm9va0Zvcm1Db250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAtNTJweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2Nsb3NlLnBuZyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDI4cHggcmdiYSgwLCAwLCAwLCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgI3RyaWdnZXJDb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNjZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAkbGluZWFyX2dyYWRpZW50X3N0YXJ0LCAkbGluZWFyX2dyYWRpZW50X2VuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAjdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwdmg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNoZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8xMztcbiAgICAgICAgfVxuXG4gICAgICAgICNsb2dvIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMztcbiAgICAgICAgfVxuXG4gICAgICAgIC51c2VyLW1lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjbmF2aWdhdGlvbkNvbnRhaW5lciB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogOCAvIDEyO1xuICAgICAgICB9XG5cbiAgICAgICAgI25hdmlnYXRpb24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvdXNlci5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLnVzZXJuYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjc2VhcmNoIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0LzEwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvY2xvc2UucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5maWVsZHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0I2tleXdvcmRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjbG9nbyxcbiAgICAgICAgI3NlYXJjaFRyaWdnZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgI3NlYXJjaFRyaWdnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbG9jYXRpb25CYXIgZm9ybSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxLzE0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgbWFpbiB7XG4gICAgICAgICNmaWx0ZXJzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZm9vdGVyIHtcbiAgICAgICAgLmxpbmtzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gICAgbWFpbiAjbWFpbkNvbnRlbnQge1xuICAgICAgICAjY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDEyO1xuXG4gICAgICAgICAgICAmLnJlc3RhdXJhbnRzIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJy4uL3ZhcmlhYmxlcy5zY3NzJztcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICNoZWFkZXIgLmNvbnRlbnQge1xuICAgICAgICAjbG9nbyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA4IC8gMTMgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOTNweCkge1xuICAgICN1c2VmdWxsTGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzVweCkge1xuXG4gICAgI2xvY2F0aW9uQmFyIC5jb250ZW50IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICAgICAgI3VzZWZ1bGxMaW5rcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2hlYWRlciAjc2VhcmNoVHJpZ2dlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA1LzExICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi4vdmFyaWFibGVzLnNjc3MnO1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjVweCkge1xuICAgICNoZWFkZXIgLmNvbnRlbnQgI3NlYXJjaCAuZmlsdGVyLXRyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keSNhY2NvdW50IHtcbiAgICAgICAgI21haW5Db250ZW50IHtcbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIDpyb290IHtcbiAgICAgICAgLS1ncmlkLWdhcDogNXB4ICFpbXBvcnRhbnQ7IFxuICAgIH1cblxuICAgICNsb2NhdGlvbkJhciAuY29udGVudCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMTI7XG4gICAgfVxuICAgIFxuICAgICN0aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8xNSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwwLDAsMCksICRncmF5X3BhbGUzKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYWNjb3VudEFjdGlvbnMge1xuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Byb2ZpbFRhYnMge1xuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8qIEZpcmVmb3ggKi9cblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI1cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDE0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYm9keS50dW5uZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvMTM7XG4gICAgICAgIH1cblxuICAgICAgICAjZm9vdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjZm9vZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuZm9vZC5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgLmZvb2QtdGl0bGUtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mb29kLXNlbGVjdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNmb29kLFxuICAgICAgICAjbWVudVRhYnMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjbWVudVNlbGVjdG9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogMzAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X3BhbGU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDkwMDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXN0YXVyYW50LWNvb2tpbmctc3R5bGVzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS1xdW90YXRpb24tY2l0eSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIC5jaXR5LFxuICAgICAgICAgICAgLnF1b3RhdGlvbixcbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucXVvdGF0aW9uIHtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNtZW51VGFicyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAjb3JkZXJDb250YWluZXIgI29yZGVyRGV0YWlscyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDE1O1xuXG4gICAgICAgICAgICAjZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAjZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2RldGFpbHMge1xuICAgICAgICAgICAgICAgICNwYXltZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAjb3JkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICNjYXJkSW5mb3JtYXRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzE1O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICNndWVzdHMge1xuICAgICAgICAgICAgICAgICAgICAjcGVyc29uc0NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLnBlcnNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcikgIWltcG9ydGFudDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0W25hbWU9XCJ0aXRsZVwiXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RbbmFtZT1cImNhdGVnb3J5XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmJ0bixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFtuYW1lPVwibmFtZVwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5idG4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjb3JkZXJDb250YWluZXIsXG4gICAgICAgIGZvcm0jYm9va2luZyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDE0O1xuICAgICAgICBcbiAgICAgICAgICAgICNib29raW5nRGV0YWlscyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxNDtcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcblxuICAgICAgICAgICAgICAgICNwYXltZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiAuY29udGVudCA+IGRpdiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNwYXltZW50RGV0YWlscyB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAxNSAhaW1wb3J0YW50O1xuICAgIFxuICAgICAgICAgICAgICAgICNvcmRlclRvdGFsRGV0YWlscyB7XG4gICAgICAgICAgICAgICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgI3Jlc3RhdXJhbnRJbmZvcm1hdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnJlc3RhdXJhbnQtcGhvdG8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjcGF5QnV0dG9uQ29udGFpbmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA4cHggMjhweCByZ2JhKDAsIDAsIDAsIDclKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjb3JkZXJMYXRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNyZXN0YXVyYW50SW5mb3JtYXRpb25zIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG4gICAgICAgICAgICAuY2l0eSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2Zvb2RDb250YWluZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxMiAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI3NpZGVCYXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8xNSAhaW1wb3J0YW50O1xuXG4gICAgICAgICNib29rRm9ybUNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICB0b3A6IC01MnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvY2xvc2UucG5nKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjAxO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjhweCByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAjdHJpZ2dlckNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5oaWRlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN0cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICRsaW5lYXJfZ3JhZGllbnRfc3RhcnQsICRsaW5lYXJfZ3JhZGllbnRfZW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICN0cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTB2aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2hlYWRlciB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gMTI7XG5cbiAgICAgICAgICAgICNsb2dvIHtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudXNlci1tZW51IHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQgI25hdmlnYXRpb25Db250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDYgLyAxMztcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL3VzZXIucG5nKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS51c2VybmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3NlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigyMTgsIDIxOCwgMjE4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQvMTAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICNsb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI2tleXdvcmRDb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2Nsb3NlLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZmllbGRzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQja2V5d29yZHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZXNtb2tlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNsb2dvLFxuICAgICAgICAjc2VhcmNoVHJpZ2dlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAjc2VhcmNoVHJpZ2dlciB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDExICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2xvY2F0aW9uQmFyIGZvcm0ge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8xNCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIG1haW4ge1xuICAgICAgICAjZmlsdGVycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI21haW5Db250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMTMgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnJlc3RhdXJhbnRzIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAxMiAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIC5yZXN0YXVyYW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGhvdG8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMTU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZm9vdGVyIHtcbiAgICAgICAgLmxpbmtzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyaWQtZnVsbCA+IGRpdiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8xNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wZXJzb24tY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKSAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCJAaW1wb3J0ICcuLi92YXJpYWJsZXMuc2Nzcyc7XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICBib2R5LnR1bm5lbCB7XG5cbiAgICAgICAgI29yZGVyQ29udGFpbmVyICNwYXltZW50RGV0YWlscyAuY29udGVudCB7XG4gICAgICAgICAgICAjcmVzdGF1cmFudEluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAucmVzdGF1cmFudC1waG90b1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9ybSNib29raW5nICNwYXltZW50RGV0YWlscyAuY29udGVudCB7XG4gICAgICAgICAgICAjcmVzdGF1cmFudEluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgICAgICAgLnJlc3RhdXJhbnQtcGhvdG8ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgLmluZm9ybWF0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/