/**********

  THIRD PARTY

***********/
/**********

  CUSTOM

***********/
*, *:before, *:after {
  box-sizing: border-box; }

@font-face {
  font-family: "Roboto";
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/Roboto/roboto-regular.eot");
  src: local("Roboto"), url("../fonts/Roboto/roboto-regular.woff") format("woff"), url("../fonts/Roboto/roboto-regular.ttf") format("truetype"), url("../fonts/Roboto/roboto-regular.svg") format("svg"); }

@font-face {
  font-family: "Roboto";
  font-weight: normal;
  font-style: italic;
  src: url("../fonts/Roboto/roboto-italic.eot");
  src: local("Roboto"), url("../fonts/Roboto/roboto-italic.woff") format("woff"), url("../fonts/Roboto/roboto-italic.ttf") format("truetype"), url("../fonts/Roboto/roboto-italic.svg") format("svg"); }

@font-face {
  font-family: "Roboto";
  font-weight: bold;
  font-style: normal;
  src: url("../fonts/Roboto/roboto-bold.eot");
  src: local("Roboto"), url("../fonts/Roboto/roboto-bold.woff") format("woff"), url("../fonts/Roboto/roboto-bold.ttf") format("truetype"), url("../fonts/Roboto/roboto-bold.svg") format("svg"); }

@font-face {
  font-family: "Roboto";
  font-weight: bold;
  font-style: italic;
  src: url("../fonts/Roboto/roboto-bolditalic.eot");
  src: local("Roboto"), url("../fonts/Roboto/roboto-bolditalic.woff") format("woff"), url("../fonts/Roboto/roboto-bolditalic.ttf") format("truetype"), url("../fonts/Roboto/roboto-bolditalic.svg") format("svg"); }

@font-face {
  font-family: "Roboto";
  font-weight: bold;
  font-style: italic;
  src: url("../fonts/Roboto/roboto-thin.eot");
  src: local("Roboto"), url("../fonts/Roboto/roboto-thin.woff") format("woff"), url("../fonts/Roboto/roboto-thin.ttf") format("truetype"), url("../fonts/Roboto/roboto-thin.svg") format("svg"); }

@font-face {
  font-family: "Roboto";
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/Roboto/roboto-thinitalic.eot");
  src: local("Roboto"), url("../fonts/Roboto/roboto-thinitalic.woff") format("woff"), url("../fonts/Roboto/roboto-thinitalic.ttf") format("truetype"), url("../fonts/Roboto/roboto-thinitalic.svg") format("svg"); }

@font-face {
  font-family: 'octicons';
  font-weight: normal;
  font-style: normal;
  src: url("octicons.eot");
  src: local("../fonts/octicons-local.ttf"), url("../fonts/octicons.woff") format("woff"), url("../fonts/octicons.ttf") format("truetype"), url("../fonts/octicons.svg") format("svg"); }

@keyframes wobble {
  from {
    transform: none; }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    transform: none; } }

.brand, .serviceTabs {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block; }

a {
  transition: color 0.5s, background-color 0.5s; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .makeOrderFormWrapper__closeButton, .orderCallbackFormWrapper__closeButton {
  transition: color 0.5s, background-color 0.5s, transform 0.1s, box-shadow, 0.5s !important; }

html, body {
  min-height: 100%;
  width: 100%; }

body {
  z-index: 0;
  font-family: "Roboto", serif;
  font-size: 16px;
  text-rendering: optimizeLegibility;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feauture-settings: "kern", "ling", "clig", "calt";
  line-height: 145%;
  font-size-adjust: 100%;
  word-break: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
  color: #ececec;
  background-color: #ececec; }
  body * {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0; }
    body *:active {
      outline: 0; }
    body *:focus {
      outline: 0; }

.navigation__asideButtons, .orderCallbackFormWrapper {
  z-index: 4; }

.serviceTabsNavigationList__item {
  margin-right: 2em; }

.askQuestionsFormController__input, .askQuestionsFormController__textarea {
  margin-top: 0.5em; }

p, ol, .upButton, .footerContactsItem, .makeOrderFormController, .orderCallbackFormController, .askQuestionsFormController, .servicesItem, .adviceListItem, .serviceTabs__table, .serviceTabsTableData, .adviceArticle__text {
  margin-top: 1em; }

.navigation, .makeOrderFormController:first-of-type, .orderCallbackFormController:first-of-type, .askQuestionsFormController:first-of-type {
  margin-top: 1.5em; }

.header__paragraph, .upButtonRefer__name, .footerContacts, .makeOrderFormButton, .makeOrderFormButtonContainer__name, .orderCallbackFormButton, .orderCallbackFormButtonContainer__name, .callbackButton, .callbackButtonContainer__name, .askQuestionsFormButton, .askQuestionsFormButtonContainer__name, .servicesList, .adviceList, .service__paragraph, .serviceTabs, .serviceMakeOrderButton, .serviceMakeOrderButtonContainer__name {
  margin-top: 2em; }

.makeOrderForm__title, .makeOrderFormController .errorContainer, .makeOrderFormButton {
  margin-left: 27%; }

.serviceTabs {
  margin-bottom: 2em; }

.serviceTabsTableData__cell--name_price {
  text-align: center; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .adviceListItem__refer, .serviceTabsTableData__cell--name_ensure {
  text-align: right; }

th {
  text-align: left; }

.serviceTabsTableData__cell, .serviceTabsTableHeader__cell {
  vertical-align: middle; }

.orderCallbackButton, .upButton, .navItem, .makeOrderFormButton, .orderCallbackFormButton, .callbackButton, .askQuestionsFormButton, .serviceMakeOrderButton {
  width: 115px;
  height: 115px; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer {
  display: block !important;
  border-color: #080808;
  color: #ececec !important;
  padding: 6px 10px 0 6px; }
  .orderCallbackButtonContainer:hover, .upButtonRefer:hover, .navItemRefer:hover, .makeOrderFormButtonContainer:hover, .orderCallbackFormButtonContainer:hover, .callbackButtonContainer:hover, .askQuestionsFormButtonContainer:hover, .serviceMakeOrderButtonContainer:hover {
    background-color: #1d6627; }
  .orderCallbackButtonContainer:active, .upButtonRefer:active, .navItemRefer:active, .makeOrderFormButtonContainer:active, .orderCallbackFormButtonContainer:active, .callbackButtonContainer:active, .askQuestionsFormButtonContainer:active, .serviceMakeOrderButtonContainer:active {
    transform: translateY(3px); }

.orderCallbackButtonContainer__name, .upButtonRefer__name, .navItemRefer__name, .makeOrderFormButtonContainer__name, .orderCallbackFormButtonContainer__name, .callbackButtonContainer__name, .askQuestionsFormButtonContainer__name, .serviceMakeOrderButtonContainer__name {
  display: inherit;
  word-break: initial;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none; }

.orderCallbackButtonContainer__icon, .upButtonRefer__icon, .navItemRefer__icon, .makeOrderFormButtonContainer__icon, .orderCallbackFormButtonContainer__icon, .callbackButtonContainer__icon, .askQuestionsFormButtonContainer__icon, .serviceMakeOrderButtonContainer__icon, .navigation, .brand, .header__paragraph, .footer__title, .footerContacts, .copyright, .errorContainer, .present__figure, .callback__figure, .askQuestionsFormWrapper, .adviceListItem__title, .adviceIntro__paragraph {
  float: left; }

.orderCallbackButtonContainer__number, .upButtonRefer__number, .navItemRefer__number, .makeOrderFormButtonContainer__number, .orderCallbackFormButtonContainer__number, .callbackButtonContainer__number, .askQuestionsFormButtonContainer__number, .serviceMakeOrderButtonContainer__number, .header__figure--name_man, .navigation__openMenuButton, .footer__figure, .makeOrderFormWrapper__closeButton, .orderCallbackFormWrapper__closeButton, .makeOrderFormController__dropdown, .makeOrderFormController__input, .present__paragraph, .callback__paragraph, .services__paragraph, .services__figure, .adviceListItem__refer, .adviceIntro__figure, .adviceArticle__referToAllAdvice {
  float: right; }

.header:after, .footer:after, .makeOrderFormController:after, .orderCallbackFormController:after, .present:after, .ordering:after, .callback:after, .askQuestions:after, .askQuestionsFormController:after, .services:after, .advice:after, .adviceListItem:after, .adviceIntro:after, .singleAdvice:after {
  content: " ";
  display: block;
  clear: both; }

.askQuestionsFormController__textarea {
  padding-top: 0.5em; }

.makeOrderFormWrapper__successMessage {
  padding-top: 1em; }

.services__title, .servicesItem, .advice__title, .adviceListItem, .service__title, .serviceTabsTableData, .serviceTabsTableHeader, .adviceArticle__title {
  padding-bottom: 0.3em; }

.advice, .singleAdvice {
  padding-top: 65px;
  padding-bottom: 75px; }

.askQuestionsFormController__textarea, .makeOrderFormController__dropdown, .makeOrderFormController__input, .askQuestionsFormController__input, .orderCallbackFormController__input {
  height: 45px !important;
  padding-left: 15px;
  max-width: 345px;
  transition: box-shadow 0.5s, background-color 0.5s, color 0.5s !important;
  border-radius: 5px; }
  .askQuestionsFormController__textarea:focus::-webkit-input-placeholder, .makeOrderFormController__dropdown:focus::-webkit-input-placeholder, .makeOrderFormController__input:focus::-webkit-input-placeholder, .askQuestionsFormController__input:focus::-webkit-input-placeholder, .orderCallbackFormController__input:focus::-webkit-input-placeholder {
    color: #9c9c9c; }
  .askQuestionsFormController__textarea:focus:-ms-input-placeholder, .makeOrderFormController__dropdown:focus:-ms-input-placeholder, .makeOrderFormController__input:focus:-ms-input-placeholder, .askQuestionsFormController__input:focus:-ms-input-placeholder, .orderCallbackFormController__input:focus:-ms-input-placeholder {
    color: #9c9c9c; }
  .askQuestionsFormController__textarea:focus::-moz-placeholder, .makeOrderFormController__dropdown:focus::-moz-placeholder, .makeOrderFormController__input:focus::-moz-placeholder, .askQuestionsFormController__input:focus::-moz-placeholder, .orderCallbackFormController__input:focus::-moz-placeholder {
    color: #9c9c9c; }
  .askQuestionsFormController__textarea:focus:-moz-placeholder, .makeOrderFormController__dropdown:focus:-moz-placeholder, .makeOrderFormController__input:focus:-moz-placeholder, .askQuestionsFormController__input:focus:-moz-placeholder, .orderCallbackFormController__input:focus:-moz-placeholder {
    color: #9c9c9c; }
  .askQuestionsFormController__textarea :placeholder-shown, .makeOrderFormController__dropdown :placeholder-shown, .makeOrderFormController__input :placeholder-shown, .askQuestionsFormController__input :placeholder-shown, .orderCallbackFormController__input :placeholder-shown {
    color: #9c9c9c; }
  .askQuestionsFormController__textarea:focus, .makeOrderFormController__dropdown:focus, .makeOrderFormController__input:focus, .askQuestionsFormController__input:focus, .orderCallbackFormController__input:focus {
    color: #ececec;
    background-color: #e0e0e0; }

.askQuestionsFormController__textarea, .makeOrderFormController__dropdown, .makeOrderFormController__input, .askQuestionsFormController__input {
  background-color: #2e2e2e !important;
  color: #ececec !important; }

.orderCallbackFormController__input {
  background-color: #ececec !important;
  color: #2e2e2e !important; }

.askQuestionsFormController__textarea {
  min-height: 115px; }

.makeOrderFormController__error, .orderCallbackFormController__error, .askQuestionsFormController__error {
  color: #7be9ea; }

.askQuestionsFormController__textarea:focus, .makeOrderFormController__dropdown:focus, .makeOrderFormController__input:focus, .askQuestionsFormController__input:focus, .orderCallbackFormController__input:focus, .makeOrderFormWrapper__closeButton:hover, .orderCallbackFormWrapper__closeButton:hover {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.8) !important; }

.makeOrderFormWrapper, .orderCallbackFormWrapper {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.8); }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.8); }

.askQuestionsFormController__textarea, .makeOrderFormController__dropdown, .makeOrderFormController__input, .askQuestionsFormController__input, .orderCallbackFormController__input, .navItem--active .navItemRefer, .serviceTabs {
  box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.8) !important; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button, .upButtonRefer, .navItemRefer {
  display: block; }

.orderCallbackButton, .upButton, .navItem, .makeOrderFormButton, .orderCallbackFormButton, .callbackButton, .askQuestionsFormButton, .serviceMakeOrderButton, .present__figure, .serviceTabsNavigationList__item {
  display: inline-block; }

.service > .ui.container {
  display: -ms-flexbox;
  display: flex; }

.service > .ui.container {
  -ms-flex-pack: justify;
  justify-content: space-between; }

.service > .ui.container {
  -ms-flex-align: start;
  align-items: flex-start; }

.service > .ui.container {
  -ms-flex-flow: column wrap;
  flex-flow: column wrap; }

body, .header, .navigation__openMenuButton, .footer, .ordering, .askQuestions, .services__paragraph, .service__referToAllServices {
  position: relative; }

.navigation__closeMenuButton {
  position: absolute; }

.header__figure, .ordering__figure, .askQuestions__figure {
  position: absolute !important; }

.navigation__asideButtons, .orderCallbackFormWrapper {
  position: fixed; }

.orderCallbackButtonContainer__name, .upButtonRefer__name, .navItemRefer__name, .makeOrderFormButtonContainer__name, .orderCallbackFormButtonContainer__name, .callbackButtonContainer__name, .askQuestionsFormButtonContainer__name, .serviceMakeOrderButtonContainer__name, p, .servicesItem__refer {
  font-size: 1.125em; }

.header__paragraph, .footer__title, .makeOrderForm__title {
  font-size: 1.3125em; }

.services__title, .advice__title, .service__title, .adviceArticle__title {
  font-size: 1.625em; }

.brand__name {
  font-size: 2.25em; }

.askQuestionsFormController__textarea, .makeOrderFormController__dropdown, .makeOrderFormController__input, .askQuestionsFormController__input, .orderCallbackFormController__input, .orderCallbackButtonContainer__name--aside, .upButtonRefer__name--aside, .copyright, .callbackButtonContainer__name, .askQuestionsFormButtonContainer__name {
  font-size: 1em; }

.makeOrderFormController__error, .orderCallbackFormController__error, .askQuestionsFormController__error {
  font-size: 0.875em; }

.orderCallbackButton--aside, .upButton--aside, .makeOrderFormButton, .orderCallbackFormButton, .callbackButton, .askQuestionsFormButton, .serviceMakeOrderButton {
  width: 100px;
  height: 100px; }

.callbackButton, .askQuestionsFormButton {
  width: 155px; }

.serviceTabsTableData__cell, .serviceTabsTableHeader__cell {
  height: 40px; }

.serviceTabsTableData__cell--name_price, .serviceTabsTableData__cell--name_ensure, .serviceTabsTableHeader__cell--name_price, .serviceTabsTableHeader__cell--name_ensure {
  width: 25%; }

.adviceListItem__refer {
  width: 33.33333%; }

.present__figure, .present__paragraph, .callback__figure, .callback__paragraph, .askQuestionsFormWrapper, .services__title, .servicesList, .service__title, .serviceTabsTableData__cell--name_space, .serviceTabsTableHeader__cell--name_space, .adviceIntro__figure, .adviceIntro__paragraph {
  width: 50%; }

.footer__title, .footerContacts, .copyright, .adviceListItem__title {
  width: 66.66667%; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .askQuestionsFormController__textarea, .makeOrderFormController__dropdown, .makeOrderFormController__input, .askQuestionsFormController__input, .orderCallbackFormController__input, .navList, .advice__title, .serviceTabs, .serviceTabs__table, .adviceArticle__title {
  width: 100%; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer {
  height: 100%; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button, .header__figure--name_button, .makeOrderFormWrapper__closeButton, .orderCallbackFormWrapper__closeButton, .serviceTabsNavigationList__item {
  cursor: pointer; }

.orderCallbackFormWrapper, .service {
  background-color: #2e2e2e; }

.orderCallbackButton, .upButton, .navItem, .makeOrderFormButton, .orderCallbackFormButton, .callbackButton, .askQuestionsFormButton, .serviceMakeOrderButton {
  background-color: transparent; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .footer {
  background-color: #17521f; }

.ordering, .askQuestions, .advice {
  background-color: #5a1a68; }

.serviceTabs {
  background-color: #9d2eb5; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .makeOrderFormWrapper, .orderCallbackFormWrapper, .serviceTabs {
  border-radius: 4px; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .services__title, .servicesItem, .advice__title, .adviceListItem, .service__title, .serviceTabsTableData, .serviceTabsTableHeader, .adviceArticle__title, .makeOrderFormWrapper, .orderCallbackFormWrapper {
  border-style: solid !important; }

.orderCallbackButtonContainer, .upButtonRefer, .navItemRefer, .makeOrderFormButtonContainer, .orderCallbackFormButtonContainer, .callbackButtonContainer, .askQuestionsFormButtonContainer, .serviceMakeOrderButtonContainer, .makeOrderFormWrapper, .orderCallbackFormWrapper {
  border-width: 4px; }

.services__title, .servicesItem, .advice__title, .adviceListItem, .service__title, .serviceTabsTableData, .serviceTabsTableHeader, .adviceArticle__title {
  border-bottom-width: 1px;
  border-color: #636363; }

.ordering__figure {
  bottom: 0; }

.ordering__figure {
  right: 0; }

.services__title, .servicesItem, .advice__title, .service__title, .adviceArticle__title {
  overflow: hidden; }

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  font-weight: normal; }

h1 {
  font-size: 1.3125em; }

h2 {
  font-size: 1.125em; }

ul {
  list-style: none; }

img {
  display: inline-block !important; }

th, td {
  font-weight: normal; }

p {
  max-width: 500px; }
  @media (max-width: 800px) {
    p {
      width: 100%;
      max-width: none; } }

@media (max-width: 800px) {
  section {
    padding: 10% 5%; } }

ol {
  padding-left: 16px; }

a {
  color: #7be9ea !important; }
  a:hover {
    color: #9c9c9c; }
  a:active {
    color: #7be9ea; }
  a:visited {
    color: #7be9ea; }
  a:focus {
    color: #7be9ea; }
  a:hover, a:visited, a:active, a:focus {
    text-decoration: none; }
  a:hover {
    background-color: transparent; }

::-webkit-input-placeholder {
  color: #9c9c9c; }

:-ms-input-placeholder {
  color: #9c9c9c; }

::-moz-placeholder {
  color: #9c9c9c; }

:-moz-placeholder {
  color: #9c9c9c; }

:placeholder-shown {
  color: #9c9c9c; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  background-color: #2e2e2e !important;
  -webkit-text-fill-color: #2e2e2e !important; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  margin-right: 10px; }

input[type=number]:hover::-webkit-inner-spin-button,
input[type=number]:hover::-webkit-outer-spin-button {
  width: 20px;
  height: 20px; }

.header {
  background-color: #9d2eb5;
  padding: 7.80031% 0 17.00468%;
  height: auto; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .header {
      padding-bottom: 7.80031%; } }
  @media (min-width: 1200px) {
    .header {
      height: 641px;
      padding-top: 3.90016%; } }
  @media (max-width: 800px) {
    .header {
      padding: 7.80031% 5% 17.00468%; } }

.navigation, .brand, .header__paragraph {
  width: 66.66667%; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .navigation, .brand, .header__paragraph {
      width: 83.33333%; } }
  @media (min-width: 801px) and (max-width: 991px) {
    .navigation, .brand, .header__paragraph {
      width: 100%; } }
  @media (max-width: 800px) {
    .navigation, .brand, .header__paragraph {
      width: 100%; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .header__figure {
    position: relative !important; } }

@media (max-width: 991px) {
  .header__figure {
    position: relative !important;
    right: 0;
    left: 0;
    margin: 0 !important; } }

.header__figure--name_man {
  top: 8.14332%;
  right: 10.71429%;
  max-width: 415px !important; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .header__figure--name_man {
      left: 5%;
      margin-top: 3em; } }
  @media (min-width: 1200px) {
    .header__figure--name_man {
      right: 4.64286%; } }
  @media (max-width: 800px) {
    .header__figure--name_man {
      max-width: 450px !important; } }
  @media (max-width: 445px) {
    .header__figure--name_man {
      max-width: 285px !important; } }

.header__figure--name_button {
  transition: transform 1s;
  bottom: 8.14332%;
  right: 9.28571%;
  max-width: 367px; }
  .header__figure--name_button:hover {
    transform: translateX(4px); }
  @media (min-width: 992px) and (max-width: 1199px) {
    .header__figure--name_button {
      bottom: -175px;
      float: right; } }
  @media (min-width: 1200px) {
    .header__figure--name_button {
      bottom: 13.02932%;
      right: 17.85714%; } }
  @media (max-width: 800px) {
    .header__figure--name_button {
      top: 30px; } }

@media (max-width: 800px) {
  .header__figure--name_button, .header__figure--name_man {
    margin-top: 2em !important; } }

.header__figure--state_active {
  transform: translateX(-1000%); }

@media (min-width: 992px) {
  .header__paragraph {
    margin-top: 5em; } }

@media (max-width: 800px) {
  .header__paragraph {
    margin-top: 0; } }

.header__paragraph--color_skyBlue {
  color: #7be9ea; }

.brand__name {
  color: #ececec !important; }

@media (max-width: 800px) {
  .navigation {
    margin: 0; } }

.navigation__asideButtons {
  bottom: 26px;
  left: 3.21429%;
  display: none; }

.orderCallbackButtonContainer__icon--aside, .upButtonRefer__icon--aside {
  max-width: 30px !important; }

.orderCallbackButtonContainer__name {
  margin-top: 14px; }

.orderCallbackButtonContainer__icon {
  max-width: 30px !important; }

.navigation__closeMenuButton, .navigation__openMenuButton {
  color: #fefeff;
  z-index: -1; }
  @media (max-width: 800px) {
    .navigation__closeMenuButton, .navigation__openMenuButton {
      z-index: 4; } }

.navigation__openMenuButton {
  bottom: 35px;
  right: 10%;
  background-color: transparent; }

.navigation__closeMenuButton {
  display: none;
  top: 15px;
  right: 15px; }

@media (min-width: 801px) and (max-width: 991px) {
  .navList {
    font-size: 1.3125em; } }

@media (max-width: 800px) {
  .navList {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    background-color: rgba(236, 236, 236, 0.8);
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-align: center;
    align-items: center;
    z-index: 100;
    padding-top: 10%; } }

.navItemRefer__name {
  margin-top: 50px; }

.navItem {
  margin-right: 2.48062%; }
  @media (max-width: 800px) {
    .navItem {
      margin: 1em; } }

.footer {
  height: 511px; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .footer {
      height: 488px; } }
  @media (min-width: 801px) and (max-width: 991px) {
    .footer {
      height: 390px; } }
  @media (max-width: 800px) {
    .footer {
      height: 320px;
      padding: 0 5%; } }
  @media (max-width: 445px) {
    .footer {
      height: 285px;
      padding: 0 5%; } }

.footer__figure {
  width: 33.33333%;
  max-width: 300px !important;
  top: -153px;
  margin-bottom: -160px; }
  @media (max-width: 800px) {
    .footer__figure {
      top: -128px; } }

.footer__title {
  margin-top: 11.74168% !important; }
  @media (max-width: 800px) {
    .footer__title {
      width: 100%; } }

.copyright {
  margin-top: 16.04697%; }
  @media (max-width: 445px) {
    .copyright {
      font-size: 0.875em; } }

.main {
  color: #2e2e2e; }

.main__makeOrderFormContainer {
  color: #ececec; }

.makeOrderFormWrapper {
  margin: 2em auto 1em;
  width: 601px;
  border-color: #d8c916;
  padding: 33px 80px 44px 40px;
  background-color: #9d2eb5; }
  @media (max-width: 800px) {
    .makeOrderFormWrapper {
      width: 100%;
      padding: 33px 65px 44px; } }

.makeOrderFormWrapper__closeButton, .orderCallbackFormWrapper__closeButton {
  max-width: 25px !important; }
  .makeOrderFormWrapper__closeButton:active, .orderCallbackFormWrapper__closeButton:active {
    transform: translateY(3px); }

.makeOrderFormController__label, .orderCallbackFormController__label {
  margin-right: 30px;
  line-height: 2.5em; }

@media (max-width: 800px) {
  .makeOrderForm__title, .errorContainer, .makeOrderFormButton {
    margin-left: 0; } }

.orderCallbackFormWrapper {
  top: 10%;
  left: calc(50% - (486px / 2));
  color: #ececec;
  border-color: #17521f;
  width: 486px;
  padding: 25px 75px 35px; }
  @media (max-width: 445px) {
    .orderCallbackFormWrapper {
      width: 100%;
      left: 0;
      padding: 25px 10%; } }

.orderCallbackFormButton {
  width: 150px; }

.orderCallbackFormButtonContainer__name {
  font-size: 0.9375em; }

.present {
  padding-top: 145px; }

.present__figure {
  max-width: 520px !important; }
  @media (max-width: 800px) {
    .present__figure {
      width: 100%; } }

.present__paragraph {
  margin-top: 15%; }
  @media (min-width: 801px) and (max-width: 991px) {
    .present__paragraph {
      padding-left: 5%;
      margin-top: 7%; } }
  @media (max-width: 800px) {
    .present__paragraph {
      width: 100%;
      margin-top: 1em; } }

.ordering {
  padding-top: 485px; }
  @media (max-width: 800px) {
    .ordering {
      margin-left: 0; } }
  @media (max-width: 445px) {
    .ordering {
      padding-top: 10%; } }

.ordering__figure {
  max-width: 439px !important; }
  @media (max-width: 800px) {
    .ordering__figure {
      max-width: 350px !important; } }
  @media (max-width: 445px) {
    .ordering__figure {
      position: static !important;
      float: right;
      margin-right: -11%; } }

.ordering__paragraph {
  color: #ececec;
  margin: -275px 0 0 275px; }
  @media (max-width: 800px) {
    .ordering__paragraph {
      width: 50%;
      margin: -315px 0 0; } }
  @media (max-width: 445px) {
    .ordering__paragraph {
      width: 100%;
      margin-top: 1em;
      float: left; } }

.ordering__paragraph--color_skyBlue {
  color: #7be9ea; }

.callback {
  padding-top: 50px; }

.callback__figure {
  max-width: 479px !important; }
  @media (min-width: 801px) and (max-width: 991px) {
    .callback__figure {
      margin-top: 5%; } }

.callback__paragraph {
  margin-top: 7.5%; }
  @media (max-width: 1199px) {
    .callback__paragraph {
      width: 41.66667%; } }
  @media (min-width: 801px) and (max-width: 991px) {
    .callback__paragraph {
      margin-top: -1.5%; } }
  @media (max-width: 800px) {
    .callback__paragraph {
      width: 100%;
      margin-top: 3.5%; } }

.callback__paragraph--color_darkGray {
  color: #2e2e2e !important; }

@media (min-width: 1200px) {
  .callbackButton {
    margin-left: 13%; } }

@media (max-width: 1199px) {
  .callbackButton {
    margin-left: 8%; } }

@media (max-width: 800px) {
  .callbackButton {
    margin-top: 15%; } }

@media (max-width: 445px) {
  .callbackButton {
    margin-left: 0; } }

.askQuestions {
  padding: 60px 0 70px; }

.askQuestions__figure {
  max-width: 285px !important;
  right: 20%;
  bottom: 0; }
  @media (min-width: 801px) and (max-width: 991px) {
    .askQuestions__figure {
      right: 10%; } }
  @media (max-width: 800px) {
    .askQuestions__figure {
      position: static !important;
      margin: 2em auto 0 !important;
      display: block !important; } }

.askQuestionsFormWrapper {
  max-width: 385px;
  color: #ececec; }
  @media (min-width: 1200px) {
    .askQuestionsFormWrapper {
      margin-left: 20%; } }
  @media (min-width: 992px) and (max-width: 1199px) {
    .askQuestionsFormWrapper {
      margin-left: 10%; } }
  @media (max-width: 800px) {
    .askQuestionsFormWrapper {
      width: 100%;
      margin: 1em auto 0; } }

@media (max-width: 800px) {
  .askQuestionsForm__title {
    text-align: center; } }

.services {
  background-color: #d8c916;
  padding-top: 80px; }
  @media (max-width: 800px) {
    .services {
      margin-top: -100px;
      padding-top: 0; } }
  @media (max-width: 445px) {
    .services {
      margin-top: 0;
      padding-top: 5%; } }

.services__paragraph {
  top: 70px;
  left: 35%; }
  @media (min-width: 992px) and (max-width: 1199px) {
    .services__paragraph {
      left: 45%; } }
  @media (max-width: 991px) {
    .services__paragraph {
      left: 0;
      top: 0;
      padding-bottom: 1em;
      float: none; } }
  @media (max-width: 800px) {
    .services__paragraph {
      width: 50%;
      float: left; } }
  @media (max-width: 445px) {
    .services__paragraph {
      float: rigth;
      width: 100%; } }

.services__figure {
  max-width: 305px !important;
  margin-top: 210px; }
  @media (min-width: 801px) and (max-width: 991px) {
    .services__figure {
      margin-top: 140px; } }
  @media (max-width: 800px) {
    .services__figure {
      position: relative;
      top: 135.5px;
      margin-top: 0; } }
  @media (max-width: 445px) {
    .services__figure {
      top: 0; } }

@media (max-width: 800px) {
  .services__title {
    width: 100%; } }

@media (max-width: 800px) {
  .servicesList {
    width: 100%; } }

.servicesItem__refer {
  color: #2e2e2e !important; }

.advice {
  color: #ececec; }

@media (min-width: 1400px) {
  .advice > .ui.container, .adviceArticle {
    padding: 0 15%; } }

@media (min-width: 992px) {
  .advice > .ui.container, .adviceArticle {
    padding: 0 25%; } }

@media (max-width: 991px) {
  .advice > .ui.container, .adviceArticle {
    padding: 0 15%; } }

@media (max-width: 445px) {
  .advice > .ui.container, .adviceArticle {
    padding: 0 5%; } }

.service {
  color: #ececec;
  padding: 75px 0 85px; }

@media (min-width: 1200px) {
  .service__paragraph, .serviceMakeOrderButton, .service__title {
    margin-left: 13.5%; } }

@media (min-width: 992px) and (max-width: 1199px) {
  .service__paragraph, .serviceMakeOrderButton, .service__title {
    margin-left: 6%; } }

.service__title {
  -ms-flex-order: 1;
  order: 1; }
  @media (max-width: 800px) {
    .service__title {
      width: 100%; } }

.service__paragraph {
  -ms-flex-order: 3;
  order: 3; }

.service__referToAllServices {
  -ms-flex-order: 5;
  order: 5;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  bottom: 100px; }
  @media (max-width: 800px) {
    .service__referToAllServices {
      -ms-flex-item-align: end;
      align-self: flex-end; } }

.serviceTabs {
  padding: 40px 10% 60px;
  max-width: 825px;
  -ms-flex-order: 2;
  order: 2; }

.serviceTabsNavigationList__item--active {
  color: #d8c916; }

.serviceTabsTableHeader__cell {
  color: #9c9c9c; }

.serviceMakeOrderButton {
  -ms-flex-order: 4;
  order: 4; }

.adviceIntro {
  padding-top: 100px; }
  @media (max-width: 800px) {
    .adviceIntro {
      padding-bottom: 65px;
      padding-top: 50px; } }

.adviceIntro__figure {
  max-width: 232px !important; }
  @media (min-width: 1200px) {
    .adviceIntro__figure {
      margin-right: 15%; } }
  @media (max-width: 800px) {
    .adviceIntro__figure {
      width: 100%;
      margin: 0 auto;
      float: none;
      display: block !important; } }

.adviceIntro__paragraph {
  margin-top: 130px; }
  @media (min-width: 1200px) {
    .adviceIntro__paragraph {
      margin-left: 10%; } }
  @media (max-width: 800px) {
    .adviceIntro__paragraph {
      width: 100%;
      margin-top: 1em; } }

.adviceArticle__text {
  max-width: none; }

.adviceArticle__referToAllAdvice {
  line-height: 70px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ib3gtc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vYmxvY2tzL2N1c3RvbS9jb25maWcvZm9udHMuc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vY29uZmlnL2FuaW1hdGlvbi5zY3NzIiwiLi4vYmxvY2tzL2N1c3RvbS9jb25maWcvbWl4aW5zLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL2N1c3RvbS5zY3NzIiwiLi4vYmxvY2tzL2N1c3RvbS9jb25maWcvY29sb3JzLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9pbmRleGVzLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9tYXJnaW5zLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9hbGlnbmVkLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9idXR0b25zLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiLi4vYmxvY2tzL2N1c3RvbS9zaG9ydF9oYW5kX2NsYXNzZXMvcGFkZGluZ3Muc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL2Zvcm0uc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL3NoYWRvd3Muc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL2Rpc3BsYXkuc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL3Bvc2l0aW9uLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9zaXplcy5zY3NzIiwiLi4vYmxvY2tzL2N1c3RvbS9jb25maWcvc2l6ZXMuc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL3Byb3BvcnRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19zcGFuLnNjc3MiLCIuLi9ibG9ja3MvY3VzdG9tL3Nob3J0X2hhbmRfY2xhc3Nlcy9jdXJzb3Jlcy5zY3NzIiwiLi4vYmxvY2tzL2N1c3RvbS9zaG9ydF9oYW5kX2NsYXNzZXMvYmFja2dyb3VuZHMuc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL2JvcmRlcnMuc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL29mZnNldHMuc2NzcyIsIi4uL2Jsb2Nrcy9jdXN0b20vc2hvcnRfaGFuZF9jbGFzc2VzL292ZXJmbG93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCIuLi9ibG9ja3MvaGVhZGVyL2hlYWRlci5zY3NzIiwiLi4vYmxvY2tzL2hlYWRlci9fX2ZpZ3VyZS5zY3NzIiwiLi4vYmxvY2tzL2hlYWRlci9fX3BhcmFncmFwaC5zY3NzIiwiLi4vYmxvY2tzL2hlYWRlci9icmFuZC9fX25hbWUuc2NzcyIsIi4uL2Jsb2Nrcy9oZWFkZXIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3MiLCIuLi9ibG9ja3MvaGVhZGVyL25hdmlnYXRpb24vX19hc2lkZUJ1dHRvbnMuc2NzcyIsIi4uL2Jsb2Nrcy9oZWFkZXIvbmF2aWdhdGlvbi9vcmRlckNhbGxiYWNrQnV0dG9uL29yZGVyQ2FsbGJhY2tCdXR0b25SZWZlci5zY3NzIiwiLi4vYmxvY2tzL2hlYWRlci9uYXZpZ2F0aW9uL19fb3Blbk1lbnVCdXR0b24uc2NzcyIsIi4uL2Jsb2Nrcy9oZWFkZXIvbmF2aWdhdGlvbi9uYXZMaXN0L25hdkxpc3Quc2NzcyIsIi4uL2Jsb2Nrcy9oZWFkZXIvbmF2aWdhdGlvbi9uYXZMaXN0L25hdkl0ZW1SZWZlci5zY3NzIiwiLi4vYmxvY2tzL2hlYWRlci9uYXZpZ2F0aW9uL25hdkxpc3QvbmF2SXRlbS5zY3NzIiwiLi4vYmxvY2tzL2Zvb3Rlci9mb290ZXIuc2NzcyIsIi4uL2Jsb2Nrcy9mb290ZXIvX19maWd1cmUuc2NzcyIsIi4uL2Jsb2Nrcy9mb290ZXIvX190aXRsZS5zY3NzIiwiLi4vYmxvY2tzL2Zvb3Rlci9jb3B5cmlnaHQvY29weXJpZ2h0LnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9tYWluLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9fX21ha2VPcmRlckZvcm1Db250YWluZXIuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL21ha2VPcmRlckZvcm0vbWFrZU9yZGVyRm9ybVdyYXBwZXIuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL21ha2VPcmRlckZvcm0vX19jbG9zZUJ1dHRvbi5zY3NzIiwiLi4vYmxvY2tzL21haW4vbWFrZU9yZGVyRm9ybS9tYWtlT3JkZXJGb3JtQ29udHJvbGxlci9fX2xhYmVsLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9tYWtlT3JkZXJGb3JtL21ha2VPcmRlckZvcm0uc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL29yZGVyQ2FsbGJhY2tGb3JtL29yZGVyQ2FsbGJhY2tGb3JtV3JhcHBlci5zY3NzIiwiLi4vYmxvY2tzL21haW4vb3JkZXJDYWxsYmFja0Zvcm0vb3JkZXJDYWxsYmFja0Zvcm1CdXR0b24vb3JkZXJDYWxsYmFja0Zvcm1CdXR0b24uc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3ByZXNlbnQvcHJlc2VudC5zY3NzIiwiLi4vYmxvY2tzL21haW4vcHJlc2VudC9fX2ZpZ3VyZS5zY3NzIiwiLi4vYmxvY2tzL21haW4vcHJlc2VudC9fX3BhcmFncmFwaC5zY3NzIiwiLi4vYmxvY2tzL21haW4vb3JkZXJpbmcvb3JkZXJpbmcuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL29yZGVyaW5nL19fZmlndXJlLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9vcmRlcmluZy9fX3BhcmFncmFwaC5zY3NzIiwiLi4vYmxvY2tzL21haW4vY2FsbGJhY2svY2FsbGJhY2suc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL2NhbGxiYWNrL19fZmlndXJlLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9jYWxsYmFjay9fX3BhcmFncmFwaC5zY3NzIiwiLi4vYmxvY2tzL21haW4vY2FsbGJhY2svY2FsbGJhY2tCdXR0b24vY2FsbGJhY2tCdXR0b24uc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL2Fza1F1ZXN0aW9ucy9hc2tRdWVzdGlvbnMuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL2Fza1F1ZXN0aW9ucy9fX2ZpZ3VyZS5zY3NzIiwiLi4vYmxvY2tzL21haW4vYXNrUXVlc3Rpb25zL2Fza1F1ZXN0aW9uc0Zvcm0vYXNrUXVlc3Rpb25zRm9ybVdyYXBwZXIuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL2Fza1F1ZXN0aW9ucy9hc2tRdWVzdGlvbnNGb3JtL19fdGl0bGUuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3NlcnZpY2VzL3NlcnZpY2VzLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9zZXJ2aWNlcy9fX3BhcmFncmFwaC5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZXMvX19maWd1cmUuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3NlcnZpY2VzL19fdGl0bGUuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3NlcnZpY2VzL3NlcnZpY2VzTGlzdC9zZXJ2aWNlc0xpc3Quc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3NlcnZpY2VzL3NlcnZpY2VzTGlzdC9fX3JlZmVyLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9hZHZpY2UvYWR2aWNlLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9zZXJ2aWNlL3NlcnZpY2Uuc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3NlcnZpY2UvX190aXRsZS5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZS9fX3BhcmFncmFwaC5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZS9fX3JlZmVyVG9BbGxTZXJ2aWNlcy5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZS9zZXJ2aWNlVGFicy9zZXJ2aWNlVGFicy5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZS9zZXJ2aWNlVGFicy9zZXJ2aWNlVGFic05hdmlnYXRpb25MaXN0L19faXRlbS5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZS9zZXJ2aWNlVGFicy9zZXJ2aWNlVGFic1RhYmxlSGVhZGVyL19fY2VsbC5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2VydmljZS9zZXJ2aWNlTWFrZU9yZGVyQnV0dG9uL3NlcnZpY2VNYWtlT3JkZXJCdXR0b24uc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL2FkdmljZUludHJvL2FkdmljZUludHJvLnNjc3MiLCIuLi9ibG9ja3MvbWFpbi9hZHZpY2VJbnRyby9fX2ZpZ3VyZS5zY3NzIiwiLi4vYmxvY2tzL21haW4vYWR2aWNlSW50cm8vX19wYXJhZ3JhcGguc2NzcyIsIi4uL2Jsb2Nrcy9tYWluL3NpbmdsZUFkdmljZS9hZHZpY2VBcnRpY2xlL19fdGV4dC5zY3NzIiwiLi4vYmxvY2tzL21haW4vc2luZ2xlQWR2aWNlL2FkdmljZUFydGljbGUvX19yZWZlclRvQWxsQWR2aWNlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7WUFJWTtBQU9aOzs7O1lBSVk7QUNLUjtFQ0RBLHVCRGVtQyxFQWQyQjs7QUVQbEU7RUFDRSxzQkFWaUI7RUFXakIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiwrQ0FBUTtFQUNSLHVNQUdrQyxFQUFBOztBQUVwQztFQUNFLHNCQXBCaUI7RUFxQmpCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsOENBQVE7RUFDUixvTUFHa0MsRUFBQTs7QUFFcEM7RUFDRSxzQkE5QmlCO0VBK0JqQixrQkFBa0I7RUFDbEIsbUJBQW1C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SjtNQUtFLGtCQUFrQixFQVFuQixFQUFBO0V0RG1ERztJc0RoRUo7TUFRRSxZNURtSnNCO000RGxKdEIsZUFBZTtNQUNmLFlBQVk7TUFDWiwwQjVFWFksRTRFYWIsRUFBQTs7QUNiRDtFQUlDLGtCQUFrQixFQVFsQjtFdkRvREc7SXVEaEVKO01BTUUsaUJBQWlCLEVBTWxCLEVBQUE7RXZEb0RHO0l1RGhFSjtNQVNFLFk3RGtKc0I7TTZEakp0QixnQkFBZ0IsRUFFakIsRUFBQTs7QUNaRDtFQUVDLGdCQUFnQixFQUNoQjs7QUNIRDtFQUVDLGtCQUFrQixFQUNsQiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqXHJcblxyXG4gIFRISVJEIFBBUlRZXHJcblxyXG4qKioqKioqKioqKi9cclxuLy8gVW5jb21tZW50LCBpZiB5b3UgbmVlZCBcImZvbnQtYXdlc29tZVwiXHJcbkBpbXBvcnQgXCJicmVha3BvaW50XCI7XHJcbkBpbXBvcnQgXCJzdXN5XCI7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi9ub2RlX21vZHVsZXMvc2VtYW50aWMtdWktc2Fzcy9zZW1hbnRpYy11aS5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi9saWJzL3NlbWFudGljLm1pbi5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCIuLy4uL2xpYnMvYW9zLnNjc3NcIjtcclxuLyoqKioqKioqKipcclxuXHJcbiAgQ1VTVE9NXHJcblxyXG4qKioqKioqKioqKi9cclxuLy8gTWFpbiBmaWxlcy5cclxuQGltcG9ydCBcIi4uL2Jsb2Nrcy9jdXN0b20vY3VzdG9tLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2Jsb2Nrcy9oZWFkZXIvaGVhZGVyLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2Jsb2Nrcy9mb290ZXIvZm9vdGVyLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2Jsb2Nrcy9tYWluL21haW4uc2Nzc1wiO1xyXG5cclxuXHJcblxyXG5cclxuIiwiLy8gU3VzeSBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBHbG9iYWwgQm94IFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBhIGJveCBtb2RlbCBnbG9iYWxseSBvbiBhbGwgZWxlbWVudHMuXG4vLyAtIFskYm94XTogYm9yZGVyLWJveCB8IGNvbnRlbnQtYm94XG4vLyAtIFskaW5oZXJpdF06IHRydWUgfCBmYWxzZVxuQG1peGluIGdsb2JhbC1ib3gtc2l6aW5nKFxuICAkYm94OiBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZyksXG4gICRpbmhlcml0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0OiAkYm94O1xuXG4gIEBpZiAkaW5oZXJpdCB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgIGh0bWwgeyBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTsgfVxuICAgICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHsgYm94LXNpemluZzogaW5oZXJpdDsgfVxuICAgICB9XG4gIH0gQGVsc2Uge1xuICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChnbG9iYWwtYm94LXNpemluZywgJGluc3BlY3QpO1xuICBAaW5jbHVkZSB1cGRhdGUtYm94LW1vZGVsKCRib3gpO1xufVxuXG4vLyBCb3JkZXIgQm94IFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEEgbGVnYWN5IHNob3J0Y3V0Li4uXG4vLyAtIFskaW5oZXJpdF06IHRydWUgfCBmYWxzZVxuQG1peGluIGJvcmRlci1ib3gtc2l6aW5nKFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICBAaW5jbHVkZSBnbG9iYWwtYm94LXNpemluZyhib3JkZXItYm94LCAkaW5oZXJpdCk7XG59XG5cbi8vIFVwZGF0ZSBCb3ggTW9kZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IFVwZGF0ZXMgZ2xvYmFsIGJveCBtb2RlbCBzZXR0aW5nXG5AbWl4aW4gdXBkYXRlLWJveC1tb2RlbChcbiAgJGJveFxuKSB7XG4gIEBpZiAkYm94ICE9IHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSB7XG4gIEBpbmNsdWRlIHN1c3ktc2V0KGdsb2JhbC1ib3gtc2l6aW5nLCAkYm94KTtcbiAgfVxufVxuIiwiLy8gcmVtIFN1cHBvcnRcbi8vID09PT09PT09PT09XG5cbi8vIHJlbVxuLy8gLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3Igb3V0cHV0IGRpcmVjdGx5LlxuLy8gLSAkcHJvcCAgOiA8Y3NzIHByb3BlcnR5PlxuLy8gLSAkdmFsICAgOiA8Y3NzIHZhbHVlPlxuQG1peGluIHN1c3ktcmVtKFxuICAkcHJvcCxcbiAgJHZhbFxuKSB7XG4gICRfcmVxczogKFxuICAgIHZhcmlhYmxlOiByaHl0aG0tdW5pdCByZW0td2l0aC1weC1mYWxsYmFjayxcbiAgICBtaXhpbjogcmVtLFxuICApO1xuICBAaWYgc3VzeS1zdXBwb3J0KHJlbSwgJF9yZXFzLCAkd2FybjogZmFsc2UpIGFuZCAkcmh5dGhtLXVuaXQgPT0gcmVtIHtcbiAgICBAaW5jbHVkZSByZW0oJHByb3AsICR2YWwpO1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wfTogJHZhbDtcbiAgfVxufVxuIiwiLy8gRm9udHNcclxuJG1haW5Gb250OiAnUm9ib3RvJywgc2VyaWY7XHJcblxyXG4vLyAkYWRkaXRpb25hbEZvbnQ6ICcnLCBjdXJzaXZlO1xyXG4kbmFtZUZvbnQ6ICdSb2JvdG8nO1xyXG4kbm9ybWFsRm9udDogJy4uL2ZvbnRzL1JvYm90by9yb2JvdG8tcmVndWxhcic7XHJcbiRpdGFsaWNGb250OiAnLi4vZm9udHMvUm9ib3RvL3JvYm90by1pdGFsaWMnO1xyXG4kYm9sZEZvbnQ6ICcuLi9mb250cy9Sb2JvdG8vcm9ib3RvLWJvbGQnO1xyXG4kYm9sZEl0YWxpY0ZvbnQ6ICcuLi9mb250cy9Sb2JvdG8vcm9ib3RvLWJvbGRpdGFsaWMnO1xyXG4kbGlnaHRGb250OiAnLi4vZm9udHMvUm9ib3RvL3JvYm90by10aGluJztcclxuJGxpZ2h0SXRhbGljRm9udDogJy4uL2ZvbnRzL1JvYm90by9yb2JvdG8tdGhpbml0YWxpYyc7XHJcblxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRuYW1lRm9udDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBzcmM6IHVybCgnI3skbm9ybWFsRm9udH0uZW90Jyk7XHJcbiAgc3JjOiBsb2NhbCgnI3skbmFtZUZvbnR9JyksXHJcbiAgICB1cmwoJyN7JG5vcm1hbEZvbnR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCgnI3skbm9ybWFsRm9udH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKCcjeyRub3JtYWxGb250fS5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAkbmFtZUZvbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgc3JjOiB1cmwoJyN7JGl0YWxpY0ZvbnR9LmVvdCcpO1xyXG4gIHNyYzogbG9jYWwoJyN7JG5hbWVGb250fScpLCBcclxuICAgIHVybCgnI3skaXRhbGljRm9udH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKCcjeyRpdGFsaWNGb250fS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoJyN7JGl0YWxpY0ZvbnR9LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRuYW1lRm9udDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgc3JjOiB1cmwoJyN7JGJvbGRGb250fS5lb3QnKTtcclxuICBzcmM6IGxvY2FsKCcjeyRuYW1lRm9udH0nKSxcclxuICAgIHVybCgnI3skYm9sZEZvbnR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCgnI3skYm9sZEZvbnR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCgnI3skYm9sZEZvbnR9LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRuYW1lRm9udDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgc3JjOiB1cmwoJyN7JGJvbGRJdGFsaWNGb250fS5lb3QnKTtcclxuICBzcmM6IGxvY2FsKCcjeyRuYW1lRm9udH0nKSxcclxuICAgIHVybCgnI3skYm9sZEl0YWxpY0ZvbnR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCgnI3skYm9sZEl0YWxpY0ZvbnR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCgnI3skYm9sZEl0YWxpY0ZvbnR9LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRuYW1lRm9udDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgc3JjOiB1cmwoJyN7JGxpZ2h0Rm9udH0uZW90Jyk7XHJcbiAgc3JjOiBsb2NhbCgnI3skbmFtZUZvbnR9JyksXHJcbiAgICB1cmwoJyN7JGxpZ2h0Rm9udH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKCcjeyRsaWdodEZvbnR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCgnI3skbGlnaHRGb250fS5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJG5hbWVGb250O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIHNyYzogdXJsKCcjeyRsaWdodEl0YWxpY0ZvbnR9LmVvdCcpO1xyXG4gIHNyYzogbG9jYWwoJyN7JG5hbWVGb250fScpLCBcclxuICAgIHVybCgnI3skbGlnaHRJdGFsaWNGb250fS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoJyN7JGxpZ2h0SXRhbGljRm9udH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKCcjeyRsaWdodEl0YWxpY0ZvbnR9LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ29jdGljb25zJztcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBzcmM6IHVybCgnb2N0aWNvbnMuZW90Jyk7XHJcbiAgc3JjOiBsb2NhbCgnLi4vZm9udHMvb2N0aWNvbnMtbG9jYWwudHRmJyksXHJcbiAgICB1cmwoJy4uL2ZvbnRzL29jdGljb25zLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCgnLi4vZm9udHMvb2N0aWNvbnMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKCcuLi9mb250cy9vY3RpY29ucy5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vJHNlY29uZE5hbWVGb250OiAnaW5nbG9iYWwnO1xyXG4vLyRzZWNvbmROb3JtYWxGb250OiAnLi4vZm9udHMvaW5nbG9iYWwvaW5nbG9iYWwnO1xyXG4vLyRzZWNvbmRJdGFsaWNGb250OiAnLi4vZm9udHMvaW5nbG9iYWwvaW5nbG9iYWxpJztcclxuLy8kc2Vjb25kQm9sZEZvbnQ6ICcuLi9mb250cy9pbmdsb2JhbC9pbmdsb2JhbGInO1xyXG4vLyRzZWNvbmRCb2xkSXRhbGljRm9udDogJy4uL2ZvbnRzL2luZ2xvYmFsL2luZ2xvYmFsYmknO1xyXG4vL0Bmb250LWZhY2Uge1xyXG4vLyAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kTmFtZUZvbnQ7XHJcbi8vICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyAgIHNyYzogdXJsKCcjeyRzZWNvbmRCb2xkRm9udH0uZW90Jyk7XHJcbi8vICAgc3JjOiBsb2NhbCgnI3skc2Vjb25kTmFtZUZvbnR9JyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEJvbGRGb250fS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEJvbGRGb250fS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEJvbGRGb250fS5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG4vLyB9XHJcbi8vIEBmb250LWZhY2Uge1xyXG4vLyAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kTmFtZUZvbnQ7XHJcbi8vICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbi8vICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4vLyAgIHNyYzogdXJsKCcjeyRzZWNvbmRCb2xkSXRhbGljRm9udH0uZW90Jyk7XHJcbi8vICAgc3JjOiBsb2NhbCgnI3skc2Vjb25kTmFtZUZvbnR9JyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEJvbGRJdGFsaWNGb250fS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEJvbGRJdGFsaWNGb250fS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEJvbGRJdGFsaWNGb250fS5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xyXG4vLyB9XHJcbi8vIEBmb250LWZhY2Uge1xyXG4vLyAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kTmFtZUZvbnQ7XHJcbi8vICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuLy8gICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbi8vICAgc3JjOiB1cmwoJyN7JHNlY29uSXRhbGljRm9udH0uZW90Jyk7XHJcbi8vICAgc3JjOiBsb2NhbCgnI3skc2Vjb25kTmFtZUZvbnR9JyksIFxyXG4vLyAgICAgdXJsKCcjeyRzZWNvbmRJdGFsaWNGb250fS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZEl0YWxpY0ZvbnR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuLy8gICAgIHVybCgnI3skc2Vjb25kSXRhbGljRm9udH0uc3ZnJykgZm9ybWF0KCdzdmcnKTtcclxuLy8gfVxyXG4vLyBAZm9udC1mYWNlIHtcclxuLy8gICBmb250LWZhbWlseTogJHNlY29uZE5hbWVGb250O1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyAgIHNyYzogdXJsKCcjeyRzZWNvbmROb3JtYWxGb250fS5lb3QnKTtcclxuLy8gICBzcmM6IGxvY2FsKCcjeyRzZWNvbmROYW1lRm9udH0nKSxcclxuLy8gICAgIHVybCgnI3skc2Vjb25kTm9ybWFsRm9udH0ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4vLyAgICAgdXJsKCcjeyRzZWNvbmROb3JtYWxGb250fS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbi8vICAgICB1cmwoJyN7JHNlY29uZE5vcm1hbEZvbnR9LnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcbi8vIH0gXHJcbi8vIFVuY29tbWVudCwgaWYgeW91IG5lZWQgdG8gdXNlIGZvbnQtYXdzb21lLlxyXG4vLyBAZm9udC1mYWNlIHtcclxuLy8gICBmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyAgIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdCcpO1xyXG4vLyAgIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnJykgZm9ybWF0KCdzdmcnKTtcclxuLy8gfVxyXG5cclxuIiwiQGtleWZyYW1lcyB3b2JibGUge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuXHJcbiAgMTUlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gIH1cclxuXHJcbiAgMzAlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICB9XHJcblxyXG4gIDQ1JSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XHJcbiAgfVxyXG5cclxuICA3NSUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn0iLCIlcm91bmQge1xyXG4gICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbkBtaXhpbiByb3VuZCgpIHtcclxuICBAZXh0ZW5kICVyb3VuZDtcclxufVxyXG5AbWl4aW4geHMtY2VudGVyLXRleHQoKSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IHNwYW4oMTIpO1xyXG4gIH0gXHJcbn1cclxuXHJcbkBtaXhpbiBtdWx0eS1iYWNrZ3JvdW5kKCR1cmwsICRjb2xvciwgJHBhZGRpbmctYm90dG9tLCAkbWF4LWhlaWdodCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHVybH1cIik7XHJcbiAgXHJcbiAgbWF4LWhlaWdodDogI3skbWF4LWhlaWdodH07XHJcbiAgcGFkZGluZy1ib3R0b206ICN7JHBhZGRpbmctYm90dG9tfTtcclxuICAmOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XHJcbiAgfVxyXG59XHJcbiVjZW50ZXItYmxvY2sge1xyXG4gICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuQG1peGluIGNlbnRlci1ibG9jayB7XHJcbiAgQGV4dGVuZCAlY2VudGVyLWJsb2NrO1xyXG59XHJcblxyXG4lcmVzcG9uc2l2ZUJhY2tncm91bmQge1xyXG4gIGJhY2tncm91bmQ6IGNlbnRlciB0b3Agbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgXHJcbn1cclxuQG1peGluIHJlc3BvbnNpdmUtYmFja2dyb3VuZCgkcGFkZGluZy1ib3R0b206IGZhbHNlLCAkdXJsOiBmYWxzZSwgJGF0dGFjaG1lbnQ6IGZhbHNlKSB7XHJcbiAgQGV4dGVuZCAlcmVzcG9uc2l2ZUJhY2tncm91bmQ7XHJcblxyXG4gIEBpZiAkYXR0YWNobWVudCB7XHJcblx0YmFja2dyb3VuZC1hdHRhY2htZW50OiAkYXR0YWNobWVudDtcclxuICB9XHJcbiAgQGlmICRwYWRkaW5nLWJvdHRvbSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogI3skcGFkZGluZy1ib3R0b219O1xyXG4gIH1cclxuICBAaWYgJHVybCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JHVybH0nKTtcclxuICB9XHJcbn1cclxuXHJcbiVjb2xvcnNUcmFuc2l0aW9uIHtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XHJcbn1cclxuQG1peGluIHNtb290aC10cmFuc2l0aW9uLWxpbmsge1xyXG4gIEBleHRlbmQgJWNvbG9yc1RyYW5zaXRpb247XHJcbn1cclxuXHJcbiVjb2xvcnNUcmFuc2l0aW9ucy0tcHJvcHNfY29sb3ItYmFja2dyb3VuZC10cmFuc2Zvcm0tc2hhZG93IHtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIHRyYW5zZm9ybSAwLjFzLCBib3gtc2hhZG93LCAwLjVzICRpO1xyXG59XHJcbkBtaXhpbiBzbW9vdGgtdHJhbnNpdGlvbi1idXR0b24oJGZvbnQtY29sb3I6IGZhbHNlLCAkYmFja2dyb3VuZC1jb2xvcjogZmFsc2UpIHtcclxuICBAZXh0ZW5kICVjb2xvcnNUcmFuc2l0aW9ucy0tcHJvcHNfY29sb3ItYmFja2dyb3VuZC10cmFuc2Zvcm0tc2hhZG93O1xyXG4gICY6aG92ZXIge1xyXG4gICAgQGlmICRmb250LWNvbG9yIHtcclxuICAgICAgY29sb3I6ICN7JGZvbnQtY29sb3J9O1xyXG4gICAgfVxyXG4gICAgQGlmICRiYWNrZ3JvdW5kLWNvbG9yIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skYmFja2dyb3VuZC1jb2xvcn07XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZsZXhhYmxlKCRmbGV4LCAkZGlyX3dyYXAsICRjb250ZW50LCAkYWxpZ24pIHtcclxuICBkaXNwbGF5OiAjeyRmbGV4fTtcclxuICBmbGV4LWZsb3c6ICN7JGRpcl93cmFwfTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICN7JGNvbnRlbnR9O1xyXG4gIGFsaWduLWl0ZW1zOiAjeyRhbGlnbn07XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLWNvbG9ycyhcclxuICAkY29sb3I6ICRiYXNlTGlua0NvbG9yLFxyXG4gICRob3Zlci1jb2xvcjogJGJhc2VIb3ZlckxpbmtDb2xvcixcclxuICAkYWN0aXZlLWNvbG9yOiAkYmFzZUFjdGl2ZUxpbmtDb2xvcixcclxuICAkdmlzaXRlZC1jb2xvcjogJGJhc2VWaXNpdGVkTGlua0NvbG9yLFxyXG4gICRmb2N1cy1jb2xvcjogJGJhc2VGb2N1c0xpbmtDb2xvcixcclxuICAkb25lLWNvbG9yOiBmYWxzZVxyXG4pIHtcclxuXHJcbiAgQGlmICgkb25lLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICRvbmUtY29sb3I7XHJcbiAgICAkaG92ZXItY29sb3I6ICRvbmUtY29sb3I7XHJcbiAgICAkYWN0aXZlLWNvbG9yOiAkb25lLWNvbG9yO1xyXG4gICAgJHZpc2l0ZWQtY29sb3I6ICRvbmUtY29sb3I7XHJcbiAgICAkZm9jdXMtY29sb3I6ICRvbmUtY29sb3I7XHJcbiAgfVxyXG5cclxuICBjb2xvcjogI3skY29sb3J9O1xyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07IFxyXG4gIH1cclxuICAmOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICN7JHZpc2l0ZWQtY29sb3J9OyAgXHJcbiAgfVxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICN7JGZvY3VzLWNvbG9yfTsgXHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gYmFzZS1wZXJzcGVjdGl2ZS1yb29mKCRiZzogZmFsc2UpIHtcclxuICBAZXh0ZW5kICViYXNlUGVyc3BlY3RpdmVSb29mO1xyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpZiAkYmcge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7ICBcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTsgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2RsZXItY29sb3IoJGNvbG9yKSB7XHJcblxyXG4gIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIDo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICA6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICA6cGxhY2Vob2xkZXItc2hvd24ge1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcblxyXG5cclxufVxyXG5AbWl4aW4gcGxhY2Vob2RsZXItY29sb3ItZm9jdXMoJGNvbG9yKSB7XHJcbiAgJjpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gICY6Zm9jdXM6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gIDpwbGFjZWhvbGRlci1zaG93biB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59IiwiJGk6ICFpbXBvcnRhbnQ7XHJcbkBpbXBvcnQgJ2NvbmZpZy9ncmlkLnNjc3MnO1xyXG5AaW1wb3J0ICdjb25maWcvZm9udHMuc2Nzcyc7XHJcbkBpbXBvcnQgJ2NvbmZpZy9jb2xvcnMuc2Nzcyc7XHJcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cy5zY3NzJztcclxuQGltcG9ydCAnY29uZmlnL3NpemVzLnNjc3MnO1xyXG5AaW1wb3J0ICdjb25maWcvYW5pbWF0aW9uLnNjc3MnO1xyXG5AaW1wb3J0ICdjb25maWcvZmxleC5zY3NzJztcclxuQGltcG9ydCAnY29uZmlnL21peGlucy5zY3NzJztcclxuXHJcblxyXG5cclxuLy8gQ3VzdG9tIHN0eWxlc1xyXG5odG1sLCBib2R5IHtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbmJvZHkge1xyXG4gIHotaW5kZXg6IDA7XHJcbiAgJiAqIHtcclxuICAgIC8vIFN0eWxlcyBmb3IgdGVzdGluZyBcclxuICAgIC8vIGJhY2tncm91bmQ6ICMwMDAgIWltcG9ydGFudDtcclxuICAgIC8vIGNvbG9yOiAjMGYwICFpbXBvcnRhbnQ7XHJcbiAgICAvLyBvdXRsaW5lOiBzb2xpZCAjZjAwIDFweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGV4dGVuZCAlcmVsYXRpdmU7XHJcbiAgZm9udDoge1xyXG4gICAgZmFtaWx5OiAkbWFpbkZvbnQ7XHJcbiAgICBzaXplOiAjeyRiYXNlU2l6ZUZvbnR9cHg7XHJcbiAgfVxyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgZm9udC1rZXJuaW5nOiBub3JtYWw7XHJcbiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogY29tbW9uLWxpZ2F0dXJlcyBjb250ZXh0dWFsO1xyXG4gIGZvbnQtZmVhdXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpbmdcIiwgXCJjbGlnXCIsIFwiY2FsdFwiO1xyXG4gIGxpbmUtaGVpZ2h0OiAxNDUlO1xyXG4gIGZvbnQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICBoeXBoZW5zOiBhdXRvO1xyXG4gIC13ZWJraXQtaHlwaGVuYXRlLWJlZm9yZTogMjtcclxuICAtd2Via2l0LWh5cGhlbmF0ZS1hZnRlcjogMztcclxuICBoeXBoZW5hdGUtbGluZXM6IDM7XHJcbiAgY29sb3I6ICRiYXNlQ29sb3JGb250O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7XHJcbn1cclxuXHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9pbmRleGVzLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvbWFyZ2lucy5zY3NzJztcclxuQGltcG9ydCAnc2hvcnRfaGFuZF9jbGFzc2VzL3Zpc2libGUuc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9hbGlnbmVkLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvbGlua3Muc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9idXR0b25zLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvZmxvYXQuc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9wYWRkaW5ncy5zY3NzJztcclxuQGltcG9ydCAnc2hvcnRfaGFuZF9jbGFzc2VzL2Zvcm0uc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9zaGFkb3dzLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvcGVyc3BlY3RpdmUuc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9kaXNwbGF5LnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvcG9zaXRpb24uc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9pbWFnZS5zY3NzJztcclxuQGltcG9ydCAnc2hvcnRfaGFuZF9jbGFzc2VzL3NpemVzLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvcHJvcG9ydGlvbi5zY3NzJztcclxuQGltcG9ydCAnc2hvcnRfaGFuZF9jbGFzc2VzL2N1cnNvcmVzLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvYmFja2dyb3VuZHMuc2Nzcyc7XHJcbkBpbXBvcnQgJ3Nob3J0X2hhbmRfY2xhc3Nlcy9ib3JkZXJzLnNjc3MnO1xyXG5AaW1wb3J0ICdzaG9ydF9oYW5kX2NsYXNzZXMvb2Zmc2V0cy5zY3NzJztcclxuQGltcG9ydCAnc2hvcnRfaGFuZF9jbGFzc2VzL292ZXJmbG93LnNjc3MnO1xyXG5cclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogJGZpcnN0U2l6ZUhlYWRpbmc7XHJcbn1cclxuaDIge1xyXG4gIGZvbnQtc2l6ZTogJHNlY29uZFNpemVIZWFkaW5nO1xyXG59XHJcbnVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5pbWcge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAkaTtcclxufVxyXG5cclxudGgsIHRkIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG50aCB7XHJcbiAgQGV4dGVuZCAldGV4dC1sZWZ0O1xyXG59XHJcblxyXG5wIHtcclxuIEBleHRlbmQgJWRlZmF1bHRUb3BNYXJnaW47XHJcbiBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gQGV4dGVuZCAlZnMtMTg7XHJcbiBAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG4gICAgd2lkdGg6IHNwYW4oMTIpO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIH1cclxufVxyXG5zZWN0aW9uIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG4gICAgcGFkZGluZzogMTAlIDUlO1xyXG4gIH1cclxufVxyXG5cclxub2wge1xyXG4gIEBleHRlbmQgJWRlZmF1bHRUb3BNYXJnaW47XHJcbiAgcGFkZGluZy1sZWZ0OiAjeyRiYXNlU2l6ZUZvbnR9cHg7XHJcbn1cclxuYSB7XHJcbiAgXHJcbiAgQGluY2x1ZGUgc21vb3RoLXRyYW5zaXRpb24tbGluaztcclxuICBAaW5jbHVkZSBsaW5rLWNvbG9ycztcclxuICAvLyDQkdC10Lcg0L/QsNGA0LDQvNC10YLRgNC+0LIgLSDQsdCw0LfQvtCy0YvQtSDRhtCy0LXRgtCwINGB0YHRi9C70L7QuiDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cclxuICAmOmhvdmVyLCAmOnZpc2l0ZWQsICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZUhvdmVyTGlua0JhY2tncm91bmRDb2xvcjtcclxuICB9XHJcbn1cclxuQGluY2x1ZGUgcGxhY2Vob2RsZXItY29sb3IoJGdyYXkpO1xyXG5cclxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcclxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciwgXHJcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXNcclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlclxyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxyXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCxcclxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXHJcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0dyYXkgJGk7XHJcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRkYXJrR3JheSAkaTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBcclxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgQGV4dGVuZCAlYmxvY2s7XHJcbiAgQGV4dGVuZCAlcG9pbnRJdDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1udW1iZXJdOmhvdmVyOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBcclxuaW5wdXRbdHlwZT1udW1iZXJdOmhvdmVyOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbn1cclxuIiwiJGxpZ2h0R3JheTogI2VjZWNlYztcclxuJGRhcmtlbkxpZ2h0R3JheTogI2UwZTBlMDtcclxuJGRhcmtHcmF5OiAgIzJlMmUyZTtcclxuJHdoaXRlOiAjZmVmZWZmO1xyXG4kYmxhY2s6ICMwODA4MDg7XHJcbiRncmF5OiAjOWM5YzljO1xyXG5cclxuJHNoYWRvdzogcmdiYSgwLCAwLCAwLCAuOCk7XHJcblxyXG4vLyAwNThkNzFcclxuJGRhcmtSZWQ6ICM2YzQwNDA7XHJcbiRncmVlbjogIzE3NTIxZjtcclxuJGRhcmtHcmVlbjogIzBmNTExOTtcclxuJHB1cnBsZTogIzlkMmViNTtcclxuJGRhcmtQdXJwbGU6ICM1YTFhNjg7XHJcbiRza3lCbHVlOiAjN2JlOWVhO1xyXG4keWVsbG93OiAjZDhjOTE2O1xyXG5cclxuXHJcbi8vIExpbmtzIFxyXG4kYmFzZUNvbG9yRm9udDogJGxpZ2h0R3JheTtcclxuJGJhc2VMaW5rQ29sb3I6ICRza3lCbHVlICRpO1xyXG4kYmFzZUhvdmVyTGlua0NvbG9yOiAkZ3JheTtcclxuJGJhc2VIb3ZlckxpbmtCYWNrZ3JvdW5kQ29sb3I6IHRyYW5zcGFyZW50O1xyXG4kYmFzZVZpc2l0ZWRMaW5rQ29sb3I6ICRza3lCbHVlO1xyXG4kYmFzZUFjdGl2ZUxpbmtDb2xvcjogJHNreUJsdWU7XHJcbiRiYXNlRm9jdXNMaW5rQ29sb3I6ICRza3lCbHVlO1xyXG5cclxuXHJcbi8vIEJhc2UgQm9keSBCYWNrZ3JvdW5kXHJcbiRib2R5Q29sb3JCZzogJGxpZ2h0R3JheTtcclxuIiwiJWJpZ0luZGV4IHtcclxuXHR6LWluZGV4OiA5OTk5O1xyXG59XHJcblxyXG4laW5kZXg0IHtcclxuXHR6LWluZGV4OiA0O1xyXG59XHJcblxyXG4laW5kZXgzIHtcclxuXHR6LWluZGV4OiAzO1xyXG59XHJcblxyXG4laW5kZXgyIHtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcblxyXG4laW5kZXgxIHtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4lemVyb0luZGV4IHtcclxuXHR6LWluZGV4OiAwO1xyXG59XHJcblxyXG4lbmVnYXRpdmVJbmRleCB7XHJcblx0ei1pbmRleDogLTE7XHJcbn1cclxuXHJcbiVsb3dlc3RJbmRleCB7XHJcblx0ei1pbmRleDogLTk5OTk7XHJcbn0iLCIlbGFyZ2VSaWdodE1hcmdpbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiAxZW07XHJcbn1cclxuJWV4dHJhTGFyZ2VSaWdodE1hcmdpbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiAyZW07XHJcbn1cclxuJWRlZmF1bHRSaWdodE1hcmdpbiB7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjVlbTtcclxufVxyXG5cclxuJXJlZnVzZWRUb3BNYXJnaW4ge1xyXG5cdG1hcmdpbi10b3A6IDAuNWVtO1xyXG59XHJcbiVkZWZhdWx0VG9wTWFyZ2luIHtcclxuXHRtYXJnaW4tdG9wOiAxZW07XHJcbn1cclxuXHJcbiVpbmNyZWFzZWRUb3BNYXJnaW4ge1xyXG5cdG1hcmdpbi10b3A6IDEuNWVtO1xyXG59XHJcblxyXG4lemVyb01hcmdpbnMge1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuJWxhcmdlVG9wTWFyZ2luIHtcclxuXHRtYXJnaW4tdG9wOiAyZW07XHJcbn1cclxuJWJpZ1RvcE1hcmdpbiB7XHJcblx0bWFyZ2luLXRvcDogMi41ZW07XHJcbn1cclxuXHJcbiVleHRyYUJpZ1RvcE1hcmdpbiB7XHJcblx0bWFyZ2luLXRvcDogM2VtO1xyXG59XHJcblxyXG4lbGVmdE1hcmdpbjI3IHtcclxuXHRtYXJnaW4tbGVmdDogMjclO1xyXG59XHJcblxyXG4lbGFyZ2VCb3R0b21NYXJnaW4ge1xyXG5cdG1hcmdpbi1ib3R0b206IDJlbTtcclxufSIsIiV0ZXh0LWNlbnRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiV0ZXh0LXJpZ2h0IHtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuJXRleHQtbGVmdCB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuJXZlcnRpY2FsLWJvdHRvbSB7XHJcblx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxufVxyXG5cclxuJXZlcnRpY2FsLW1pZGRsZSB7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufSIsIiVlbGVtZW50QnV0dG9uQ29udGFpbmVyIHtcclxuXHQgd2lkdGg6IDExNXB4O1xyXG5cdCBoZWlnaHQ6IDExNXB4O1xyXG5cdCBAZXh0ZW5kICVpbmxpbmUtYmxvY2s7XHJcbiAgIEBleHRlbmQgJW5vbmVCYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4lZWxlbWVudEJ1dHRvbiB7XHJcbiAgQGV4dGVuZCAlZnVsbFdpZHRoO1xyXG4gIEBleHRlbmQgJWZ1bGxIZWlnaHQ7XHJcbiAgQGV4dGVuZCAldGV4dC1yaWdodDtcclxuICBkaXNwbGF5OiBibG9jayAkaTtcclxuICBAZXh0ZW5kICVzb2xpZEJvcmRlcjtcclxuICBAZXh0ZW5kICVyb3VuZEJvcmRlcjQ7XHJcbiAgQGV4dGVuZCAlZ3JlZW5CZztcclxuICBAZXh0ZW5kICV3aWR0aEJvcmRlcjQ7XHJcbiAgQGV4dGVuZCAlc3ByZWFkU2hhZG93O1xyXG4gIGJvcmRlci1jb2xvcjogJGJsYWNrO1xyXG4gIGNvbG9yOiAkbGlnaHRHcmF5ICRpO1xyXG4gIHBhZGRpbmc6IDZweCAxMHB4IDAgNnB4O1xyXG4gIEBpbmNsdWRlIHNtb290aC10cmFuc2l0aW9uLWJ1dHRvbigkYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZ3JlZW4sIDUlKSk7XHJcbn1cclxuXHJcbiVlbGVtZW50QnV0dG9uX19uYW1lIHtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIHdvcmQtYnJlYWs6IGluaXRpYWw7XHJcbiAgaHlwaGVuczogbm9uZTtcclxuICBAZXh0ZW5kICVmcy0xODtcclxuXHJcbn1cclxuXHJcbiVlbGVtZW50QnV0dG9uX19pY29uIHtcclxuXHRAZXh0ZW5kICVmbG9hdExlZnQ7XHJcbn1cclxuXHJcbiVlbGVtZW50QnV0dG9uX19udW1iZXIge1xyXG5cdEBleHRlbmQgJWZsb2F0UmlnaHQ7XHJcbn1cclxuIiwiJWZsb2F0TGVmdCB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbiVmbG9hdFJpZ2h0IHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbiVjbGVhcmZpeCB7XHJcblx0QGluY2x1ZGUgc3VzeS1jbGVhcmZpeDtcclxufSIsIi8vIFN1c3kgRmFsbGJhY2sgQ2xlYXJmaXhcbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuQG1peGluIHN1c3ktY2xlYXJmaXgge1xuICBAaWYgc3VzeS1zdXBwb3J0KGNsZWFyZml4LCAobWl4aW46IGNsZWFyZml4KSkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9IEBlbHNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbn1cbiIsIiVvbmVQZXJjZW50U2lkZVBhZGRpbmdzIHtcclxuXHRwYWRkaW5nLWxlZnQ6IDElO1xyXG4gIFx0cGFkZGluZy1yaWdodDogMSU7XHJcbn1cclxuJXJlZnVzZWRUb3BQYWRkaW5nIHtcclxuXHRwYWRkaW5nLXRvcDogMC41ZW07XHJcbn1cclxuJWRlZmF1bHRUb3BQYWRkaW5nIHtcclxuXHRwYWRkaW5nLXRvcDogMWVtO1xyXG59XHJcblxyXG4lZGVmYXVsdEJvdHRvbVBhZGRpbmcge1xyXG5cdHBhZGRpbmctYm90dG9tOiAxZW07XHJcbn1cclxuXHJcbiVleHRyYVNtYWxsdEJvdHRvbVBhZGRpbmcge1xyXG5cdHBhZGRpbmctYm90dG9tOiAwLjNlbTtcclxufVxyXG5cclxuJWRlZmF1bHRUb3BCb3R0b21QYWRkaW5ncyB7XHJcblx0cGFkZGluZy10b3A6IDY1cHg7XHJcblx0cGFkZGluZy1ib3R0b206IDc1cHg7XHJcbn0gIiwiJWZvcm1JbnB1dCB7XHJcblx0QGV4dGVuZCAlZnVsbFdpZHRoO1xyXG5cdEBleHRlbmQgJWZzLTE2O1xyXG5cdGhlaWdodDogNDVweCAkaTtcclxuXHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0bWF4LXdpZHRoOiAzNDVweDtcclxuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cyAkaTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0QGV4dGVuZCAlaW5uZXJTaGFkb3c7XHJcblx0QGluY2x1ZGUgcGxhY2Vob2RsZXItY29sb3ItZm9jdXMoJGdyYXkpO1xyXG5cdCY6Zm9jdXMge1xyXG5cdFx0Y29sb3I6ICRsaWdodEdyYXk7XHJcblx0XHRAZXh0ZW5kICVidXR0b25TaGFkb3c7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VuTGlnaHRHcmF5O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbiVmb3JtSW5wdXREYXJrIHtcclxuXHRAZXh0ZW5kICVmb3JtSW5wdXQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtHcmF5ICRpO1xyXG5cdGNvbG9yOiAkbGlnaHRHcmF5ICRpO1xyXG5cdFxyXG59XHJcblxyXG4lZm9ybUlucHV0TGlnaHQge1xyXG5cdEBleHRlbmQgJWZvcm1JbnB1dDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRHcmF5ICRpO1xyXG5cdGNvbG9yOiAkZGFya0dyYXkgJGk7XHJcbn1cclxuXHJcbiVmb3JtVGV4dGFyZWEge1xyXG5cdG1pbi1oZWlnaHQ6IDExNXB4O1xyXG5cdEBleHRlbmQgJXJlZnVzZWRUb3BQYWRkaW5nO1xyXG59XHJcblxyXG4lZm9ybVRleHRhcmVhRGFyayB7XHJcblx0QGV4dGVuZCAlZm9ybUlucHV0RGFyaztcclxuXHRAZXh0ZW5kICVmb3JtVGV4dGFyZWE7XHJcbn1cclxuXHJcbiVmb3JtVGV4dGFyZWFMaWdodCB7XHJcblx0QGV4dGVuZCAlZm9ybUlucHV0TGlnaHQ7XHJcblx0QGV4dGVuZCAlZm9ybVRleHRhcmVhO1xyXG59XHJcblxyXG4lZm9ybUVycm9yIHtcclxuXHRjb2xvcjogJHNreUJsdWU7XHJcblx0QGV4dGVuZCAlZnMtMTQ7XHJcbn1cclxuXHJcbiVjb250cm9sbGVyIHtcclxuXHRAZXh0ZW5kICVsYXJnZVRvcE1hcmdpbjtcclxufSIsIiVidXR0b25TaGFkb3cge1xyXG5cdGJveC1zaGFkb3c6IDAgNXB4IDEwcHggJHNoYWRvdyAkaTtcclxufVxyXG4lYmVuZWF0aFNoYWRvdyB7XHJcblx0Ym94LXNoYWRvdzogMCAxMHB4IDE1cHggJHNoYWRvdztcclxufVxyXG4laW1wb3J0YW50YmVuZWF0aFNoYWRvdyB7XHJcblx0Ym94LXNoYWRvdzogMCAxMHB4IDE1cHggJHNoYWRvdyAkaTtcclxufVxyXG5cclxuJXNwcmVhZFNoYWRvdyB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMTVweCAkc2hhZG93O1x0XHJcbn1cclxuXHJcbiVpbm5lclNoYWRvdyB7XHJcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDE1cHggJHNoYWRvdyAkaTtcclxufVxyXG4iLCIlYmxvY2sge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbiVpbmxpbmUtYmxvY2sge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuJWZsZXgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiVqdXN0aWZ5Q2VudGVyIHtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuJWp1c3RpZnlCZXR3ZWVuIHtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbiVqdXN0aWZ5QXJyb3VuZCB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcnJvdW5kO1xyXG59XHJcblxyXG4lYWxpZ25DZW50ZXIge1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbiVhbGlnblN0YXJ0IHtcclxuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuJWFsaWduRW5kIHtcclxuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbiVkZWZhdWx0Um93RmxvdyB7XHJcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcclxufVxyXG4lZGVmYXVsdENvbHVtbkZsb3cge1xyXG5cdGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XHJcbn1cclxuXHJcbiVjb2x1bW5EaXJlY3Rpb24geyBcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4lcm93RGlyZWN0aW9uIHsgXHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuJWZsZXhOb1dyYXAgeyBcclxuXHRmbGV4LXdyYXA6IG5vd3JhcDtcclxufVxyXG5cclxuJWZsZXhXcmFwIHsgXHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59IiwiJXJlbGF0aXZlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiVhYnNvbHV0ZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbiVhYnNvbHV0ZUltcG9ydGFudCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlICRpO1xyXG59XHJcbiVmaXhlZCB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG59XHJcblxyXG4lc3RhdGljIHtcclxuXHRwb3NpdGlvbjogc3RhdGljO1xyXG59IiwiJWZzLTE4IHtcclxuXHRmb250LXNpemU6ICRzdWJIZWFkaW5ncztcclxufVxyXG4lZnMtMjEge1xyXG5cdGZvbnQtc2l6ZTogJGZpcnN0U2l6ZUhlYWRpbmc7XHJcbn1cclxuJWZzLTI0IHtcclxuXHRmb250LXNpemU6ICRzZWNvbmRTaXplSGVhZGluZztcclxufVxyXG4lZnMtMjYge1xyXG5cdGZvbnQtc2l6ZTogKDI2ZW0gLyAxNik7XHJcbn1cclxuJWZzLTI4IHtcclxuXHRmb250LXNpemU6ICR0aGlyZFNpemVIZWFkaW5nO1xyXG59XHJcbiVmcy0xNiB7XHJcblx0Zm9udC1zaXplOiAoMTZlbSAvICRiYXNlU2l6ZUZvbnQpO1x0XHJcbn1cclxuJWZzLTE0IHtcclxuXHRmb250LXNpemU6ICgxNGVtIC8gJGJhc2VTaXplRm9udCk7XHRcclxufVxyXG4lZnMtMTMge1xyXG5cdGZvbnQtc2l6ZTogKDEzZW0gLyAkYmFzZVNpemVGb250KTtcdFxyXG59IiwiJGJhc2VTaXplRm9udDogMTY7XHJcbiRmaXJzdFNpemVIZWFkaW5nOiAoMjFlbSAvICRiYXNlU2l6ZUZvbnQpO1xyXG4kc2Vjb25kU2l6ZUhlYWRpbmc6ICgxOGVtIC8gJGJhc2VTaXplRm9udCk7XHJcbiR0aGlyZFNpemVIZWFkaW5nOiAoMzZlbSAvICRiYXNlU2l6ZUZvbnQpO1xyXG4kc3ViSGVhZGluZ3M6ICgxOGVtIC8gJGJhc2VTaXplRm9udCk7IiwiXHJcbiVhc2lkZUJ1dHRvbnNQcm9wb3J0aW9ucyB7XHJcblx0d2lkdGg6IDEwMHB4O1xyXG5cdGhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbiV3aWRlRWxlbWVudEJ1dHRvbiB7XHJcblx0d2lkdGg6IDE1NXB4O1xyXG59XHJcbiVjZWxsSGVpZ2h0IHtcclxuXHRoZWlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbiVvbmUge1xyXG5cdHdpZHRoOiBzcGFuKDEpO1xyXG59XHJcbiV0d28ge1xyXG5cdHdpZHRoOiBzcGFuKDIpO1xyXG59XHJcbiV0aHJlZSB7XHJcblx0d2lkdGg6IHNwYW4oMyk7XHJcbn1cclxuJWZvdXIge1xyXG5cdHdpZHRoOiBzcGFuKDQpXHJcbn1cclxuJWZpdmUge1xyXG5cdHdpZHRoOiBzcGFuKDUpO1xyXG59XHJcbiVoYWxmV2lkdGgge1xyXG5cdHdpZHRoOiBzcGFuKDYpO1xyXG59XHJcbiVzZXZlbiB7XHJcblx0d2lkdGg6IHNwYW4oNyk7XHJcbn1cclxuJWVpZ2h0IHtcclxuIFx0d2lkdGg6IHNwYW4oOCk7XHJcbn1cclxuJW5pbmUge1xyXG5cdHdpZHRoOiBzcGFuKDkpO1xyXG59XHJcbiV0ZW4ge1xyXG5cdHdpZHRoOiBzcGFuKDEwKTtcclxufVxyXG4lZWxldmVuIHtcclxuXHR3aWR0aDogc3BhbigxMSk7XHJcbn1cclxuJWZ1bGxXaWR0aCB7XHJcblx0d2lkdGg6IHNwYW4oMTIpO1xyXG59XHJcbiVmdWxsSGVpZ2h0IHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuIiwiLy8gU3BhbiBTeW50YXhcbi8vID09PT09PT09PT09XG5cbi8vIFNwYW4gW21peGluXVxuLy8gLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBzcGFubmluZyBlbGVtZW50IHVzaW5nIHNob3J0aGFuZCBzeW50YXguXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbjogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XG4gICRuZXN0aW5nOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjbGVhcjogc3VzeS1nZXQoY2xlYXIsICRzcGFuKTtcblxuICAkYm94OiBzdXN5LWdldChib3gtc2l6aW5nLCAkc3Bhbik7XG4gICRjb250ZW50LWJveDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpICE9ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XG5cbiAgQGlmICRjbGVhciA9PSBicmVhayB7XG4gICAgQGluY2x1ZGUgYnJlYWs7XG4gIH0gQGVsc2UgaWYgJGNsZWFyID09IG5vYnJlYWsge1xuICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3BhbiwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xuICAgIEBpbmNsdWRlIG5lc3RlZCgkc3BhbikgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTcGFuIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQGZ1bmN0aW9uIHNwYW4oXG4gICRzcGFuXG4pIHtcbiAgQHJldHVybiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG59XG5cbi8vIFNwYW4gTWF0aFxuLy8gLS0tLS0tLS0tXG4vLyBHZXQgYWxsIHRoZSBzcGFuIHJlc3VsdHMuXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcbiAgJHNwYW5cbikge1xuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRzcGxpdC1uZXN0ICAgICAgIDogaWYoaXMtc3BsaXQoJHNwYW4pIGFuZCAkbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZWRnZSAgICAgICAgICAgICA6IGdldC1lZGdlKCRzcGFuKTtcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbTtcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xuICAkcGFkZGluZy1hZnRlciAgICA6IG51bGw7XG4gICRtYXJnaW4tYmVmb3JlICAgIDogbnVsbDtcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xuXG4gIC8vIGNhbGN1bGF0ZSB3aWR0aHNcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XG4gICRzcGFuOiBpZigkc3BsaXQtbmVzdCBhbmQgbm90KCRzcHJlYWQpLCBtYXAtbWVyZ2UoJHNwYW4sIChzcHJlYWQ6IHdpZGUpKSwgJHNwYW4pO1xuICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcblxuICAvLyBhcHBseSBndXR0ZXJzXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaWYgbm90KHN1c3ktZ2V0KHJvbGUsICRzcGFuKSkge1xuICAgICAgJHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcbiAgICAgICRtYXJnaW4tYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpO1xuICAgICAgJG1hcmdpbi1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXG4gIEBpZiBzdXN5LWdldChvdXRwdXQsICRzcGFuKSA9PSBpc29sYXRlIGFuZCAkbG9jYXRpb24ge1xuICAgICRtYXJnaW4tYmVmb3JlOiBnZXQtaXNvbGF0aW9uKCRzcGFuKTtcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcbiAgfSBAZWxzZSBpZiAkZWRnZSB7XG4gICAgJGlzLXNwbGl0OiBpcy1zcGxpdCgkc3Bhbik7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG5cbiAgICBAaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xuICAgIH1cblxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gZmlyc3QgYW5kICRwb3MgPT0gYmVmb3JlKSB7XG4gICAgICAgICRtYXJnaW4tYmVmb3JlOiAwO1xuICAgICAgfVxuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGxhc3QgYW5kICRwb3MgPT0gYWZ0ZXIpIHtcbiAgICAgICAgJG1hcmdpbi1hZnRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEByZXR1cm4gKFxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcbiAgICBmbG9hdCAgICAgICAgICAgOiAkZmxvYXQsXG4gICAgbWFyZ2luLWJlZm9yZSAgIDogJG1hcmdpbi1iZWZvcmUsXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcbiAgICBwYWRkaW5nLWJlZm9yZSAgOiAkcGFkZGluZy1iZWZvcmUsXG4gICAgcGFkZGluZy1hZnRlciAgIDogJHBhZGRpbmctYWZ0ZXIsXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxuICApO1xufVxuXG4vLyBHZXQgU3BhbiBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBzcGFuIHdpZHRoLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBnZXQtc3Bhbi13aWR0aChcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcblxuICAkbiAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRsb2NhdGlvbiA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcbiAgJGd1dHRlcnMgIDogc3VzeS1nZXQoZ3V0dGVycywgJHNwYW4pO1xuICAkc3ByZWFkICAgOiBzdXN5LWdldChzcHJlYWQsICRzcGFuKTtcblxuICAkY29udGV4dCAgOiBudWxsO1xuICAkc3Bhbi1zdW0gOiBudWxsO1xuICAkd2lkdGggICAgOiBudWxsO1xuXG4gIEBpZiAkbiA9PSAnZnVsbCcge1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuICAgICRyb2xlOiBzdXN5LWdldChyb2xlLCAkc3Bhbik7XG4gICAgJG46IGlmKCRwb3MgPT0gc3BsaXQgYW5kICRyb2xlICE9IG5lc3QsIHN1c3ktY291bnQoJGNvbHVtbnMpLCAxMDAlKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRuKSAhPSBudW1iZXIge1xuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xuICB9IEBlbHNlIGlmIHVuaXRsZXNzKCRuKSB7XG4gICAgJGNvbnRleHQ6IHN1c3ktc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgaWYoaXMtc3BsaXQoJHNwYW4pLCB3aWRlLCBuYXJyb3cpKTtcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xuICAgICRzcGFuLXN1bTogc3VzeSgkbiwgJGxvY2F0aW9uLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQpO1xuXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJHNwYW4pO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJHNwYW4tc3VtIC8gJGNvbnRleHQpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoOiAkbjtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuIiwiJXBvaW50SXQge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufSIsIiVkYXJrR3JheUJnIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya0dyYXk7XHJcbn1cclxuXHJcbiVsaWdodEdyYXlCYWNrZ3JvdW5kIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRHcmF5O1xyXG59XHJcblxyXG4lbm9uZUJhY2tncm91bmQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4lZ3JlZW5CZyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xyXG59XHJcblxyXG4lZGFya1B1cnBsZUJnIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya1B1cnBsZTtcclxufVxyXG4lcHVycGxlQmcge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XHJcbn0iLCIlcm91bmRCb3JkZXI0IHtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbiVzb2xpZEJvcmRlciB7XHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZCAkaTtcclxufVxyXG5cclxuJXdpZHRoQm9yZGVyNCB7XHJcblx0Ym9yZGVyLXdpZHRoOiA0cHg7XHJcbn1cclxuXHJcbiVib3R0b21Cb3JkZXIge1xyXG5cdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuXHRAZXh0ZW5kICVzb2xpZEJvcmRlcjtcclxuXHRAZXh0ZW5kICVleHRyYVNtYWxsdEJvdHRvbVBhZGRpbmc7XHJcblx0Ym9yZGVyLWNvbG9yOiAjNjM2MzYzO1xyXG59IiwiJXplcm9MZWZ0IHtcclxuXHRsZWZ0OiAwO1xyXG59XHJcblxyXG4lemVyb1RvcCB7XHJcblx0dG9wOiAwO1x0XHJcbn1cclxuXHJcbiV6ZXJvQm90dG9tIHtcclxuXHRib3R0b206IDA7XHJcbn1cclxuJXplcm9SaWdodCB7XHJcblx0cmlnaHQ6IDA7XHJcbn0iLCIlb3ZlcmZsb3dIaWRkZW4ge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLmhlYWRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcclxuICBAZXh0ZW5kICVjbGVhcmZpeDtcclxuICBwYWRkaW5nOiAoNTAlIC8gNjQxICogMTAwKSAwICgxMDklIC8gNjQxICogMTAwKTsgXHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIEBleHRlbmQgJXJlbGF0aXZlO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogKDUwJSAvIDY0MSAqIDEwMCk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0ICAgaGVpZ2h0OiA2NDFweDtcclxuICAgICBwYWRkaW5nLXRvcDogKDI1JSAvIDY0MSAqIDEwMClcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuICAgIHBhZGRpbmc6ICg1MCUgLyA2NDEgKiAxMDApIDUlICgxMDklIC8gNjQxICogMTAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uLCAuYnJhbmQsIC5oZWFkZXJfX3BhcmFncmFwaCB7XHJcbiAgd2lkdGg6IHNwYW4oOCk7XHJcbiAgQGV4dGVuZCAlZmxvYXRMZWZ0O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcbiAgXHR3aWR0aDogc3BhbigxMCk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XHJcbiAgXHR3aWR0aDogc3BhbigxMik7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcbiAgXHR3aWR0aDogc3BhbigxMik7XHJcbiAgfVxyXG59XHJcbkBpbXBvcnQgJ19fZmlndXJlLnNjc3MnO1xyXG5AaW1wb3J0ICdfX3BhcmFncmFwaC5zY3NzJztcclxuQGltcG9ydCAnYnJhbmQvYnJhbmQuc2Nzcyc7XHJcbkBpbXBvcnQgJ25hdmlnYXRpb24vbmF2aWdhdGlvbi5zY3NzJzsiLCIuaGVhZGVyX19maWd1cmUge1xyXG5cdEBleHRlbmQgJWFic29sdXRlSW1wb3J0YW50O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmUgJGk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtLWxlc3MpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZSAkaTtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdG1hcmdpbjogMCAkaTtcclxuXHR9XHJcbn1cclxuLmhlYWRlcl9fZmlndXJlLS1uYW1lIHtcclxuXHRcclxuXHQmX21hbiB7XHJcblx0XHR0b3A6ICg1MCUgLyA2MTQgKiAxMDApO1xyXG5cdFx0cmlnaHQ6ICgxNTAlIC8gMTQwMCAqIDEwMCk7XHJcblx0XHRtYXgtd2lkdGg6IDQxNXB4ICRpO1xyXG5cdFx0QGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7IFxyXG5cdFx0XHRsZWZ0OiA1JTtcclxuXHRcdFx0bWFyZ2luLXRvcDogM2VtO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0cmlnaHQ6ICg2NSUgLyAxNDAwICogMTAwKTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcblx0XHRcdG1heC13aWR0aDogNDUwcHggJGk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4eHMpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAyODVweCAkaTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxuXHQmX2J1dHRvbiB7XHJcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXM7XHJcblx0XHRAZXh0ZW5kICVwb2ludEl0O1xyXG5cdFx0Ym90dG9tOiAoNTAlIC8gNjE0ICogMTAwKTtcclxuXHRcdHJpZ2h0OiAoMTMwJSAvIDE0MDAgKiAxMDApO1xyXG5cdFx0bWF4LXdpZHRoOiAzNjdweDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7IFxyXG5cdFx0XHRib3R0b206IC0xNzVweDtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdFx0Ym90dG9tOiAoODAlIC8gNjE0ICogMTAwKTtcclxuXHRcdFx0cmlnaHQ6ICgyNTAlIC8gMTQwMCAqIDEwMCk7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0XHR0b3A6IDMwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX2J1dHRvbiwgJl9tYW4ge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMmVtICRpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fZmlndXJlLS1zdGF0ZV9hY3RpdmUge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwMCUpO1xyXG59IiwiLmhlYWRlcl9fcGFyYWdyYXBoIHtcclxuXHRAZXh0ZW5kICVsYXJnZVRvcE1hcmdpbjtcclxuXHRAZXh0ZW5kICVmcy0yMTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtZC11cCkge1xyXG5cdFx0bWFyZ2luLXRvcDogNWVtO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX3BhcmFncmFwaC0tY29sb3Jfc2t5Qmx1ZSB7XHJcblx0Y29sb3I6ICRza3lCbHVlO1xyXG59IiwiLmJyYW5kX19uYW1lIHtcclxuICBAZXh0ZW5kICVmcy0yODtcclxuICBjb2xvcjogJGxpZ2h0R3JheSAkaTsgXHJcbn0iLCIubmF2aWdhdGlvbiB7XHJcbiAgQGV4dGVuZCAlaW5jcmVhc2VkVG9wTWFyZ2luO1xyXG4gIFxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgLy8gICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgLy8gICB0b3A6IDA7XHJcbiAgLy8gICBsZWZ0OiAwO1xyXG4gIC8vICAgd2lkdGg6IDEwMCU7IFxyXG4gIC8vICAgbWFyZ2luOiAwO1xyXG4gIC8vICAgaGVpZ2h0OiA0NHB4O1xyXG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogIzllM2M5Yzs7XHJcbiAgfVxyXG4gIFxyXG59XHJcbkBpbXBvcnQgJ19fYXNpZGVCdXR0b25zLnNjc3MnO1xyXG5AaW1wb3J0ICdfX29wZW5NZW51QnV0dG9uLnNjc3MnO1xyXG5AaW1wb3J0ICduYXZMaXN0L25hdkxpc3Quc2Nzcyc7IiwiLm5hdmlnYXRpb25fX2FzaWRlQnV0dG9ucyB7XHJcblx0QGV4dGVuZCAlZml4ZWQ7XHJcblx0QGV4dGVuZCAlaW5kZXg0O1xyXG5cdGJvdHRvbTogMjZweDtcclxuXHRsZWZ0OiAoNDUlIC8gMTQwMCAqIDEwMCk7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcbi5vcmRlckNhbGxiYWNrQnV0dG9uQ29udGFpbmVyLCAudXBCdXR0b25SZWZlciB7XHJcblx0Jl9fbmFtZS0tYXNpZGUge1xyXG5cdFx0QGV4dGVuZCAlZnMtMTY7XHJcblx0fVxyXG5cdCZfX2ljb24tLWFzaWRlIHtcclxuXHRcdG1heC13aWR0aDogMzBweCAkaTtcclxuXHR9XHJcbn1cclxuQGltcG9ydCAnb3JkZXJDYWxsYmFja0J1dHRvbi9vcmRlckNhbGxiYWNrQnV0dG9uLnNjc3MnO1xyXG5AaW1wb3J0ICd1cEJ1dHRvbi91cEJ1dHRvbi5zY3NzJzsiLCJcclxuLm9yZGVyQ2FsbGJhY2tCdXR0b25Db250YWluZXIge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b247XHJcbn1cclxuXHJcbi5vcmRlckNhbGxiYWNrQnV0dG9uQ29udGFpbmVyX19uYW1lIHtcclxuXHRAZXh0ZW5kICVlbGVtZW50QnV0dG9uX19uYW1lO1xyXG5cdG1hcmdpbi10b3A6IDE0cHg7XHJcbn1cclxuXHJcbi5vcmRlckNhbGxiYWNrQnV0dG9uQ29udGFpbmVyX19udW1iZXIge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b25fX251bWJlcjtcclxufVxyXG4ub3JkZXJDYWxsYmFja0J1dHRvbkNvbnRhaW5lcl9faWNvbiB7XHJcblx0QGV4dGVuZCAlZWxlbWVudEJ1dHRvbl9faWNvbjtcclxuXHRtYXgtd2lkdGg6IDMwcHggJGk7XHJcbn0iLCIubmF2aWdhdGlvbl9fY2xvc2VNZW51QnV0dG9uLCAubmF2aWdhdGlvbl9fb3Blbk1lbnVCdXR0b24ge1xyXG4gIFx0Y29sb3I6ICR3aGl0ZTtcclxuXHR6LWluZGV4OiAtMTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0ei1pbmRleDogNDtcclxuXHR9XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uX19vcGVuTWVudUJ1dHRvbiB7XHJcblx0QGV4dGVuZCAlcmVsYXRpdmU7XHJcblx0QGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRib3R0b206IDM1cHg7XHJcbiAgXHRyaWdodDogMTAlO1xyXG4gXHQgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uX19jbG9zZU1lbnVCdXR0b24ge1xyXG5cdEBleHRlbmQgJWFic29sdXRlO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0dG9wOiAxNXB4O1xyXG5cdHJpZ2h0OiAxNXB4O1xyXG59IiwiLm5hdkxpc3Qge1xyXG4gIFxyXG4gIEBleHRlbmQgJWZ1bGxXaWR0aDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG4gICAgZm9udC1zaXplOiAoMjFlbSAvIDE2KTtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGlnaHRHcmF5LCAuOCk7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgei1pbmRleDogMTAwO1xyXG4gICAgcGFkZGluZy10b3A6IDEwJTtcclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuQGltcG9ydCAnbmF2SXRlbS5zY3NzJztcclxuIiwiLm5hdkl0ZW1SZWZlciB7XHJcbiAgQGV4dGVuZCAlZWxlbWVudEJ1dHRvbjtcclxuICBAZXh0ZW5kICVibG9jaztcclxufVxyXG5cclxuLm5hdkl0ZW1SZWZlcl9fbnVtYmVyIHtcclxuICBAZXh0ZW5kICVlbGVtZW50QnV0dG9uX19udW1iZXI7XHJcblxyXG59XHJcbi5uYXZJdGVtUmVmZXJfX2ljb24ge1xyXG4gIEBleHRlbmQgJWVsZW1lbnRCdXR0b25fX2ljb247XHJcbn1cclxuLm5hdkl0ZW1SZWZlcl9fbmFtZSB7XHJcbiAgQGV4dGVuZCAlZWxlbWVudEJ1dHRvbl9fbmFtZTtcclxuICBtYXJnaW4tdG9wOiA1MHB4OyBcclxufVxyXG5cclxuLy8gLm5hdkl0ZW06bnRoLWNoaWxkKDUpIC5uYXZJdGVtUmVmZXJfX25hbWUge1xyXG4vLyBcdGZvbnQtc2l6ZTogKDE0ZW0gLyAkYmFzZVNpemVGb250KTtcclxuLy8gfSIsIkBpbXBvcnQgJ25hdkl0ZW1SZWZlci5zY3NzJztcclxuXHJcbi5uYXZJdGVtIHtcclxuICBAZXh0ZW5kICVlbGVtZW50QnV0dG9uQ29udGFpbmVyO1xyXG4gIG1hcmdpbi1yaWdodDogKDE2JSAvIDY0NSAqIDEwMCk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuICAgIG1hcmdpbjogMWVtO1xyXG4gIH1cclxuICAmLS1hY3RpdmUgLm5hdkl0ZW1SZWZlciB7XHJcbiAgICBAZXh0ZW5kICVpbm5lclNoYWRvdztcclxuICB9XHJcbn0gXHJcblxyXG4iLCIuZm9vdGVyIHtcclxuICBAZXh0ZW5kICVncmVlbkJnO1xyXG4gIEBleHRlbmQgJWNsZWFyZml4O1xyXG4gIEBleHRlbmQgJXJlbGF0aXZlO1xyXG4gIGhlaWdodDogNTExcHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuICBcdGhlaWdodDogNDg4cHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XHJcbiAgXHRoZWlnaHQ6IDM5MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG4gIFx0aGVpZ2h0OiAzMjBweDtcclxuICBcdHBhZGRpbmc6IDAgNSU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHh4cykge1xyXG4gIFx0aGVpZ2h0OiAyODVweDtcclxuICBcdHBhZGRpbmc6IDAgNSU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGltcG9ydCAnX19maWd1cmUuc2Nzcyc7XHJcbkBpbXBvcnQgJ19fdGl0bGUuc2Nzcyc7XHJcbkBpbXBvcnQgJ2Zvb3RlckNvbnRhY3RzL2Zvb3RlckNvbnRhY3RzLnNjc3MnO1xyXG5AaW1wb3J0ICdjb3B5cmlnaHQvY29weXJpZ2h0LnNjc3MnO1xyXG4iLCIuZm9vdGVyX19maWd1cmUge1xyXG5cdEBleHRlbmQgJWZsb2F0UmlnaHQ7XHJcblx0d2lkdGg6IHNwYW4oNCk7XHJcblx0bWF4LXdpZHRoOiAzMDBweCAkaTtcclxuXHR0b3A6IC0xNTNweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0dG9wOiAtMTI4cHg7XHJcblx0fVxyXG59IiwiLmZvb3Rlcl9fdGl0bGUge1xyXG5cdEBleHRlbmQgJWZzLTIxO1xyXG5cdEBleHRlbmQgJWZsb2F0TGVmdDtcclxuXHRAZXh0ZW5kICVlaWdodDtcclxuXHRtYXJnaW4tdG9wOiAoNjAlIC8gNTExICogMTAwKSAkaTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0d2lkdGg6IHNwYW4oMTIpO1xyXG5cdH1cclxufSIsIi5jb3B5cmlnaHQge1xyXG5cdG1hcmdpbi10b3A6ICg4MiUgLyA1MTEgKiAxMDApO1xyXG5cdEBleHRlbmQgJWZsb2F0TGVmdDtcclxuXHRAZXh0ZW5kICVlaWdodDtcclxuXHRAZXh0ZW5kICVmcy0xNjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4eHMpIHtcclxuXHRcdGZvbnQtc2l6ZTogKDE0ZW0gLyAkYmFzZVNpemVGb250KTtcclxuXHR9XHJcbn0iLCIubWFpbiAge1xyXG5cdGNvbG9yOiAkZGFya0dyYXk7XHJcbn0gXHJcblxyXG5AaW1wb3J0ICdfX21ha2VPcmRlckZvcm1Db250YWluZXIuc2Nzcyc7XHJcbkBpbXBvcnQgJ21ha2VPcmRlckZvcm0vbWFrZU9yZGVyRm9ybVdyYXBwZXIuc2Nzcyc7XHJcbkBpbXBvcnQgJ29yZGVyQ2FsbGJhY2tGb3JtL29yZGVyQ2FsbGJhY2tGb3JtV3JhcHBlci5zY3NzJztcclxuQGltcG9ydCAncHJlc2VudC9wcmVzZW50LnNjc3MnO1xyXG5AaW1wb3J0ICdvcmRlcmluZy9vcmRlcmluZy5zY3NzJztcclxuQGltcG9ydCAnY2FsbGJhY2svY2FsbGJhY2suc2Nzcyc7XHJcbkBpbXBvcnQgJ2Fza1F1ZXN0aW9ucy9hc2tRdWVzdGlvbnMuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NlcnZpY2VzL3NlcnZpY2VzLnNjc3MnO1xyXG5AaW1wb3J0ICdhZHZpY2UvYWR2aWNlLnNjc3MnO1xyXG5AaW1wb3J0ICdzZXJ2aWNlL3NlcnZpY2Uuc2Nzcyc7XHJcbkBpbXBvcnQgJ2FkdmljZUludHJvL2FkdmljZUludHJvLnNjc3MnO1xyXG5AaW1wb3J0ICdzaW5nbGVBZHZpY2Uvc2luZ2xlQWR2aWNlLnNjc3MnO1xyXG4iLCIubWFpbl9fbWFrZU9yZGVyRm9ybUNvbnRhaW5lciB7XHJcblx0Y29sb3I6ICRsaWdodEdyYXk7XHJcbn0iLCJcclxuLm1ha2VPcmRlckZvcm1XcmFwcGVyIHtcclxuXHRAZXh0ZW5kICVyb3VuZEJvcmRlcjQ7XHJcblx0QGV4dGVuZCAlYmVuZWF0aFNoYWRvdztcclxuXHRAZXh0ZW5kICV3aWR0aEJvcmRlcjQ7XHJcblx0QGV4dGVuZCAlc29saWRCb3JkZXI7XHJcblx0bWFyZ2luOiAyZW0gYXV0byAxZW07XHJcblx0d2lkdGg6IDYwMXB4O1xyXG5cdGJvcmRlci1jb2xvcjogJHllbGxvdztcclxuXHRwYWRkaW5nOiAzM3B4IDgwcHggNDRweCA0MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiBzcGFuKDEyKTtcclxuXHRcdHBhZGRpbmc6IDMzcHggNjVweCA0NHB4O1xyXG5cdH1cclxufVxyXG5cclxuLm1ha2VPcmRlckZvcm1XcmFwcGVyX19zdWNjZXNzTWVzc2FnZSB7XHJcblx0QGV4dGVuZCAlZGVmYXVsdFRvcFBhZGRpbmc7XHJcbn1cclxuQGltcG9ydCAnX19jbG9zZUJ1dHRvbi5zY3NzJztcclxuQGltcG9ydCAnbWFrZU9yZGVyRm9ybS5zY3NzJzsiLCIubWFrZU9yZGVyRm9ybVdyYXBwZXJfX2Nsb3NlQnV0dG9uIHtcclxuXHRtYXgtd2lkdGg6IDI1cHggJGk7XHJcblx0QGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRAZXh0ZW5kICVwb2ludEl0O1xyXG5cdC8vIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cztcclxuXHRAaW5jbHVkZSBzbW9vdGgtdHJhbnNpdGlvbi1idXR0b247XHJcblx0Jjpob3ZlciB7XHJcblx0XHRAZXh0ZW5kICVidXR0b25TaGFkb3c7XHJcblx0fVxyXG59IiwiLm1ha2VPcmRlckZvcm1Db250cm9sbGVyX19sYWJlbCB7XHJcblx0bWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyLjVlbTtcclxufSIsIkBpbXBvcnQgJ19fdGl0bGUuc2Nzcyc7XHJcbkBpbXBvcnQgJ21ha2VPcmRlckZvcm1Db250cm9sbGVyL21ha2VPcmRlckZvcm1Db250cm9sbGVyLnNjc3MnO1xyXG5AaW1wb3J0ICdtYWtlT3JkZXJGb3JtQnV0dG9uL21ha2VPcmRlckZvcm1CdXR0b24uc2Nzcyc7XHJcblxyXG4ubWFrZU9yZGVyRm9ybV9fdGl0bGUsIC5lcnJvckNvbnRhaW5lciwgLm1ha2VPcmRlckZvcm1CdXR0b24ge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHR9XHJcbn0iLCIub3JkZXJDYWxsYmFja0Zvcm1XcmFwcGVyIHtcclxuXHRAZXh0ZW5kICVkYXJrR3JheUJnO1xyXG5cdEBleHRlbmQgJWJlbmVhdGhTaGFkb3c7XHJcblx0QGV4dGVuZCAlc29saWRCb3JkZXI7XHJcblx0QGV4dGVuZCAlcm91bmRCb3JkZXI0O1xyXG5cdEBleHRlbmQgJXdpZHRoQm9yZGVyNDtcclxuXHRAZXh0ZW5kICVmaXhlZDtcclxuXHRAZXh0ZW5kICVpbmRleDQ7XHJcblx0dG9wOiAxMCU7XHJcblx0bGVmdDogY2FsYyg1MCUgLSAoNDg2cHggLyAyKSk7XHJcblx0Y29sb3I6ICRsaWdodEdyYXk7XHJcblx0Ym9yZGVyLWNvbG9yOiAkZ3JlZW47XHJcblx0d2lkdGg6IDQ4NnB4O1xyXG5cdHBhZGRpbmc6IDI1cHggNzVweCAzNXB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHh4cykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cGFkZGluZzogMjVweCAxMCU7XHJcblx0fVxyXG59XHJcblxyXG5AaW1wb3J0ICdfX2Nsb3NlQnV0dG9uLnNjc3MnO1xyXG5AaW1wb3J0ICdvcmRlckNhbGxiYWNrRm9ybS5zY3NzJzsiLCIub3JkZXJDYWxsYmFja0Zvcm1CdXR0b24ge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b25Db250YWluZXI7XHJcblx0QGV4dGVuZCAlYXNpZGVCdXR0b25zUHJvcG9ydGlvbnM7XHJcblx0d2lkdGg6IDE1MHB4O1xyXG5cdEBleHRlbmQgJWxhcmdlVG9wTWFyZ2luO1xyXG59XHJcblxyXG4ub3JkZXJDYWxsYmFja0Zvcm1CdXR0b25Db250YWluZXIge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b247XHJcbn1cclxuXHJcbi5vcmRlckNhbGxiYWNrRm9ybUJ1dHRvbkNvbnRhaW5lcl9faWNvbiB7XHJcblx0QGV4dGVuZCAlZWxlbWVudEJ1dHRvbl9faWNvbjtcclxufVxyXG4ub3JkZXJDYWxsYmFja0Zvcm1CdXR0b25Db250YWluZXJfX25hbWUge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b25fX25hbWU7XHJcblx0QGV4dGVuZCAlbGFyZ2VUb3BNYXJnaW47XHJcblx0Zm9udC1zaXplOiAoMTVlbSAvIDE2KTtcclxufVxyXG5cclxuLm9yZGVyQ2FsbGJhY2tGb3JtQnV0dG9uQ29udGFpbmVyX19udW1iZXIge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b25fX251bWJlcjtcclxufSIsIlxyXG4ucHJlc2VudCB7XHJcblx0cGFkZGluZy10b3A6IDE0NXB4O1xyXG5cdEBleHRlbmQgJWNsZWFyZml4O1xyXG59XHJcblxyXG5AaW1wb3J0ICdfX2ZpZ3VyZS5zY3NzJztcclxuQGltcG9ydCAnX19wYXJhZ3JhcGguc2Nzcyc7IiwiLnByZXNlbnRfX2ZpZ3VyZSB7XHJcblx0QGV4dGVuZCAlZmxvYXRMZWZ0O1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHRAZXh0ZW5kICVpbmxpbmUtYmxvY2s7XHJcblx0bWF4LXdpZHRoOiA1MjBweCAkaTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0Ly8gbWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0d2lkdGg6IHNwYW4oMTIpO1xyXG5cdH1cclxufSIsIi5wcmVzZW50X19wYXJhZ3JhcGgge1xyXG5cdEBleHRlbmQgJWZsb2F0UmlnaHQ7XHJcblx0QGV4dGVuZCAlaGFsZldpZHRoO1xyXG5cdG1hcmdpbi10b3A6IDE1JTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiA1JTtcclxuXHRcdG1hcmdpbi10b3A6IDclO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0d2lkdGg6IHNwYW4oMTIpO1xyXG5cdFx0bWFyZ2luLXRvcDogMWVtO1xyXG5cclxuXHR9XHJcbn0iLCIub3JkZXJpbmcge1xyXG5cdEBleHRlbmQgJXJlbGF0aXZlO1xyXG5cdEBleHRlbmQgJWRhcmtQdXJwbGVCZztcclxuXHRAZXh0ZW5kICVjbGVhcmZpeDtcclxuXHRwYWRkaW5nLXRvcDogNDg1cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4eHMpIHtcclxuXHRcdHBhZGRpbmctdG9wOiAxMCU7XHJcblx0fVxyXG59XHJcblxyXG5AaW1wb3J0ICdfX2ZpZ3VyZS5zY3NzJztcclxuQGltcG9ydCAnX19wYXJhZ3JhcGguc2Nzcyc7IiwiLm9yZGVyaW5nX19maWd1cmUge1xyXG5cdG1heC13aWR0aDogNDM5cHggJGk7XHJcblx0QGV4dGVuZCAlYWJzb2x1dGVJbXBvcnRhbnQ7XHJcblx0QGV4dGVuZCAlemVyb1JpZ2h0O1xyXG5cdEBleHRlbmQgJXplcm9Cb3R0b207XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdG1heC13aWR0aDogMzUwcHggJGk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHh4cykge1xyXG5cdFx0cG9zaXRpb246IHN0YXRpYyAkaTtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1hcmdpbi1yaWdodDogLTExJTtcclxuXHR9XHJcbn0iLCIub3JkZXJpbmdfX3BhcmFncmFwaCB7XHJcblx0Y29sb3I6ICRsaWdodEdyYXk7XHJcblx0bWFyZ2luOiAtMjc1cHggMCAwIDI3NXB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcblx0XHR3aWR0aDogc3Bhbig2KTtcclxuXHRcdG1hcmdpbjogLTMxNXB4IDAgMDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHhzKSB7XHJcblx0XHR3aWR0aDogc3BhbigxMik7XHJcblx0XHRtYXJnaW4tdG9wOiAxZW07XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4ub3JkZXJpbmdfX3BhcmFncmFwaC0tY29sb3Jfc2t5Qmx1ZSB7XHJcblx0Y29sb3I6ICRza3lCbHVlO1xyXG59XHJcbiIsIi5jYWxsYmFjayB7XHJcblx0cGFkZGluZy10b3A6IDUwcHg7XHJcblx0QGV4dGVuZCAlY2xlYXJmaXg7XHJcblx0XHJcbn1cclxuXHJcbkBpbXBvcnQgJ19fZmlndXJlLnNjc3MnO1xyXG5AaW1wb3J0ICdfX3BhcmFncmFwaC5zY3NzJztcclxuQGltcG9ydCAnY2FsbGJhY2tCdXR0b24vY2FsbGJhY2tCdXR0b24uc2Nzcyc7IiwiLmNhbGxiYWNrX19maWd1cmUge1xyXG5cdEBleHRlbmQgJWZsb2F0TGVmdDtcclxuXHRtYXgtd2lkdGg6IFx0NDc5cHggJGk7XHJcblx0QGV4dGVuZCAlaGFsZldpZHRoO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1JTtcclxuXHR9XHJcbn0iLCIuY2FsbGJhY2tfX3BhcmFncmFwaCB7XHJcblx0QGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRAZXh0ZW5kICVoYWxmV2lkdGg7XHJcblx0bWFyZ2luLXRvcDogNy41JTtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtZC1sZXNzKSB7XHJcblx0XHR3aWR0aDogc3Bhbig1KVxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG5cdFx0bWFyZ2luLXRvcDogLTEuNSU7XHRcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiBzcGFuKDEyKTtcclxuXHRcdG1hcmdpbi10b3A6IDMuNSU7XHJcblx0fVxyXG59XHJcblxyXG4uY2FsbGJhY2tfX3BhcmFncmFwaC0tY29sb3JfZGFya0dyYXkge1xyXG5cdGNvbG9yOiAkZGFya0dyYXkgJGk7XHJcbn0iLCIuY2FsbGJhY2tCdXR0b24ge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b25Db250YWluZXI7XHJcblx0QGV4dGVuZCAlYXNpZGVCdXR0b25zUHJvcG9ydGlvbnM7XHJcblx0QGV4dGVuZCAlbGFyZ2VUb3BNYXJnaW47XHJcblx0QGV4dGVuZCAld2lkZUVsZW1lbnRCdXR0b247XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMyU7XHJcblx0XHRcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQtbGVzcykge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDglO1x0XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAxNSU7XHRcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHhzKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHR9XHJcblx0XHJcbn1cclxuXHJcbi5jYWxsYmFja0J1dHRvbkNvbnRhaW5lciB7XHJcblx0QGV4dGVuZCAlZWxlbWVudEJ1dHRvbjtcclxufVxyXG5cclxuLmNhbGxiYWNrQnV0dG9uQ29udGFpbmVyX19pY29uIHtcclxuXHRAZXh0ZW5kICVlbGVtZW50QnV0dG9uX19pY29uO1xyXG59XHJcblxyXG4uY2FsbGJhY2tCdXR0b25Db250YWluZXJfX251bWJlciB7XHJcblx0QGV4dGVuZCAlZWxlbWVudEJ1dHRvbl9fbnVtYmVyO1xyXG59XHJcblxyXG4uY2FsbGJhY2tCdXR0b25Db250YWluZXJfX25hbWUge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b25fX25hbWU7XHJcblx0QGV4dGVuZCAlbGFyZ2VUb3BNYXJnaW47XHJcblx0QGV4dGVuZCAlZnMtMTY7XHJcbn0iLCIuYXNrUXVlc3Rpb25zIHtcclxuXHRAZXh0ZW5kICVkYXJrUHVycGxlQmc7XHJcblx0cGFkZGluZzogNjBweCAwIDcwcHg7XHJcblx0QGV4dGVuZCAlY2xlYXJmaXg7XHJcblx0QGV4dGVuZCAlcmVsYXRpdmU7XHJcbn1cclxuXHJcbkBpbXBvcnQgJ19fZmlndXJlLnNjc3MnO1xyXG5AaW1wb3J0ICdhc2tRdWVzdGlvbnNGb3JtL2Fza1F1ZXN0aW9uc0Zvcm1XcmFwcGVyLnNjc3MnOyIsIi5hc2tRdWVzdGlvbnNfX2ZpZ3VyZSB7XHJcblx0bWF4LXdpZHRoOiAyODVweCAkaTtcclxuXHRAZXh0ZW5kICVhYnNvbHV0ZUltcG9ydGFudDtcclxuXHRyaWdodDogMjAlO1xyXG5cdGJvdHRvbTogMDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbSkge1xyXG5cdFx0cmlnaHQ6IDEwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHBvc2l0aW9uOiBzdGF0aWMgJGk7XHJcblx0XHRtYXJnaW46IDJlbSBhdXRvIDAgJGk7XHJcblx0XHRkaXNwbGF5OiBibG9jayAkaTtcclxuXHR9XHJcblx0XHJcbn0iLCIuYXNrUXVlc3Rpb25zRm9ybVdyYXBwZXIge1xyXG5cdG1heC13aWR0aDogMzg1cHg7XHJcblx0QGV4dGVuZCAlZmxvYXRMZWZ0O1xyXG5cdGNvbG9yOiAkbGlnaHRHcmF5O1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMCU7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzKSB7XHJcblx0XHR3aWR0aDogc3BhbigxMik7XHJcblx0XHRtYXJnaW46IDFlbSBhdXRvIDA7XHJcblx0fVxyXG59XHJcblxyXG5AaW1wb3J0ICdhc2tRdWVzdGlvbnNGb3JtLnNjc3MnOyIsIi5hc2tRdWVzdGlvbnNGb3JtX190aXRsZSB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn0iLCIuc2VydmljZXMge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XHJcblx0QGV4dGVuZCAlY2xlYXJmaXg7XHJcblx0cGFkZGluZy10b3A6IDgwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdG1hcmdpbi10b3A6IC0xMDBweDtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4eHMpIHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRwYWRkaW5nLXRvcDogNSU7XHJcblx0fVxyXG59XHJcbkBpbXBvcnQgJ19fcGFyYWdyYXBoLnNjc3MnO1xyXG5AaW1wb3J0ICdfX2ZpZ3VyZS5zY3NzJztcclxuQGltcG9ydCAnX190aXRsZS5zY3NzJztcclxuQGltcG9ydCAnc2VydmljZXNMaXN0L3NlcnZpY2VzTGlzdC5zY3NzJzsiLCIuc2VydmljZXNfX3BhcmFncmFwaCB7XHJcblx0QGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRAZXh0ZW5kICVyZWxhdGl2ZTtcclxuXHR0b3A6IDcwcHg7XHJcblx0bGVmdDogMzUlO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1kKSB7XHJcblx0XHRsZWZ0OiA0NSU7XHRcdFxyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1sZXNzKSB7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFlbTtcdFx0XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHhzKSB7XHJcblx0XHRmbG9hdDogcmlndGg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn0iLCIuc2VydmljZXNfX2ZpZ3VyZSB7XHJcblx0QGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRtYXgtd2lkdGg6IDMwNXB4ICRpO1xyXG5cdG1hcmdpbi10b3A6IDIxMHB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAxNDBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogMTM1LjVweDtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHh4cykge1xyXG5cdFx0dG9wOiAwO1xyXG5cdH1cclxufSIsIi5zZXJ2aWNlc19fdGl0bGUge1xyXG5cdEBleHRlbmQgJWZzLTI2O1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHRAZXh0ZW5kICVib3R0b21Cb3JkZXI7XHJcblx0QGV4dGVuZCAlb3ZlcmZsb3dIaWRkZW47XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufSIsIi5zZXJ2aWNlc0xpc3Qge1xyXG5cdEBleHRlbmQgJWxhcmdlVG9wTWFyZ2luO1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0d2lkdGg6IHNwYW4oMTIpO1xyXG5cdH1cclxufVxyXG5cclxuQGltcG9ydCAnc2VydmljZXNJdGVtLnNjc3MnOyIsIi5zZXJ2aWNlc0l0ZW1fX3JlZmVyIHtcclxuXHRAZXh0ZW5kICVmcy0xODtcclxuXHRjb2xvcjogJGRhcmtHcmF5ICRpO1xyXG5cdFxyXG59IiwiLmFkdmljZSB7XHJcblx0QGV4dGVuZCAlY2xlYXJmaXg7XHJcblx0QGV4dGVuZCAlZGFya1B1cnBsZUJnO1xyXG5cdGNvbG9yOiAkbGlnaHRHcmF5O1xyXG5cdEBleHRlbmQgJWRlZmF1bHRUb3BCb3R0b21QYWRkaW5ncztcclxufVxyXG4uYWR2aWNlID4gLnVpLmNvbnRhaW5lciwgLmFkdmljZUFydGljbGUge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgxNDAwcHgpIHtcclxuXHRcdFx0cGFkZGluZzogMCAxNSU7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtZC11cCkge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDI1JTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtLWxlc3MpIHtcclxuXHRcdFx0cGFkZGluZzogMCAxNSU7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4eHMpIHtcclxuXHRcdFx0cGFkZGluZzogMCA1JTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5AaW1wb3J0ICdfX3RpdGxlLnNjc3MnO1xyXG5AaW1wb3J0ICdhZHZpY2VMaXN0L2FkdmljZUxpc3Quc2Nzcyc7IiwiLnNlcnZpY2Uge1xyXG5cdEBleHRlbmQgJWRhcmtHcmF5Qmc7XHJcblx0Y29sb3I6ICRsaWdodEdyYXk7XHJcblx0cGFkZGluZzogNzVweCAwIDg1cHg7XHJcblx0JiA+IC51aS5jb250YWluZXIge1xyXG5cdFx0QGV4dGVuZCAlZmxleDtcclxuXHRcdEBleHRlbmQgJWRlZmF1bHRDb2x1bW5GbG93O1xyXG5cdFx0QGV4dGVuZCAlYWxpZ25TdGFydDtcclxuXHRcdEBleHRlbmQgJWp1c3RpZnlCZXR3ZWVuO1xyXG5cdH1cclxufVxyXG5cclxuLnNlcnZpY2VfX3BhcmFncmFwaCwgLnNlcnZpY2VNYWtlT3JkZXJCdXR0b24sIC5zZXJ2aWNlX190aXRsZSB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbGcpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMy41JTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWQpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiA2JTtcclxuXHR9XHJcbn1cclxuXHJcbkBpbXBvcnQgJ19fdGl0bGUuc2Nzcyc7XHJcbkBpbXBvcnQgJ19fcGFyYWdyYXBoLnNjc3MnO1xyXG5AaW1wb3J0ICdfX3JlZmVyVG9BbGxTZXJ2aWNlcy5zY3NzJztcclxuQGltcG9ydCAnc2VydmljZVRhYnMvc2VydmljZVRhYnMuc2Nzcyc7XHJcbkBpbXBvcnQgJ3NlcnZpY2VNYWtlT3JkZXJCdXR0b24vc2VydmljZU1ha2VPcmRlckJ1dHRvbi5zY3NzJzsiLCIuc2VydmljZV9fdGl0bGUge1xyXG5cdG9yZGVyOiAxO1xyXG5cdEBleHRlbmQgJWZzLTI2O1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHRAZXh0ZW5kICVib3R0b21Cb3JkZXI7XHJcblx0QGV4dGVuZCAlb3ZlcmZsb3dIaWRkZW47XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufSIsIi5zZXJ2aWNlX19wYXJhZ3JhcGgge1xyXG5cdEBleHRlbmQgJWxhcmdlVG9wTWFyZ2luO1xyXG5cdG9yZGVyOiAzO1xyXG59IiwiLnNlcnZpY2VfX3JlZmVyVG9BbGxTZXJ2aWNlcyB7XHJcblx0Ly8gQGV4dGVuZCAlZmxvYXRSaWdodDtcclxuXHRvcmRlcjogNTtcclxuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XHJcblx0QGV4dGVuZCAlcmVsYXRpdmU7XHJcblx0Ym90dG9tOiAxMDBweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cykge1xyXG5cdFx0YWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcblx0fVxyXG59IiwiLnNlcnZpY2VUYWJzIHtcclxuXHRAZXh0ZW5kICVwdXJwbGVCZztcclxuXHRAZXh0ZW5kICVpbm5lclNoYWRvdztcclxuXHRAZXh0ZW5kICVyb3VuZEJvcmRlcjQ7XHJcblx0cGFkZGluZzogNDBweCAxMCUgNjBweDtcclxuXHRtYXgtd2lkdGg6IDgyNXB4O1xyXG5cdEBleHRlbmQgJWNlbnRlci1ibG9jaztcclxuXHRAZXh0ZW5kICVsYXJnZVRvcE1hcmdpbjtcclxuXHRAZXh0ZW5kICVmdWxsV2lkdGg7XHJcblx0b3JkZXI6IDI7XHJcblx0QGV4dGVuZCAlbGFyZ2VCb3R0b21NYXJnaW47XHJcbn1cclxuXHJcbkBpbXBvcnQgJ19fbmF2aWdhdGlvbi5zY3NzJztcclxuQGltcG9ydCAnX190YWJsZS5zY3NzJzsiLCIuc2VydmljZVRhYnNOYXZpZ2F0aW9uTGlzdF9faXRlbSB7XHJcblx0QGV4dGVuZCAlaW5saW5lLWJsb2NrO1xyXG5cdEBleHRlbmQgJWV4dHJhTGFyZ2VSaWdodE1hcmdpbjtcclxuXHRAZXh0ZW5kICVwb2ludEl0O1xyXG59XHJcblxyXG4uc2VydmljZVRhYnNOYXZpZ2F0aW9uTGlzdF9faXRlbS0tYWN0aXZlIHtcclxuXHRjb2xvcjogJHllbGxvdztcclxufSIsIi5zZXJ2aWNlVGFic1RhYmxlSGVhZGVyX19jZWxsIHtcclxuXHRjb2xvcjogJGdyYXk7XHJcblx0QGV4dGVuZCAlY2VsbEhlaWdodDtcclxuXHRAZXh0ZW5kICV2ZXJ0aWNhbC1taWRkbGU7XHJcbn1cclxuXHJcbi5zZXJ2aWNlVGFic1RhYmxlSGVhZGVyX19jZWxsLS1uYW1lX3ByaWNlIHtcclxuXHRAZXh0ZW5kICV0aHJlZTtcclxufVxyXG5cclxuLnNlcnZpY2VUYWJzVGFibGVIZWFkZXJfX2NlbGwtLW5hbWVfc3BhY2Uge1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcdFxyXG59XHJcblxyXG4uc2VydmljZVRhYnNUYWJsZUhlYWRlcl9fY2VsbC0tbmFtZV9lbnN1cmUge1xyXG5cdEBleHRlbmQgJXRocmVlO1x0XHJcbn0iLCIuc2VydmljZU1ha2VPcmRlckJ1dHRvbiB7XHJcblx0QGV4dGVuZCAlZWxlbWVudEJ1dHRvbkNvbnRhaW5lcjtcclxuXHRAZXh0ZW5kICVhc2lkZUJ1dHRvbnNQcm9wb3J0aW9ucztcclxuXHRAZXh0ZW5kICVsYXJnZVRvcE1hcmdpbjtcclxuXHRvcmRlcjogNDtcclxufVxyXG5cclxuLnNlcnZpY2VNYWtlT3JkZXJCdXR0b25Db250YWluZXIge1xyXG5cdEBleHRlbmQgJWVsZW1lbnRCdXR0b247XHJcbn1cclxuXHJcbi5zZXJ2aWNlTWFrZU9yZGVyQnV0dG9uQ29udGFpbmVyX19uYW1lIHtcclxuXHRAZXh0ZW5kICVlbGVtZW50QnV0dG9uX19uYW1lO1xyXG5cdEBleHRlbmQgJWxhcmdlVG9wTWFyZ2luO1xyXG59XHJcblxyXG4uc2VydmljZU1ha2VPcmRlckJ1dHRvbkNvbnRhaW5lcl9fbnVtYmVyIHtcclxuXHRAZXh0ZW5kICVlbGVtZW50QnV0dG9uX19udW1iZXI7XHJcbn1cclxuXHJcbi5zZXJ2aWNlTWFrZU9yZGVyQnV0dG9uQ29udGFpbmVyX19pY29uIHtcclxuXHRAZXh0ZW5kICVlbGVtZW50QnV0dG9uX19pY29uO1xyXG59IiwiLmFkdmljZUludHJvIHtcclxuXHRAZXh0ZW5kICVjbGVhcmZpeDtcclxuXHRwYWRkaW5nLXRvcDogMTAwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA2NXB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XHJcblxyXG5cdH1cclxufVxyXG5cclxuQGltcG9ydCAnX19maWd1cmUuc2Nzcyc7XHJcbkBpbXBvcnQgJ19fcGFyYWdyYXBoLnNjc3MnOyIsIi5hZHZpY2VJbnRyb19fZmlndXJlIHtcclxuXHRAZXh0ZW5kICVmbG9hdFJpZ2h0O1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHRtYXgtd2lkdGg6IDIzMnB4ICRpO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnKSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1JTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiBzcGFuKDEyKTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRkaXNwbGF5OiBibG9jayAkaTtcclxuXHR9XHJcbn0iLCIuYWR2aWNlSW50cm9fX3BhcmFncmFwaCB7XHJcblx0QGV4dGVuZCAlZmxvYXRMZWZ0O1xyXG5cdEBleHRlbmQgJWhhbGZXaWR0aDtcclxuXHQvLyBAZXh0ZW5kICVsYXJnZVRvcE1hcmdpbjtcclxuXHRtYXJnaW4tdG9wOiAxMzBweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRsZykge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwJTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMpIHtcclxuXHRcdHdpZHRoOiBzcGFuKDEyKTtcclxuXHRcdG1hcmdpbi10b3A6IDFlbTtcclxuXHR9XHJcbn0iLCIuYWR2aWNlQXJ0aWNsZV9fdGV4dCB7XHJcblx0QGV4dGVuZCAlZGVmYXVsdFRvcE1hcmdpbjtcdFxyXG5cdG1heC13aWR0aDogbm9uZTtcclxufSIsIi5hZHZpY2VBcnRpY2xlX19yZWZlclRvQWxsQWR2aWNlIHtcclxuXHRAZXh0ZW5kICVmbG9hdFJpZ2h0O1xyXG5cdGxpbmUtaGVpZ2h0OiA3MHB4O1xyXG59Il19 */
