.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
/*.input-block-level {
  display: block;
  width: 100%;
  min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
  .box-sizing(border-box); // Makes inputs behave like true block-level elements
}
*/
body .page-header-fb {
  padding: 0 10px;
}
body .page-header-fb .phys-or-busyn {
  width: 33%;
  float: right;
  height: auto;
  min-width: 259px;
  border-top: 0 none;
}
body .page-header-fb .phys-or-busyn div a {
  height: 40px;
  padding-top: 0;
  line-height: 40px;
}
body .page-header-fb .phys-or-busyn div a span {
  line-height: 35px;
}
body .page-header-fb .phys-or-busyn .phys {
  width: 60%;
}
body .page-header-fb .phys-or-busyn .busyn {
  width: 40%;
}
body .page-header-fb .head-sales-or-serv {
  width: 31%;
  float: right;
  padding: 8px 0 0;
}
body .page-header-fb .head-sales-or-serv div {
  width: 100%;
}
body .page-header-fb .head-sales-or-serv div.sales {
  text-align: center;
}
body .page-header-fb .head-sales-or-serv div.sales a {
  display: inline-block;
  width: auto;
  position: relative;
  text-align: left;
}
body .page-header-fb .head-sales-or-serv div.serv {
  display: none;
}
body .page-header-fb .geo {
  width: 136px;
  height: 50px;
  padding-top: 11px;
}
body .page-header-fb .where-buy {
  margin-left: 0;
  height: 40px;
  padding-top: 11px;
}
body .page-header-fb ul.mainmenu {
  position: relative;
  padding: 0 161px 0 0;
  padding-top: 14px;
}
body .page-header-fb ul.mainmenu li {
  padding: 0 14px 0 0;
}
body .page-header-fb ul.mainmenu li a.mainmenu-li {
  position: relative;
  text-align: left;
  outline: none;
}
body .page-header-fb ul.mainmenu li a.mainmenu-li span {
  display: inline-block;
  max-width: 45px;
  text-align: left;
}
body .page-header-fb ul.mainmenu li.logo {
  display: block;
  position: absolute;
  top: 20px;
  right: 0;
  padding: 0;
  width: auto;
}
body .page-header-fb ul.mainmenu li.logo a {
  /*background: transparent url(../../img/common/logo-768.png) 0 0 no-repeat;*/
  background-image: url(../../images/goodnumbers/spritesheet.png);
  background-repeat: no-repeat;
  background-position: -152px -1px;
  width: 136px;
  height: 55px;
  display: inline-block;
}
body .page-content {
  padding: 0;
}
body .breadcrumb {
  max-width: 1000px;
  margin: 0 auto;
}
body .page-header-fb {
  max-width: 1000px;
  margin: 0 auto;
}
body .page-header-fb .head-sales-or-serv {
  position: relative;
  width: 43%;
}
body .page-header-fb .head-sales-or-serv div.serv {
  display: block;
  width: 50%;
  float: right;
}
body .page-header-fb .head-sales-or-serv div.sales {
  width: 50%;
  float: right;
}
body .page-header-fb ul.mainmenu li a span {
  font-size: 16px;
  margin: 1px 0 0;
}
body .page-header-fb .mainmenu-2 {
  display: table;
  width: 100%;
  position: relative;
  height: 46px;
  margin-top: 20px;
}
body .page-header-fb .mainmenu-2 ul {
  display: table-row;
}
body .page-header-fb .mainmenu-2 ul li {
  display: table-cell;
  text-align: center;
  position: relative;
  height: 46px;
  /*background: transparent url(../../img/common/mainmenu-2-divider.png) left center no-repeat;
          &:first-child {
            background: transparent;
          }
          &.active {
            background-color: blue;
          }
          &.current {
            background-color: green;
          }*/
}
body .page-header-fb .mainmenu-2 ul li a {
  display: block;
  width: 100%;
  height: 46px;
  line-height: 42px;
  vertical-align: top;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-family: Tahoma, Arial, sans-serif;
  text-shadow: 0 -1px 1px #a71f70;
  position: relative;
  /*padding:0 0 0 2px;*/
  padding: 0 10px;
  background: transparent url(../../img/common/mainmenu-2.png) -16px 0 no-repeat;
  outline: none;
}
body .page-header-fb .mainmenu-2 ul li a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -18px;
  width: 2px;
  height: 36px;
  /*background: transparent url(../../img/common/mainmenu-2-divider.png) 0 0 no-repeat;*/
  background-image: url(../../images/goodnumbers/spritesheet.png);
  background-repeat: no-repeat;
  background-position: -290px -1px;
}
body .page-header-fb .mainmenu-2 ul li a:hover span {
  border-bottom: 1px dotted #fff;
}
body .page-header-fb .mainmenu-2 ul li.current a,
body .page-header-fb .mainmenu-2 ul li.active a {
  background-position: -16px -46px;
}
body .page-header-fb .mainmenu-2 ul li.first a {
  background-position: 0 0;
}
body .page-header-fb .mainmenu-2 ul li.first a:before {
  display: none;
}
body .page-header-fb .mainmenu-2 ul li.first.current a,
body .page-header-fb .mainmenu-2 ul li.first.active a {
  background-position: 0 -46px;
}
body .page-header-fb .mainmenu-2 ul li.last a {
  background-position: right 0;
}
body .page-header-fb .mainmenu-2 ul li.last.current a,
body .page-header-fb .mainmenu-2 ul li.last.active a {
  background-position: right -46px;
}
body .page-content {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 32px;
}
body .page-footer {
  text-align: left;
}
body .page-footer .page-footer-container {
  max-width: 1000px;
  margin: 0 auto;
}
body .page-footer .foot-sales-or-serv {
  display: block;
  float: left;
  width: auto;
  margin: 0 20px 0 9px;
}
body .page-footer .soc-nets {
  display: block;
  float: left;
  width: auto;
  margin: 12px 20px;
}
body .page-footer .footer-menu {
  display: inline-block;
  margin: 0;
}
body .page-footer .footer-menu a:hover {
  text-decoration: none;
}
body .page-footer .copyright {
  display: inline-block;
  margin-left: 10px;
}
/*
Подключили стили для планшета и десктопа, т.к. в IE8 не работают media queries
Ниже действительно специальные изменения для IE8, если они нужны
*/
body {
  min-width: 1000px !important;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1vbi9taXhpbnMubGVzcyIsImNvbW1vbi9pZV84LmNzcyIsImNvbW1vbi9jb21tb25fdGFibGV0Lmxlc3MiLCJjb21tb24vY29tbW9uX2Rlc2t0b3AubGVzcyIsImNvbW1vbi9pZV84Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0E7R0FDRSxRQUFBO0NDVkQ7QURXQzs7RUFFRSxlQUFBO0VBQ0EsWUFBQTtFQUdBLGVBQUE7Q0NYSDtBRGFDO0VBQ0UsWUFBQTtDQ1hIO0FEOEZEO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSw4QkFBQTtFQUNBLFVBQUE7Q0M1RkQ7QUFDRDs7Ozs7O0VBTUU7QUN2QkY7RUFFSSxnQkFBQTtDRHdCSDtBQzFCRDtFQUtNLFdBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7Q0R3Qkw7QUNqQ0Q7RUFXUSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0NEeUJQO0FDdENEO0VBZVUsa0JBQUE7Q0QwQlQ7QUN6Q0Q7RUFtQlEsV0FBQTtDRHlCUDtBQzVDRDtFQXNCUSxXQUFBO0NEeUJQO0FDL0NEO0VBNEJNLFdBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7Q0RzQkw7QUNwREQ7RUFpQ1EsWUFBQTtDRHNCUDtBQ3JCTztFQUNFLG1CQUFBO0NEdUJUO0FDeEJPO0VBR0ksc0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtDRHdCWDtBQ3JCTztFQUNFLGNBQUE7Q0R1QlQ7QUNuRUQ7RUFxRE0sYUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtDRGlCTDtBQ3hFRDtFQTBETSxlQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0NEaUJMO0FDN0VEO0VBK0RNLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtDRGlCTDtBQ2xGRDtFQW9FUSxvQkFBQTtDRGlCUDtBQ3JGRDtFQXNFVSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtDRGtCVDtBQzFGRDtFQTBFWSxzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7Q0RtQlg7QUNmTztFQUNFLGVBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7Q0RpQlQ7QUN2Qk87RUR5Qk4sNkVBQTZFO0VDaEJuRSxnRUFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0NEa0JYO0FDaEhEO0VBcUdJLFdBQUE7Q0RjSDtBRW5IRDtFQUVJLGtCQUFBO0VBQ0EsZUFBQTtDRm9ISDtBRXZIRDtFQU1JLGtCQUFBO0VBQ0EsZUFBQTtDRm9ISDtBRTNIRDtFQVNNLG1CQUFBO0VBQ0EsV0FBQTtDRnFITDtBRW5ITztFQUNFLGVBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtDRnFIVDtBRW5ITztFQUNFLFdBQUE7RUFDQSxhQUFBO0NGcUhUO0FFeElEO0VBeUJNLGdCQUFBO0VBQ0EsZ0JBQUE7Q0ZrSEw7QUU1SUQ7RUE4Qk0sZUFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUVBLGFBQUE7RUFDQSxpQkFBQTtDRmdITDtBRW5KRDtFQXFDUSxtQkFBQTtDRmlIUDtBRXRKRDtFQXVDVSxvQkFBQTtFQUNBLG1CQUFBO0VBRUEsbUJBQUE7RUFDQSxhQUFBO0VGaUhSOzs7Ozs7Ozs7YUFTVztDQUNaO0FFdEtEO0VBdURZLGVBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLHVDQUFBO0VBQ0EsZ0NBQUE7RUFDQSxtQkFBQTtFRmtIVixzQkFBc0I7RUVoSFosZ0JBQUE7RUFDQSwrRUFBQTtFQUNBLGNBQUE7Q0ZrSFg7QUVqSFc7RUFDRSxZQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VGbUhaLHVGQUF1RjtFRWpIM0UsZ0VBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0NGbUhiO0FFaEhXO0VBQ0UsK0JBQUE7Q0ZrSGI7QUU5R1M7O0VBRUksaUNBQUE7Q0ZnSGI7QUU1R1M7RUFFSSx5QkFBQTtDRjZHYjtBRTNHYTtFQUNFLGNBQUE7Q0Y2R2Y7QUUxR1c7O0VBRUksNkJBQUE7Q0Y0R2Y7QUV2R1M7RUFFSSw2QkFBQTtDRndHYjtBRXRHVzs7RUFFSSxpQ0FBQTtDRndHZjtBRTdORDtFQWlJSSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtDRitGSDtBRWxPRDtFQTRJSSxpQkFBQTtDRnlGSDtBRXJPRDtFQXVJTSxrQkFBQTtFQUNBLGVBQUE7Q0ZpR0w7QUV6T0Q7RUE4SU0sZUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EscUJBQUE7Q0Y4Rkw7QUUvT0Q7RUFvSk0sZUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7Q0Y4Rkw7QUVyUEQ7RUEwSk0sc0JBQUE7RUFDQSxVQUFBO0NGOEZMO0FFelBEO0VBNkpRLHNCQUFBO0NGK0ZQO0FFNVBEO0VBaUtNLHNCQUFBO0VBQ0Esa0JBQUE7Q0Y4Rkw7QUFDRDs7O0VBR0U7QUc3UEY7RUFDSSw2QkFBQTtDSCtQSCIsImZpbGUiOiJjb21tb24vaWVfOC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xyXG4vLyBNaXhpbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBVVElMSVRZIE1JWElOU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ2xlYXJmaXhcclxuLy8gLS0tLS0tLS1cclxuLy8gRm9yIGNsZWFyaW5nIGZsb2F0cyBsaWtlIGEgYm9zcyBoNWJwLmNvbS9xXHJcbi5jbGVhcmZpeCB7XHJcbiAgKnpvb206IDE7XHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAvLyBGaXhlcyBPcGVyYS9jb250ZW50ZWRpdGFibGUgYnVnOlxyXG4gICAgLy8gaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svI2NvbW1lbnQtMzY5NTJcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV2Via2l0LXN0eWxlIGZvY3VzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udGFiLWZvY3VzKCkge1xyXG4gIC8vIERlZmF1bHRcclxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xyXG4gIC8vIFdlYmtpdFxyXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxuICBvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5jZW50ZXItYmxvY2soKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLyBJRTcgaW5saW5lLWJsb2NrXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuLmllNy1pbmxpbmUtYmxvY2soKSB7XHJcbiAgKmRpc3BsYXk6IGlubGluZTsgLyogSUU3IGlubGluZS1ibG9jayBoYWNrICovXHJcbiAgKnpvb206IDE7XHJcbn1cclxuXHJcbi8vIElFNyBsaWtlcyB0byBjb2xsYXBzZSB3aGl0ZXNwYWNlIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBpbmxpbmUtYmxvY2sgZWxlbWVudHMuXHJcbi8vIEVtcyBiZWNhdXNlIHdlJ3JlIGF0dGVtcHRpbmcgdG8gbWF0Y2ggdGhlIHdpZHRoIG9mIGEgc3BhY2UgY2hhcmFjdGVyLiBMZWZ0XHJcbi8vIHZlcnNpb24gaXMgZm9yIGZvcm0gYnV0dG9ucywgd2hpY2ggdHlwaWNhbGx5IGNvbWUgYWZ0ZXIgb3RoZXIgZWxlbWVudHMsIGFuZFxyXG4vLyByaWdodCB2ZXJzaW9uIGlzIGZvciBpY29ucywgd2hpY2ggY29tZSBiZWZvcmUuIEFwcGx5aW5nIGJvdGggaXMgb2ssIGJ1dCBpdCB3aWxsXHJcbi8vIG1lYW4gdGhhdCBzcGFjZSBiZXR3ZWVuIHRob3NlIGVsZW1lbnRzIHdpbGwgYmUgLjZlbSAofjIgc3BhY2UgY2hhcmFjdGVycykgaW4gSUU3LFxyXG4vLyBpbnN0ZWFkIG9mIHRoZSAxIHNwYWNlIGluIG90aGVyIGJyb3dzZXJzLlxyXG4uaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCkge1xyXG4gICptYXJnaW4tbGVmdDogLjNlbTtcclxuXHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAqbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uaWU3LXJlc3RvcmUtcmlnaHQtd2hpdGVzcGFjZSgpIHtcclxuICAqbWFyZ2luLXJpZ2h0OiAuM2VtO1xyXG59XHJcblxyXG4vLyBTaXppbmcgc2hvcnRjdXRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnNpemUoQGhlaWdodCwgQHdpZHRoKSB7XHJcbiAgd2lkdGg6IEB3aWR0aDtcclxuICBoZWlnaHQ6IEBoZWlnaHQ7XHJcbn1cclxuLnNxdWFyZShAc2l6ZSkge1xyXG4gIC5zaXplKEBzaXplLCBAc2l6ZSk7XHJcbn1cclxuXHJcbi8vIFBsYWNlaG9sZGVyIHRleHRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAcGxhY2Vob2xkZXJUZXh0KSB7XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiBAY29sb3I7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiBAY29sb3I7XHJcbiAgfVxyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IEBjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRleHQgb3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXHJcbi50ZXh0LW92ZXJmbG93KCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XHJcbi5oaWRlLXRleHQge1xyXG4gIGZvbnQ6IDAvMCBhO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcblxyXG4vLyBGT05UU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuI2ZvbnQge1xyXG4gICNmYW1pbHkge1xyXG4gICAgLnNlcmlmKCkge1xyXG4gICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udEZhbWlseTtcclxuICAgIH1cclxuICAgIC5zYW5zLXNlcmlmKCkge1xyXG4gICAgICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xyXG4gICAgfVxyXG4gICAgLm1vbm9zcGFjZSgpIHtcclxuICAgICAgZm9udC1mYW1pbHk6IEBtb25vRm9udEZhbWlseTtcclxuICAgIH1cclxuICB9XHJcbiAgLnNob3J0aGFuZChAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XHJcbiAgICBmb250LXNpemU6IEBzaXplO1xyXG4gICAgZm9udC13ZWlnaHQ6IEB3ZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XHJcbiAgfVxyXG4gIC5zZXJpZihAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XHJcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAuc2VyaWY7XHJcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcclxuICB9XHJcbiAgLnNhbnMtc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xyXG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNhbnMtc2VyaWY7XHJcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcclxuICB9XHJcbiAgLm1vbm9zcGFjZShAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XHJcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAubW9ub3NwYWNlO1xyXG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRk9STVNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEJsb2NrIGxldmVsIGlucHV0c1xyXG4vKi5pbnB1dC1ibG9jay1sZXZlbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogQGlucHV0SGVpZ2h0OyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXHJcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7IC8vIE1ha2VzIGlucHV0cyBiZWhhdmUgbGlrZSB0cnVlIGJsb2NrLWxldmVsIGVsZW1lbnRzXHJcbn1cclxuKi9cclxuXHJcblxyXG4vLyBNaXhpbiBmb3IgZm9ybSBmaWVsZCBzdGF0ZXNcclxuLmZvcm1GaWVsZFN0YXRlKEB0ZXh0Q29sb3I6ICM1NTUsIEBib3JkZXJDb2xvcjogI2NjYywgQGJhY2tncm91bmRDb2xvcjogI2Y1ZjVmNSkge1xyXG4gIC8vIFNldCB0aGUgdGV4dCBjb2xvclxyXG4gIC5jb250cm9sLWxhYmVsLFxyXG4gIC5oZWxwLWJsb2NrLFxyXG4gIC5oZWxwLWlubGluZSB7XHJcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcclxuICB9XHJcbiAgLy8gU3R5bGUgaW5wdXRzIGFjY29yZGluZ2x5XHJcbiAgLmNoZWNrYm94LFxyXG4gIC5yYWRpbyxcclxuICBpbnB1dCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XHJcbiAgfVxyXG4gIGlucHV0LFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcclxuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyQ29sb3IsIDEwJSk7XHJcbiAgICAgIEBzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlckNvbG9yLCAyMCUpO1xyXG4gICAgICAuYm94LXNoYWRvdyhAc2hhZG93KTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gR2l2ZSBhIHNtYWxsIGJhY2tncm91bmQgY29sb3IgZm9yIGlucHV0LXByZXBlbmQvLWFwcGVuZFxyXG4gIC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sXHJcbiAgLmlucHV0LWFwcGVuZCAuYWRkLW9uIHtcclxuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogQHRleHRDb2xvcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQ1NTMyBQUk9QRVJUSUVTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBCb3JkZXIgUmFkaXVzXHJcbi5ib3JkZXItcmFkaXVzKEByYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogQHJhZGl1cztcclxufVxyXG5cclxuLy8gU2luZ2xlIENvcm5lciBCb3JkZXIgUmFkaXVzXHJcbi5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XHJcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiBAcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcclxufVxyXG4uYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XHJcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogQHJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG59XHJcbi5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiBAcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XHJcbn1cclxuLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IEByYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG59XHJcblxyXG4vLyBTaW5nbGUgU2lkZSBCb3JkZXIgUmFkaXVzXHJcbi5ib3JkZXItdG9wLXJhZGl1cyhAcmFkaXVzKSB7XHJcbiAgLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKEByYWRpdXMpO1xyXG4gIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xyXG59XHJcbi5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcclxuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XHJcbiAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKEByYWRpdXMpO1xyXG59XHJcbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XHJcbiAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKEByYWRpdXMpO1xyXG4gIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xyXG59XHJcbi5ib3JkZXItbGVmdC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xyXG4gIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xyXG59XHJcblxyXG4vLyBEcm9wIHNoYWRvd3NcclxuLmJveC1zaGFkb3coQHNoYWRvdykge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdztcclxuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xyXG59XHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG4udHJhbnNpdGlvbihAdHJhbnNpdGlvbikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XHJcbiAgICAgLW1vei10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcclxuICAgICAgIC1vLXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XHJcbn1cclxuLnRyYW5zaXRpb24tZGVsYXkoQHRyYW5zaXRpb24tZGVsYXkpIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xyXG4gICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XHJcbiAgICAgICAtby10cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xyXG59XHJcbi50cmFuc2l0aW9uLWR1cmF0aW9uKEB0cmFuc2l0aW9uLWR1cmF0aW9uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxufVxyXG5cclxuLy8gVHJhbnNmb3JtYXRpb25zXHJcbi5yb3RhdGUoQGRlZ3JlZXMpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcclxufVxyXG4uc2NhbGUoQHJhdGlvKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XHJcbn1cclxuLnRyYW5zbGF0ZShAeCwgQHkpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xyXG59XHJcbi5za2V3KEB4LCBAeSkge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2l0dGVyL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NVxyXG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2l0dGVyL2Jvb3RzdHJhcC9pc3N1ZXMvNTMxOVxyXG59XHJcbi50cmFuc2xhdGUzZChAeCwgQHksIEB6KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xyXG59XHJcblxyXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XHJcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXHJcbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlblxyXG4vLyBTZWUgZ2l0IHB1bGwgaHR0cHM6Ly9naXRodWIuY29tL2Rhbm55a2VhbmUvYm9vdHN0cmFwLmdpdCBiYWNrZmFjZS12aXNpYmlsaXR5IGZvciBleGFtcGxlc1xyXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XHJcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcclxuXHQgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xyXG5cdCAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XHJcbn1cclxuXHJcbi8vIEJhY2tncm91bmQgY2xpcHBpbmdcclxuLy8gSGVhZHMgdXA6IEZGIDMuNiBhbmQgdW5kZXIgbmVlZCBcInBhZGRpbmdcIiBpbnN0ZWFkIG9mIFwicGFkZGluZy1ib3hcIlxyXG4uYmFja2dyb3VuZC1jbGlwKEBjbGlwKSB7XHJcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xyXG4gICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogQGNsaXA7XHJcbn1cclxuXHJcbi8vIEJhY2tncm91bmQgc2l6aW5nXHJcbi5iYWNrZ3JvdW5kLXNpemUoQHNpemUpIHtcclxuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XHJcbiAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xyXG4gICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XHJcbn1cclxuXHJcblxyXG4vLyBCb3ggc2l6aW5nXHJcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xyXG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xyXG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xyXG59XHJcblxyXG4vLyBVc2VyIHNlbGVjdFxyXG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcclxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xyXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDtcclxuICAgICAgIC1vLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xyXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XHJcbn1cclxuXHJcbi8vIFJlc2l6ZSBhbnl0aGluZ1xyXG4ucmVzaXphYmxlKEBkaXJlY3Rpb24pIHtcclxuICByZXNpemU6IEBkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXHJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFNhZmFyaSBmaXhcclxufVxyXG5cclxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcclxuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uQ291bnQsIEBjb2x1bW5HYXA6IEBncmlkR3V0dGVyV2lkdGgpIHtcclxuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xyXG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XHJcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcclxuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XHJcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcclxufVxyXG5cclxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cclxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBAbW9kZTtcclxuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xyXG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7XHJcbiAgICAgICAtby1oeXBoZW5zOiBAbW9kZTtcclxuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xyXG59XHJcblxyXG4vLyBPcGFjaXR5XHJcbi5vcGFjaXR5KEBvcGFjaXR5KSB7XHJcbiAgb3BhY2l0eTogQG9wYWNpdHkgLyAxMDA7XHJcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eX0pXCI7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQkFDS0dST1VORFNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEFkZCBhbiBhbHBoYXRyYW5zcGFyZW5jeSB2YWx1ZSB0byBhbnkgYmFja2dyb3VuZCBvciBib3JkZXIgY29sb3IgKHZpYSBFbHlzZSBIb2xsYWRheSlcclxuI3RyYW5zbHVjZW50IHtcclxuICAuYmFja2dyb3VuZChAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xyXG4gIH1cclxuICAuYm9yZGVyKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcclxuICAgIGJvcmRlci1jb2xvcjogaHNsYShodWUoQGNvbG9yKSwgc2F0dXJhdGlvbihAY29sb3IpLCBsaWdodG5lc3MoQGNvbG9yKSwgQGFscGhhKTtcclxuICAgIC5iYWNrZ3JvdW5kLWNsaXAocGFkZGluZy1ib3gpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gR3JhZGllbnQgQmFyIENvbG9ycyBmb3IgYnV0dG9ucyBhbmQgYWxlcnRzXHJcbi5ncmFkaWVudEJhcihAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IsIEB0ZXh0Q29sb3I6ICNmZmYsIEB0ZXh0U2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSkpIHtcclxuICBjb2xvcjogQHRleHRDb2xvcjtcclxuICB0ZXh0LXNoYWRvdzogQHRleHRTaGFkb3c7XHJcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcik7XHJcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3IgQHNlY29uZGFyeUNvbG9yIGRhcmtlbihAc2Vjb25kYXJ5Q29sb3IsIDE1JSk7XHJcbiAgLy8gTm8gaWRlYSB3aHkgdGhpcyBpcyBoZXJlLCBhcyBpdCBtYWtlcyB0aGUgYm9yZGVyIGdyZXkgaW5zdGVhZCBvZiB0aGUgZ2l2ZW4gY29sb3JzXHJcbiAgLy8gYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSBmYWRlaW4ocmdiYSgwLDAsMCwuMSksIDE1JSk7XHJcbn1cclxuXHJcbi8vIEdyYWRpZW50c1xyXG4jZ3JhZGllbnQge1xyXG4gIC5ob3Jpem9udGFsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAxMDAlIDAsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnRDb2xvciksYXJnYihAZW5kQ29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxyXG4gIH1cclxuICAudmVydGljYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIDYwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydENvbG9yKSxhcmdiKEBlbmRDb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXHJcbiAgfVxyXG4gIC5kaXJlY3Rpb25hbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzLCBAZGVnOiA0NWRlZykge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxyXG4gIH1cclxuICAuaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3I6ICMwMGIzZWUsIEBtaWRDb2xvcjogIzdhNDNiNiwgQGNvbG9yU3RvcDogNTAlLCBAZW5kQ29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGVmdCwgbGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIGNvbG9yLXN0b3AoQGNvbG9yU3RvcCwgQG1pZENvbG9yKSwgdG8oQGVuZENvbG9yKSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydENvbG9yKSxhcmdiKEBlbmRDb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcclxuICB9XHJcblxyXG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3I6ICMwMGIzZWUsIEBtaWRDb2xvcjogIzdhNDNiNiwgQGNvbG9yU3RvcDogNTAlLCBAZW5kQ29sb3I6ICNjMzMyNWYpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIGNvbG9yLXN0b3AoQGNvbG9yU3RvcCwgQG1pZENvbG9yKSwgdG8oQGVuZENvbG9yKSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnRDb2xvciksYXJnYihAZW5kQ29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXHJcbiAgfVxyXG4gIC5yYWRpYWwoQGlubmVyQ29sb3I6ICM1NTUsIEBvdXRlckNvbG9yOiAjMzMzKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3V0ZXJDb2xvcjtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oQGlubmVyQ29sb3IpLCB0byhAb3V0ZXJDb2xvcikpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgfVxyXG4gIC5zdHJpcGVkKEBjb2xvcjogIzU1NSwgQGFuZ2xlOiA0NWRlZykge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbiAgfVxyXG59XHJcbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXHJcbi5yZXNldC1maWx0ZXIoKSB7XHJcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQ09NUE9ORU5UIE1JWElOU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xyXG4ubmF2LWRpdmlkZXIoQHRvcDogI2U1ZTVlNSwgQGJvdHRvbTogQHdoaXRlKSB7XHJcbiAgLy8gSUU3IG5lZWRzIGEgc2V0IHdpZHRoIHNpbmNlIHdlIGdhdmUgYSBoZWlnaHQuIFJlc3RyaWN0aW5nIGp1c3RcclxuICAvLyB0byBJRTcgdG8ga2VlcCB0aGUgMXB4IGxlZnQvcmlnaHQgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXHJcbiAgLy8gSXQgaXMgdW5jbGVhciB3aGVyZSBJRSBpcyBnZXR0aW5nIHRoZSBleHRyYSBzcGFjZSB0aGF0IHdlIG5lZWRcclxuICAvLyB0byBuZWdhdGl2ZS1tYXJnaW4gYXdheSwgYnV0IHNvIGl0IGdvZXMuXHJcbiAgKndpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogKChAYmFzZUxpbmVIZWlnaHQgLyAyKSAtIDEpIDFweDsgLy8gOHB4IDFweFxyXG4gICptYXJnaW46IC01cHggMCA1cHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9wO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAYm90dG9tO1xyXG59XHJcblxyXG4vLyBCdXR0b24gYmFja2dyb3VuZHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5idXR0b25CYWNrZ3JvdW5kKEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIEB0ZXh0Q29sb3I6ICNmZmYsIEB0ZXh0U2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSkpIHtcclxuICAvLyBncmFkaWVudEJhciB3aWxsIHNldCB0aGUgYmFja2dyb3VuZCB0byBhIHBsZWFzaW5nIGJsZW5kIG9mIHRoZXNlLCB0byBzdXBwb3J0IElFPD05XHJcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIEB0ZXh0Q29sb3IsIEB0ZXh0U2hhZG93KTtcclxuICAqYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yOyAvKiBEYXJrZW4gSUU3IGJ1dHRvbnMgYnkgZGVmYXVsdCBzbyB0aGV5IHN0YW5kIG91dCBtb3JlIGdpdmVuIHRoZXkgd29uJ3QgaGF2ZSBib3JkZXJzICovXHJcbiAgLnJlc2V0LWZpbHRlcigpO1xyXG5cclxuICAvLyBpbiB0aGVzZSBjYXNlcyB0aGUgZ3JhZGllbnQgd29uJ3QgY292ZXIgdGhlIGJhY2tncm91bmQsIHNvIHdlIG92ZXJyaWRlXHJcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYuYWN0aXZlLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcclxuICAgICpiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCA1JSk7XHJcbiAgfVxyXG5cclxuICAvLyBJRSA3ICsgOCBjYW4ndCBoYW5kbGUgYm94LXNoYWRvdyB0byBzaG93IGFjdGl2ZSwgc28gd2UgZGFya2VuIGEgYml0IG91cnNlbHZlc1xyXG4gICY6YWN0aXZlLFxyXG4gICYuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDEwJSkgZShcIlxcOVwiKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXHJcbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXHJcbi5uYXZiYXJWZXJ0aWNhbEFsaWduKEBlbGVtZW50SGVpZ2h0KSB7XHJcbiAgbWFyZ2luLXRvcDogKEBuYXZiYXJIZWlnaHQgLSBAZWxlbWVudEhlaWdodCkgLyAyO1xyXG59XHJcblxyXG5cclxuXHJcbi8vIEdyaWQgU3lzdGVtXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxyXG4uY29udGFpbmVyLWZpeGVkKCkge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAuY2xlYXJmaXgoKTtcclxufVxyXG5cclxuLy8gVGFibGUgY29sdW1uc1xyXG4udGFibGVDb2x1bW5zKEBjb2x1bW5TcGFuOiAxKSB7XHJcbiAgZmxvYXQ6IG5vbmU7IC8vIHVuZG8gZGVmYXVsdCBncmlkIGNvbHVtbiBzdHlsZXNcclxuICB3aWR0aDogKChAZ3JpZENvbHVtbldpZHRoKSAqIEBjb2x1bW5TcGFuKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5TcGFuIC0gMSkpIC0gMTY7IC8vIDE2IGlzIHRvdGFsIHBhZGRpbmcgb24gbGVmdCBhbmQgcmlnaHQgb2YgdGFibGUgY2VsbHNcclxuICBtYXJnaW4tbGVmdDogMDsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xyXG59XHJcblxyXG4vLyBNYWtlIGEgR3JpZFxyXG4vLyBVc2UgLm1ha2VSb3cgYW5kIC5tYWtlQ29sdW1uIHRvIGFzc2lnbiBzZW1hbnRpYyBsYXlvdXRzIGdyaWQgc3lzdGVtIGJlaGF2aW9yXHJcbi5tYWtlUm93KCkge1xyXG4gIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoICogLTE7XHJcbiAgLmNsZWFyZml4KCk7XHJcbn1cclxuLm1ha2VDb2x1bW4oQGNvbHVtbnM6IDEsIEBvZmZzZXQ6IDApIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAb2Zmc2V0KSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBvZmZzZXQgLSAxKSkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIDIpO1xyXG4gIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xyXG59XHJcblxyXG4vLyBUaGUgR3JpZFxyXG4jZ3JpZCB7XHJcblxyXG4gIC5jb3JlIChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XHJcblxyXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcclxuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cclxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLnNwYW5YICgwKSB7fVxyXG5cclxuICAgIC5vZmZzZXRYIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcclxuICAgICAgLm9mZnNldEB7aW5kZXh9IHsgLm9mZnNldChAaW5kZXgpOyB9XHJcbiAgICAgIC5vZmZzZXRYKEBpbmRleCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLm9mZnNldFggKDApIHt9XHJcblxyXG4gICAgLm9mZnNldCAoQGNvbHVtbnMpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgKyAxKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XHJcbiAgICAgIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aCAqIC0xO1xyXG4gICAgICAuY2xlYXJmaXgoKTtcclxuICAgIH1cclxuXHJcbiAgICBbY2xhc3MqPVwic3BhblwiXSB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBtaW4taGVpZ2h0OiAxcHg7IC8vIHByZXZlbnQgY29sbGFwc2luZyBjb2x1bW5zXHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllc1xyXG4gICAgLmNvbnRhaW5lcixcclxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAuY29udGFpbmVyLFxyXG4gICAgLm5hdmJhci1maXhlZC10b3AgLmNvbnRhaW5lcixcclxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5jb250YWluZXIgeyAuc3BhbihAZ3JpZENvbHVtbnMpOyB9XHJcblxyXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YIGFuZCAub2Zmc2V0WFxyXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xyXG4gICAgLm9mZnNldFggKEBncmlkQ29sdW1ucyk7XHJcblxyXG4gIH1cclxuXHJcbiAgLmZsdWlkIChAZmx1aWRHcmlkQ29sdW1uV2lkdGgsIEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCkge1xyXG5cclxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XHJcbiAgICAgIC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XHJcbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcclxuICAgIH1cclxuICAgIC5zcGFuWCAoMCkge31cclxuXHJcbiAgICAub2Zmc2V0WCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XHJcbiAgICAgIC5vZmZzZXRAe2luZGV4fSB7IC5vZmZzZXQoQGluZGV4KTsgfVxyXG4gICAgICAub2Zmc2V0QHtpbmRleH06Zmlyc3QtY2hpbGQgeyAub2Zmc2V0Rmlyc3RDaGlsZChAaW5kZXgpOyB9XHJcbiAgICAgIC5vZmZzZXRYKEBpbmRleCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLm9mZnNldFggKDApIHt9XHJcblxyXG4gICAgLm9mZnNldCAoQGNvbHVtbnMpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCoyKTtcclxuICBcdCAgKm1hcmdpbi1sZWZ0OiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKSAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSkgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoKjIpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcclxuICAgIH1cclxuXHJcbiAgICAub2Zmc2V0Rmlyc3RDaGlsZCAoQGNvbHVtbnMpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCk7XHJcbiAgICAgICptYXJnaW4tbGVmdDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpICsgQGZsdWlkR3JpZEd1dHRlcldpZHRoIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcclxuICAgICAgd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xyXG4gICAgICAqd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcclxuICAgIH1cclxuXHJcbiAgICAucm93LWZsdWlkIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC5jbGVhcmZpeCgpO1xyXG4gICAgICBbY2xhc3MqPVwic3BhblwiXSB7XHJcbiAgICAgICAgLmlucHV0LWJsb2NrLWxldmVsKCk7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcclxuICAgICAgICAqbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSk7XHJcbiAgICAgIH1cclxuICAgICAgW2NsYXNzKj1cInNwYW5cIl06Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTcGFjZSBncmlkLXNpemVkIGNvbnRyb2xzIHByb3Blcmx5IGlmIG11bHRpcGxlIHBlciBsaW5lXHJcbiAgICAgIC5jb250cm9scy1yb3cgW2NsYXNzKj1cInNwYW5cIl0gKyBbY2xhc3MqPVwic3BhblwiXSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gZ2VuZXJhdGUgLnNwYW5YIGFuZCAub2Zmc2V0WFxyXG4gICAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XHJcbiAgICAgIC5vZmZzZXRYIChAZ3JpZENvbHVtbnMpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC5pbnB1dChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XHJcblxyXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcclxuICAgICAgaW5wdXQuc3BhbkB7aW5kZXh9LCB0ZXh0YXJlYS5zcGFuQHtpbmRleH0sIC51bmVkaXRhYmxlLWlucHV0LnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cclxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLnNwYW5YICgwKSB7fVxyXG5cclxuICAgIC5zcGFuKEBjb2x1bW5zKSB7XHJcbiAgICAgIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAxNDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCxcclxuICAgIHRleHRhcmVhLFxyXG4gICAgLnVuZWRpdGFibGUtaW5wdXQge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gb3ZlcnJpZGUgbWFyZ2luLWxlZnQgZnJvbSBjb3JlIGdyaWQgc3lzdGVtXHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3BhY2UgZ3JpZC1zaXplZCBjb250cm9scyBwcm9wZXJseSBpZiBtdWx0aXBsZSBwZXIgbGluZVxyXG4gICAgLmNvbnRyb2xzLXJvdyBbY2xhc3MqPVwic3BhblwiXSArIFtjbGFzcyo9XCJzcGFuXCJdIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXHJcbiAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XHJcblxyXG4gIH1cclxufVxyXG5cclxuLmxpdHRsZS1hYnMtYmctZWxlbShAaW1nbGVmdDowLEBpbWd0b3A6MCxAd2lkdGg6MCxAaGVpZ2h0OjAsQGxlZnQ6MCxAdG9wOjAsQHVybDpcIi4uLy4uL2ltYWdlcy9hbGxwYWdlc19zcHJpdGUucG5nXCIpIHtcclxuICBiYWNrZ3JvdW5kOiB+XCJ0cmFuc3BhcmVudCB1cmwoQHt1cmx9KSBAe2ltZ2xlZnR9cHggIEB7aW1ndG9wfXB4IG5vLXJlcGVhdFwiO1xyXG4gIHdpZHRoOn5cIkB7d2lkdGh9XCI7XHJcbiAgaGVpZ2h0On5cIkB7aGVpZ2h0fVwiO1xyXG4gIHRvcDogflwiQHt0b3B9XCI7XHJcbiAgbGVmdDogflwiQHtsZWZ0fVwiO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4iLCIuY2xlYXJmaXgge1xuICAqem9vbTogMTtcbn1cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbi8qLmlucHV0LWJsb2NrLWxldmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiBAaW5wdXRIZWlnaHQ7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7IC8vIE1ha2VzIGlucHV0cyBiZWhhdmUgbGlrZSB0cnVlIGJsb2NrLWxldmVsIGVsZW1lbnRzXG59XG4qL1xuYm9keSAucGFnZS1oZWFkZXItZmIge1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAucGh5cy1vci1idXN5biB7XG4gIHdpZHRoOiAzMyU7XG4gIGZsb2F0OiByaWdodDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDI1OXB4O1xuICBib3JkZXItdG9wOiAwIG5vbmU7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAucGh5cy1vci1idXN5biBkaXYgYSB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLnBoeXMtb3ItYnVzeW4gZGl2IGEgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLnBoeXMtb3ItYnVzeW4gLnBoeXMge1xuICB3aWR0aDogNjAlO1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLnBoeXMtb3ItYnVzeW4gLmJ1c3luIHtcbiAgd2lkdGg6IDQwJTtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5oZWFkLXNhbGVzLW9yLXNlcnYge1xuICB3aWR0aDogMzElO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDhweCAwIDA7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAuaGVhZC1zYWxlcy1vci1zZXJ2IGRpdiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLmhlYWQtc2FsZXMtb3Itc2VydiBkaXYuc2FsZXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAuaGVhZC1zYWxlcy1vci1zZXJ2IGRpdi5zYWxlcyBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLmhlYWQtc2FsZXMtb3Itc2VydiBkaXYuc2VydiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAuZ2VvIHtcbiAgd2lkdGg6IDEzNnB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAxMXB4O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLndoZXJlLWJ1eSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctdG9wOiAxMXB4O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgdWwubWFpbm1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMTYxcHggMCAwO1xuICBwYWRkaW5nLXRvcDogMTRweDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIHVsLm1haW5tZW51IGxpIHtcbiAgcGFkZGluZzogMCAxNHB4IDAgMDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIHVsLm1haW5tZW51IGxpIGEubWFpbm1lbnUtbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiB1bC5tYWlubWVudSBsaSBhLm1haW5tZW51LWxpIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogNDVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIHVsLm1haW5tZW51IGxpLmxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIHVsLm1haW5tZW51IGxpLmxvZ28gYSB7XG4gIC8qYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltZy9jb21tb24vbG9nby03NjgucG5nKSAwIDAgbm8tcmVwZWF0OyovXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvZ29vZG51bWJlcnMvc3ByaXRlc2hlZXQucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MnB4IC0xcHg7XG4gIHdpZHRoOiAxMzZweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5ib2R5IC5wYWdlLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSAuYnJlYWRjcnVtYiB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLmhlYWQtc2FsZXMtb3Itc2VydiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQzJTtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5oZWFkLXNhbGVzLW9yLXNlcnYgZGl2LnNlcnYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLmhlYWQtc2FsZXMtb3Itc2VydiBkaXYuc2FsZXMge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogcmlnaHQ7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiB1bC5tYWlubWVudSBsaSBhIHNwYW4ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMXB4IDAgMDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5tYWlubWVudS0yIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDZweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5tYWlubWVudS0yIHVsIHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLm1haW5tZW51LTIgdWwgbGkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0NnB4O1xuICAvKmJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi8uLi9pbWcvY29tbW9uL21haW5tZW51LTItZGl2aWRlci5wbmcpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgICAgICAgfSovXG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAubWFpbm1lbnUtMiB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAjYTcxZjcwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qcGFkZGluZzowIDAgMCAycHg7Ki9cbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1nL2NvbW1vbi9tYWlubWVudS0yLnBuZykgLTE2cHggMCBuby1yZXBlYXQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAubWFpbm1lbnUtMiB1bCBsaSBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMThweDtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICAvKmJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi8uLi9pbWcvY29tbW9uL21haW5tZW51LTItZGl2aWRlci5wbmcpIDAgMCBuby1yZXBlYXQ7Ki9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9nb29kbnVtYmVycy9zcHJpdGVzaGVldC5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjkwcHggLTFweDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5tYWlubWVudS0yIHVsIGxpIGE6aG92ZXIgc3BhbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2ZmZjtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5tYWlubWVudS0yIHVsIGxpLmN1cnJlbnQgYSxcbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5tYWlubWVudS0yIHVsIGxpLmFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ2cHg7XG59XG5ib2R5IC5wYWdlLWhlYWRlci1mYiAubWFpbm1lbnUtMiB1bCBsaS5maXJzdCBhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLm1haW5tZW51LTIgdWwgbGkuZmlyc3QgYTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLm1haW5tZW51LTIgdWwgbGkuZmlyc3QuY3VycmVudCBhLFxuYm9keSAucGFnZS1oZWFkZXItZmIgLm1haW5tZW51LTIgdWwgbGkuZmlyc3QuYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NnB4O1xufVxuYm9keSAucGFnZS1oZWFkZXItZmIgLm1haW5tZW51LTIgdWwgbGkubGFzdCBhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMDtcbn1cbmJvZHkgLnBhZ2UtaGVhZGVyLWZiIC5tYWlubWVudS0yIHVsIGxpLmxhc3QuY3VycmVudCBhLFxuYm9keSAucGFnZS1oZWFkZXItZmIgLm1haW5tZW51LTIgdWwgbGkubGFzdC5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC00NnB4O1xufVxuYm9keSAucGFnZS1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cbmJvZHkgLnBhZ2UtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmJvZHkgLnBhZ2UtZm9vdGVyIC5wYWdlLWZvb3Rlci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5ib2R5IC5wYWdlLWZvb3RlciAuZm9vdC1zYWxlcy1vci1zZXJ2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIDIwcHggMCA5cHg7XG59XG5ib2R5IC5wYWdlLWZvb3RlciAuc29jLW5ldHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEycHggMjBweDtcbn1cbmJvZHkgLnBhZ2UtZm9vdGVyIC5mb290ZXItbWVudSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xufVxuYm9keSAucGFnZS1mb290ZXIgLmZvb3Rlci1tZW51IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5ib2R5IC5wYWdlLWZvb3RlciAuY29weXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi8qXG7Qn9C+0LTQutC70Y7Rh9C40LvQuCDRgdGC0LjQu9C4INC00LvRjyDQv9C70LDQvdGI0LXRgtCwINC4INC00LXRgdC60YLQvtC/0LAsINGCLtC6LiDQsiBJRTgg0L3QtSDRgNCw0LHQvtGC0LDRjtGCIG1lZGlhIHF1ZXJpZXNcbtCd0LjQttC1INC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGB0L/QtdGG0LjQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC00LvRjyBJRTgsINC10YHQu9C4INC+0L3QuCDQvdGD0LbQvdGLXG4qL1xuYm9keSB7XG4gIG1pbi13aWR0aDogMTAwMHB4ICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4vbWl4aW5zXCI7XHJcbmJvZHkge1xyXG4gIC5wYWdlLWhlYWRlci1mYiB7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAucGh5cy1vci1idXN5biB7XHJcbiAgICAgIC8vd2lkdGg6IDM1JTtcclxuICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBoZWlnaHQ6YXV0bztcclxuICAgICAgbWluLXdpZHRoOiAyNTlweDtcclxuICAgICAgYm9yZGVyLXRvcDowIG5vbmU7XHJcbiAgICAgIGRpdiBhIHtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6MDtcclxuICAgICAgICBsaW5lLWhlaWdodDo0MHB4O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5waHlzIHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICB9XHJcbiAgICAgIC5idXN5biB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5oZWFkLXNhbGVzLW9yLXNlcnYge1xyXG4gICAgICAvL3dpZHRoOiAzMCU7XHJcbiAgICAgIHdpZHRoOiAzMSU7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgcGFkZGluZzogOHB4IDAgMDtcclxuICAgICAgZGl2IHtcclxuXHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAmLnNhbGVzIHtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZXJ2IHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gICAgLmdlbyB7XHJcbiAgICAgIHdpZHRoOiAxMzZweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcclxuICAgIH1cclxuICAgIC53aGVyZS1idXkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTFweDtcclxuICAgIH1cclxuICAgIHVsLm1haW5tZW51IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nOiAwIDE2MXB4IDAgMDtcclxuICAgICAgcGFkZGluZy10b3A6IDE0cHg7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNHB4IDAgMDtcclxuICAgICAgICBhLm1haW5tZW51LWxpIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcclxuICAgICAgICAgIG91dGxpbmU6bm9uZTtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDVweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nbyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDoyMHB4O1xyXG4gICAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgLypiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1nL2NvbW1vbi9sb2dvLTc2OC5wbmcpIDAgMCBuby1yZXBlYXQ7Ki9cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9nb29kbnVtYmVycy9zcHJpdGVzaGVldC5wbmcpOyAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MnB4IC0xcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMzZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wYWdlLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG5cclxufSIsIkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcclxuYm9keSB7XHJcbiAgLmJyZWFkY3J1bWIge1xyXG4gICAgbWF4LXdpZHRoOjEwMDBweDtcclxuICAgIG1hcmdpbjowIGF1dG87XHJcbiAgfVxyXG4gIC5wYWdlLWhlYWRlci1mYiB7XHJcbiAgICBtYXgtd2lkdGg6MTAwMHB4O1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICAgIC5oZWFkLXNhbGVzLW9yLXNlcnYge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHdpZHRoOiA0MyU7XHJcbiAgICAgIGRpdiB7XHJcbiAgICAgICAgJi5zZXJ2IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNhbGVzIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bC5tYWlubWVudSBsaSBhIHNwYW57XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbWFyZ2luOiAxcHggMCAwXHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5tZW51LTIge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi8uLi9pbWcvY29tbW9uL21haW5tZW51LTIucG5nKSB0b3AgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgaGVpZ2h0OjQ2cHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIC8vcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgaGVpZ2h0OjQ2cHg7XHJcbiAgICAgICAgICAvKmJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLi8uLi9pbWcvY29tbW9uL21haW5tZW51LTItZGl2aWRlci5wbmcpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xyXG4gICAgICAgICAgfSovXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDo0NnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDo0MnB4O1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEB0YWhvbWE7XHJcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICNhNzFmNzA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLypwYWRkaW5nOjAgMCAwIDJweDsqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ltZy9jb21tb24vbWFpbm1lbnUtMi5wbmcpIC0xNnB4IDAgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgIHRvcDo1MCU7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDotMThweDtcclxuICAgICAgICAgICAgICB3aWR0aDoycHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OjM2cHg7XHJcbiAgICAgICAgICAgICAgLypiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaW1nL2NvbW1vbi9tYWlubWVudS0yLWRpdmlkZXIucG5nKSAwIDAgbm8tcmVwZWF0OyovXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9nb29kbnVtYmVycy9zcHJpdGVzaGVldC5wbmcpOyAgICBcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTBweCAtMXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IGRvdHRlZCAjZmZmO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5jdXJyZW50LCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC00NnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5maXJzdCB7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xyXG5cclxuICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY3VycmVudCwgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDZweDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmxhc3Qge1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5jdXJyZW50LCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtNDZweDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgLnBhZ2UtY29udGVudCB7XHJcbiAgICBtYXgtd2lkdGg6MTAwMHB4O1xyXG4gICAgbWFyZ2luOjAgYXV0bztcclxuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xyXG4gIH1cclxuICAucGFnZS1mb290ZXIge1xyXG4gICAgLnBhZ2UtZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgIG1heC13aWR0aDoxMDAwcHg7XHJcbiAgICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAuZm9vdC1zYWxlcy1vci1zZXJ2IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgOXB4O1xyXG4gICAgfVxyXG4gICAgLnNvYy1uZXRzIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgIG1hcmdpbjogMTJweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1tZW51IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW46MDtcclxuICAgICAgYTpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb3B5cmlnaHQge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgfVxyXG5cclxufSIsIkBpbXBvcnQgXCIuL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiLi9taXhpbnNcIjtcclxuQGltcG9ydCBcIi4vY29tbW9uX3RhYmxldFwiO1xyXG5AaW1wb3J0IFwiLi9jb21tb25fZGVza3RvcFwiO1xyXG5cclxuLypcclxu0J/QvtC00LrQu9GO0YfQuNC70Lgg0YHRgtC40LvQuCDQtNC70Y8g0L/Qu9Cw0L3RiNC10YLQsCDQuCDQtNC10YHQutGC0L7Qv9CwLCDRgi7Qui4g0LIgSUU4INC90LUg0YDQsNCx0L7RgtCw0Y7RgiBtZWRpYSBxdWVyaWVzXHJcbtCd0LjQttC1INC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGB0L/QtdGG0LjQsNC70YzQvdGL0LUg0LjQt9C80LXQvdC10L3QuNGPINC00LvRjyBJRTgsINC10YHQu9C4INC+0L3QuCDQvdGD0LbQvdGLXHJcbiovXHJcbmJvZHkge1xyXG4gICAgbWluLXdpZHRoOiAxMDAwcHggIWltcG9ydGFudDtcclxufSJdfQ== */
