/*
** NOTE: This file is generated by Gulp and should not be edited directly!
** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp.
*/

.vcard {
  max-width: 370px;
  float: left;
  border: solid 1px #cccccc;
  padding: 30px;
  margin-right: 30px;
  margin-bottom: 30px;
}
.vcard h3 {
  margin-top: 0px;
  text-transform: capitalize;
}
.vcard .email {
  -ms-word-break: break-word;
  word-break: break-word;
}
.vcard i {
  width: 20px;
  margin-right: 3px;
}
.vcard .fn,
.vcard .org {
  font-weight: 700;
}
.phone-icon {
  padding-left: 3px;
  padding-top: 2px;
}
.email-icon {
  font-size: 12px;
  padding-left: 3px;
}
.address-icon {
  float: left;
  padding-left: 2px;
  padding-top: 2px;
}
.edit-address,
.remove-address,
.ask a,
.confirm-yes a,
.confirm-no a {
  padding: 4px 10px;
}
.confirm-no a,
.ask a.remove-address {
  pointer-events: none;
}
.ask {
  overflow: hidden;
  width: 100%;
  float: left;
  cursor: pointer;
}
.confirm-yes,
.confirm-no {
  overflow: hidden;
  width: 0;
  float: left;
  cursor: pointer;
}
.confirm-yes button,
.confirm-yes a {
  border-radius: 4px 0px 0px 4px;
}
.confirm-no button,
.confirm-no a {
  border-radius: 0px 4px 4px 0px;
}
.slider-confirmation-container {
  overflow: hidden;
}
.slider-confirmation-container div {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.expire-date {
  padding-top: 4px;
}
.expire-date.date-is-expired {
  color: #ff0000;
}
#new-payment-method-container .form-group {
  margin: 5px;
}
.edit-expiration {
  padding: 0 !important;
  margin: 0 !important;
}
.expiration-date {
  float: left;
  padding-right: 10px;
  margin-top: 3px;
}
.credit-card.ccard {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 5px;
  margin-bottom: 20px;
  border: solid 1px black;
  max-width: 420px;
  width: 350px;
  margin-right: 20px;
  float: left;
}
.credit-card.ccard h3 {
  margin-top: 0;
  text-transform: capitalize;
}
.confirm-no,
.confirm-yes,
.ask,
.slider-confirmation-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.zone-navigation .widget-search-form {
  float: left;
  width: 18%;
  margin-top: 18px;
}
.address-form {
  clear: both;
}
.card-holder {
  overflow: hidden;
}
.card-contents {
  display: inline;
}
.custom-amount {
  max-width: 150px;
}
.address-modal .modal-dialog {
  max-width: 1000px;
  width: auto;
}
.address-modal .modal-dialog .modal-body {
  padding-top: 0;
}
.address-modal .modal-dialog .modal-body label.checkbox input {
  margin-right: 5px;
}
.address-modal .modal-dialog .modal-body .selectable-address-group,
.address-modal .modal-dialog .modal-body .add-address-container {
  margin: 0 45px;
}
.address-modal .modal-dialog .modal-body .selectable-address-group:before,
.address-modal .modal-dialog .modal-body .add-address-container:before,
.address-modal .modal-dialog .modal-body .selectable-address-group:after,
.address-modal .modal-dialog .modal-body .add-address-container:after {
  content: " ";
  display: table;
}
.address-modal .modal-dialog .modal-body .selectable-address-group:after,
.address-modal .modal-dialog .modal-body .add-address-container:after {
  clear: both;
}
.address-modal .modal-dialog .modal-body .add-address-container .btn.submit-new-address {
  width: 100%;
}
.address-modal .modal-dialog .modal-body .add-address-container legend {
  display: none;
}
.span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
    float: left;
    width: 25%;
  }
}
.span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-11 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-10 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-9 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
    float: left;
    width: 75%;
  }
}
.span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
  .span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
    float: left;
    width: 33.33333333%;
  }
}
.span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .span-8 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-7 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-6 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-5 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
  .span-4 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
    float: left;
    width: 66.66666667%;
  }
}
.span-3 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-2 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label,
.span-1 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-label {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: left;
}
.span-3 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-2 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control,
.span-1 .inline-address-form fieldset.address-form .horizontal-form-group .horizontal-form-control {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.address-block {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkN1c3RvbWVyLmxlc3MiLCJDdXN0b21lci5jc3MiLCJsaWIvYm9vdHN0cmFwLTMuMC4zL21peGlucy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0E7RUFDSSxpQkFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0NDRkg7QURKRDtFQVNRLGdCQUFBO0VBQ0EsMkJBQUE7Q0NGUDtBRFJEO0VBY1EsMkJBQUE7RUFDQSx1QkFBQTtDQ0hQO0FEWkQ7RUFtQlEsWUFBQTtFQUNBLGtCQUFBO0NDSlA7QURPRDs7RUFDSSxpQkFBQTtDQ0pIO0FET0Q7RUFDSSxrQkFBQTtFQUNBLGlCQUFBO0NDTEg7QURRRDtFQUNJLGdCQUFBO0VBQ0Esa0JBQUE7Q0NOSDtBRFNEO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7Q0NQSDtBRFVEOzs7OztFQUNJLGtCQUFBO0NDSkg7QURPRDs7RUFDSSxxQkFBQTtDQ0pIO0FET0Q7RUFDSSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7Q0NMSDtBRFFEOztFQUNJLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtDQ0xIO0FEUUQ7O0VBQ0ksK0JBQUE7Q0NMSDtBRFFEOztFQUNJLCtCQUFBO0NDTEg7QURRRDtFQUNJLGlCQUFBO0NDTkg7QURLRDtFQUlRLHlDQUFBO0VBR0EsaUNBQUE7Q0NOUDtBRFVEO0VBQ0ksaUJBQUE7Q0NSSDtBRFNHO0VBQ0ksZUFBQTtDQ1BQO0FEV0Q7RUFFUSxZQUFBO0NDVlA7QURhRDtFQUNJLHNCQUFBO0VBQ0EscUJBQUE7Q0NYSDtBRGNEO0VBQ0ksWUFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7Q0NaSDtBRGdCRDtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSx3QkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtDQ2RIO0FESUQ7RUFhUSxjQUFBO0VBQ0EsMkJBQUE7Q0NkUDtBRGtCRDs7OztFQUNJLDJCQUFBO0VBQ0EsNEJBQUE7Q0NiSDtBRGdCRDtFQUVRLFlBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7Q0NmUDtBRG1CRDtFQUNJLFlBQUE7Q0NqQkg7QURvQkQ7RUFDSSxpQkFBQTtDQ2xCSDtBRHFCRDtFQUNJLGdCQUFBO0NDbkJIO0FEc0JEO0VBQ0ksaUJBQUE7Q0NwQkg7QUR1QkQ7RUFFUSxrQkFBQTtFQUNBLFlBQUE7Q0N0QlA7QURtQkQ7RUFNWSxlQUFBO0NDdEJYO0FEZ0JEO0VBU2dCLGtCQUFBO0NDdEJmO0FEYUQ7O0VBY2dCLGVBQUE7Q0N2QmY7QUNsSUM7Ozs7RUFFRSxhQUFBO0VBQ0EsZUFBQTtDRHNJSDtBQ3BJQzs7RUFDRSxZQUFBO0NEdUlIO0FERkQ7RUFtQm9CLFlBQUE7Q0NkbkI7QURMRDtFQXVCb0IsY0FBQTtDQ2ZuQjtBRHNCRDs7O0VFd1pFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NEM2FEO0FDOGFDO0VBaVBGOzs7SUFoUEksWUFBQTtJQUNBLFdBQUE7R0R6YUQ7Q0FDRjtBRE1EOzs7RUV3WkUsbUJBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7Q0QzWkQ7QUM4WkM7RUFpUEY7OztJQWhQSSxZQUFBO0lBQ0EsV0FBQTtHRHpaRDtDQUNGO0FESUQ7Ozs7O0VFMFlFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NEellEO0FDNFlDO0VBaVBGOzs7OztJQWhQSSxZQUFBO0lBQ0Esb0JBQUE7R0RyWUQ7Q0FDRjtBRGhCRDs7Ozs7RUUwWUUsbUJBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7Q0RyWEQ7QUN3WEM7RUFpUEY7Ozs7O0lBaFBJLFlBQUE7SUFDQSxvQkFBQTtHRGpYRDtDQUNGO0FEdEJEOzs7RUVnWEUsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUVBLGdCQUFBO0VBRUEsbUJBQUE7RUFDQSxvQkFBQTtFRmxYYyxpQkFBQTtDQzRCZjtBRGpDRDs7O0VFZ1hFLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7Q0Q1VUQ7QUQ1QkQ7RUFDSSxpQkFBQTtFQUNBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0NDOEJIIiwiZmlsZSI6IkN1c3RvbWVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIu+7v0BpbXBvcnQgKHJlZmVyZW5jZSkgXCJsaWIvYm9vdHN0cmFwLXJlZmVyZW5jZXMubGVzc1wiO1xyXG5AaW1hZ2VIZWlnaHQ6MjY1cHg7XHJcblxyXG4udmNhcmQge1xyXG4gICAgbWF4LXdpZHRoOiAzNzBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLmVtYWlsIHtcclxuICAgICAgICAtbXMtd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gICAgfVxyXG59XHJcbi52Y2FyZCAuZm4sIC52Y2FyZCAub3JnIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5waG9uZS1pY29uIHtcclxuICAgIHBhZGRpbmctbGVmdDogM3B4O1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxufVxyXG5cclxuLmVtYWlsLWljb24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbn1cclxuXHJcbi5hZGRyZXNzLWljb24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbn1cclxuXHJcbi5lZGl0LWFkZHJlc3MsIC5yZW1vdmUtYWRkcmVzcywgLmFzayBhLCAuY29uZmlybS15ZXMgYSwgLmNvbmZpcm0tbm8gYSB7XHJcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcclxufVxyXG5cclxuLmNvbmZpcm0tbm8gYSwgLmFzayBhLnJlbW92ZS1hZGRyZXNzIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uYXNrIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29uZmlybS15ZXMsIC5jb25maXJtLW5vIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29uZmlybS15ZXMgYnV0dG9uLCAuY29uZmlybS15ZXMgYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMHB4IDBweCA0cHg7XHJcbn1cclxuXHJcbi5jb25maXJtLW5vIGJ1dHRvbiwgLmNvbmZpcm0tbm8gYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHggNHB4IDRweCAwcHg7XHJcbn1cclxuXHJcbi5zbGlkZXItY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5leHBpcmUtZGF0ZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gICAgJi5kYXRlLWlzLWV4cGlyZWQge1xyXG4gICAgICAgIGNvbG9yOiAjZmYwMDAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jbmV3LXBheW1lbnQtbWV0aG9kLWNvbnRhaW5lcntcclxuICAgIC5mb3JtLWdyb3Vwe1xyXG4gICAgICAgIG1hcmdpbjo1cHg7XHJcbiAgICB9XHJcbn1cclxuLmVkaXQtZXhwaXJhdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmV4cGlyYXRpb24tZGF0ZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbn1cclxuXHJcblxyXG4uY3JlZGl0LWNhcmQuY2NhcmQge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcclxuICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICB3aWR0aDogMzUwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbmZpcm0tbm8sIC5jb25maXJtLXllcywgLmFzaywgLnNsaWRlci1jb25maXJtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uem9uZS1uYXZpZ2F0aW9ue1xyXG4gICAgLndpZGdldC1zZWFyY2gtZm9ybXtcclxuICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgIHdpZHRoOjE4JTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYWRkcmVzcy1mb3JtIHtcclxuICAgIGNsZWFyOmJvdGg7XHJcbn1cclxuXHJcbi5jYXJkLWhvbGRlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY2FyZC1jb250ZW50cyB7XHJcbiAgICBkaXNwbGF5OmlubGluZTtcclxufVxyXG5cclxuLmN1c3RvbS1hbW91bnR7XHJcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4uYWRkcmVzcy1tb2RhbCB7XHJcbiAgICAubW9kYWwtZGlhbG9nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgLm1vZGFsLWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgIGxhYmVsLmNoZWNrYm94IGlucHV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2VsZWN0YWJsZS1hZGRyZXNzLWdyb3VwLCAuYWRkLWFkZHJlc3MtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5jbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYWRkLWFkZHJlc3MtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5idG4uc3VibWl0LW5ldy1hZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZWdlbmQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zcGFuLTExLCAuc3Bhbi0xMCwgLnNwYW4tOSB7XHJcbiAgICAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0ge1xyXG4gICAgICAgIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbigzKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNwYW4tOCwgLnNwYW4tNywgLnNwYW4tNiwgLnNwYW4tNSwgLnNwYW4tNCB7XHJcbiAgICAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0ge1xyXG4gICAgICAgIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNwYW4tMywgLnNwYW4tMiwgLnNwYW4tMSB7XHJcbiAgICAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0ge1xyXG4gICAgICAgIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXhzLWNvbHVtbigxMik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgLm1ha2UteHMtY29sdW1uKDEyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFkZHJlc3MtYmxvY2sge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiIsIi52Y2FyZCB7XG4gIG1heC13aWR0aDogMzcwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4udmNhcmQgaDMge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLnZjYXJkIC5lbWFpbCB7XG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLnZjYXJkIGkge1xuICB3aWR0aDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG4udmNhcmQgLmZuLFxuLnZjYXJkIC5vcmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBob25lLWljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgcGFkZGluZy10b3A6IDJweDtcbn1cbi5lbWFpbC1pY29uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbn1cbi5hZGRyZXNzLWljb24ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG4uZWRpdC1hZGRyZXNzLFxuLnJlbW92ZS1hZGRyZXNzLFxuLmFzayBhLFxuLmNvbmZpcm0teWVzIGEsXG4uY29uZmlybS1ubyBhIHtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG59XG4uY29uZmlybS1ubyBhLFxuLmFzayBhLnJlbW92ZS1hZGRyZXNzIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYXNrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29uZmlybS15ZXMsXG4uY29uZmlybS1ubyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBmbG9hdDogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbmZpcm0teWVzIGJ1dHRvbixcbi5jb25maXJtLXllcyBhIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDBweCAwcHggNHB4O1xufVxuLmNvbmZpcm0tbm8gYnV0dG9uLFxuLmNvbmZpcm0tbm8gYSB7XG4gIGJvcmRlci1yYWRpdXM6IDBweCA0cHggNHB4IDBweDtcbn1cbi5zbGlkZXItY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2xpZGVyLWNvbmZpcm1hdGlvbi1jb250YWluZXIgZGl2IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLmV4cGlyZS1kYXRlIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbn1cbi5leHBpcmUtZGF0ZS5kYXRlLWlzLWV4cGlyZWQge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbiNuZXctcGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luOiA1cHg7XG59XG4uZWRpdC1leHBpcmF0aW9uIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5leHBpcmF0aW9uLWRhdGUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuLmNyZWRpdC1jYXJkLmNjYXJkIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggYmxhY2s7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIHdpZHRoOiAzNTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBmbG9hdDogbGVmdDtcbn1cbi5jcmVkaXQtY2FyZC5jY2FyZCBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLmNvbmZpcm0tbm8sXG4uY29uZmlybS15ZXMsXG4uYXNrLFxuLnNsaWRlci1jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi56b25lLW5hdmlnYXRpb24gLndpZGdldC1zZWFyY2gtZm9ybSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTglO1xuICBtYXJnaW4tdG9wOiAxOHB4O1xufVxuLmFkZHJlc3MtZm9ybSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmNhcmQtaG9sZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jYXJkLWNvbnRlbnRzIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLmN1c3RvbS1hbW91bnQge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICB3aWR0aDogYXV0bztcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgbGFiZWwuY2hlY2tib3ggaW5wdXQge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLnNlbGVjdGFibGUtYWRkcmVzcy1ncm91cCxcbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLmFkZC1hZGRyZXNzLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCA0NXB4O1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuc2VsZWN0YWJsZS1hZGRyZXNzLWdyb3VwOmJlZm9yZSxcbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLmFkZC1hZGRyZXNzLWNvbnRhaW5lcjpiZWZvcmUsXG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5zZWxlY3RhYmxlLWFkZHJlc3MtZ3JvdXA6YWZ0ZXIsXG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5hZGQtYWRkcmVzcy1jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5zZWxlY3RhYmxlLWFkZHJlc3MtZ3JvdXA6YWZ0ZXIsXG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5hZGQtYWRkcmVzcy1jb250YWluZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLmFkZC1hZGRyZXNzLWNvbnRhaW5lciAuYnRuLnN1Ym1pdC1uZXctYWRkcmVzcyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuYWRkLWFkZHJlc3MtY29udGFpbmVyIGxlZ2VuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3Bhbi0xMSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tMTAgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTkgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNwYW4tMTEgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbiAgLnNwYW4tMTAgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbiAgLnNwYW4tOSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG4uc3Bhbi0xMSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi0xMCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi05IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNwYW4tMTEgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuICAuc3Bhbi0xMCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4gIC5zcGFuLTkgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG4uc3Bhbi04IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi03IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi02IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi01IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi00IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zcGFuLTggLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbiAgLnNwYW4tNyAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuICAuc3Bhbi02IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4gIC5zcGFuLTUgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbiAgLnNwYW4tNCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG59XG4uc3Bhbi04IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTcgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tNiAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi01IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTQgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3Bhbi04IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbiAgLnNwYW4tNyAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4gIC5zcGFuLTYgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuICAuc3Bhbi01IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbiAgLnNwYW4tNCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbn1cbi5zcGFuLTMgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTIgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTEgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5zcGFuLTMgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tMiAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi0xIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi5hZGRyZXNzLWJsb2NrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbn1cbiIsIi8vXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENsZWFyZml4XG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi5jbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBXZWJLaXQtc3R5bGUgZm9jdXNcbi50YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG4uY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gU2l6aW5nIHNob3J0Y3V0c1xuLnNpemUoQHdpZHRoOyBAaGVpZ2h0KSB7XG4gIHdpZHRoOiBAd2lkdGg7XG4gIGhlaWdodDogQGhlaWdodDtcbn1cbi5zcXVhcmUoQHNpemUpIHtcbiAgLnNpemUoQHNpemU7IEBzaXplKTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBGaXJlZm94IDQtMThcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyAgIC8vIEZpcmVmb3ggMTkrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfSAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLiBOb3RlXG4vLyB0aGF0IHdlIGNhbm5vdCBjaGFpbiB0aGUgbWl4aW5zIHRvZ2V0aGVyIGluIExlc3MsIHNvIHRoZXkgYXJlIHJlcGVhdGVkLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAod2lsbCBiZSByZW1vdmVkIGluIHY0KVxuLmhpZGUtdGV4dCgpIHtcbiAgZm9udDogflwiMC8wXCIgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbi8vIE5ldyBtaXhpbiB0byB1c2UgYXMgb2YgdjMuMC4xXG4udGV4dC1oaWRlKCkge1xuICAuaGlkZS10ZXh0KCk7XG59XG5cblxuXG4vLyBDU1MzIFBST1BFUlRJRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcbi5ib3JkZXItdG9wLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1ib3R0b20tcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG4udHJhbnNpdGlvbi1wcm9wZXJ0eShAdHJhbnNpdGlvbi1wcm9wZXJ0eSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IEB0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IEB0cmFuc2l0aW9uLXByb3BlcnR5O1xufVxuLnRyYW5zaXRpb24tZGVsYXkoQHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcbn1cbi50cmFuc2l0aW9uLWR1cmF0aW9uKEB0cmFuc2l0aW9uLWR1cmF0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb24tZHVyYXRpb247XG59XG4udHJhbnNpdGlvbi10cmFuc2Zvcm0oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xufVxuLnNjYWxlKEByYXRpbykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG59XG4udHJhbnNsYXRlKEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4uc2tldyhAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeDsgQHk7IEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xufVxuXG4ucm90YXRlWChAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG59XG4ucm90YXRlWShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG59XG4ucGVyc3BlY3RpdmUoQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG59XG4ucGVyc3BlY3RpdmUtb3JpZ2luKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xufVxuLnRyYW5zZm9ybS1vcmlnaW4oQG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xufVxuXG4vLyBBbmltYXRpb25zXG4uYW5pbWF0aW9uKEBhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEBhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuLmJhY2tmYWNlLXZpc2liaWxpdHkoQHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBCb3ggc2l6aW5nXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAtby11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cblxuLy8gUmVzaXplIGFueXRoaW5nXG4ucmVzaXphYmxlKEBkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiBAZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uLWNvdW50OyBAY29sdW1uLWdhcDogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogQG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogQG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbi5vcGFjaXR5KEBvcGFjaXR5KSB7XG4gIG9wYWNpdHk6IEBvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gIEBvcGFjaXR5LWllOiAoQG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IH5cImFscGhhKG9wYWNpdHk9QHtvcGFjaXR5LWllfSlcIjtcbn1cblxuXG5cbi8vIEdSQURJRU5UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2dyYWRpZW50IHtcblxuICAvLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIGNvbG9yLXN0b3AoQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50KSwgY29sb3Itc3RvcChAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCkpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAudmVydGljYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG5cbiAgLmRpcmVjdGlvbmFsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgfVxuICAuaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyLWNvbG9yOiAjNTU1OyBAb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuICAuc3RyaXBlZChAY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KTsgQGFuZ2xlOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuXG4vLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuXG5cblxuLy8gUmV0aW5hIGltYWdlc1xuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZVxuXG4uaW1nLXJldGluYShAZmlsZS0xeDsgQGZpbGUtMng7IEB3aWR0aC0xeDsgQGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMXh9XCIpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmlsZS0yeH1cIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBAd2lkdGgtMXggQGhlaWdodC0xeDtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrOykge1xuICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG4ubmF2LWRpdmlkZXIoQGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG59XG5cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhbmVsLXZhcmlhbnQoQGJvcmRlcjsgQGhlYWRpbmctdGV4dC1jb2xvcjsgQGhlYWRpbmctYmctY29sb3I7IEBoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5hbGVydC12YXJpYW50KEBiYWNrZ3JvdW5kOyBAYm9yZGVyOyBAdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICBjb2xvcjogQHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbihAYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oQHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cblxuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udGFibGUtcm93LXZhcmlhbnQoQHN0YXRlOyBAYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUge1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHIgPiAuQHtzdGF0ZX0sXG4gICAgICA+IC5Ae3N0YXRlfSA+IHRkLFxuICAgICAgPiAuQHtzdGF0ZX0gPiB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5IHtcbiAgICA+IHRyID4gLkB7c3RhdGV9OmhvdmVyLFxuICAgID4gLkB7c3RhdGV9OmhvdmVyID4gdGQsXG4gICAgPiAuQHtzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHZhcmlhbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDglKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuIC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5iYWRnZSB7XG4gICAgY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcbn1cblxuLy8gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYWJlbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5sYWJlbC12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG4ubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgI2dyYWRpZW50ID4gLnN0cmlwZWQoKTtcbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi5yZXNwb25zaXZlLXZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHRhYmxlJiAgeyBkaXNwbGF5OiB0YWJsZTsgfVxuICB0ciYgICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgmLFxuICB0ZCYgICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpIHtcbiAgICAmLFxuICB0ciYsXG4gIHRoJixcbiAgdGQmIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cblxuLy8gR3JpZCBTeXN0ZW1cbi8vIC0tLS0tLS0tLS0tXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgLmNsZWFyZml4KCk7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG4ubWFrZS1yb3coQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgKEBndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKEBndXR0ZXIgLyAtMik7XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuLm1ha2UteHMtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbiBvZmZzZXRzXG4ubWFrZS1zbS1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbi5tYWtlLW1kLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW4gb2Zmc2V0c1xuLm1ha2UtbWQtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuLm1ha2UtbGctY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgbWluLWhlaWdodDogMXB4O1xuICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICAvLyBDYWxjdWxhdGUgd2lkdGggYmFzZWQgb24gbnVtYmVyIG9mIGNvbHVtbnMgYXZhaWxhYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uIG9mZnNldHNcbi5tYWtlLWxnLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGBAZ3JpZC1jb2x1bW5zYC5cblxuLm1ha2UtZ3JpZC1jb2x1bW5zKCkge1xuICAvLyBDb21tb24gc3R5bGVzIGZvciBhbGwgc2l6ZXMgb2YgZ3JpZCBjb2x1bW5zLCB3aWR0aHMgMS0xMlxuICAuY29sKEBpbmRleCkgd2hlbiAoQGluZGV4ID0gMSkgeyAvLyBpbml0aWFsXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKEBpbmRleCArIDEsIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWw7IFwiPTxcIiBpc24ndCBhIHR5cG9cbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woQGluZGV4ICsgMSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4ubWFrZS1ncmlkLWNvbHVtbnMtZmxvYXQoQGNsYXNzKSB7XG4gIC5jb2woQGluZGV4KSB3aGVuIChAaW5kZXggPSAxKSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woQGluZGV4ICsgMSwgQGl0ZW0pO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID08IEBncmlkLWNvbHVtbnMpIHsgLy8gZ2VuZXJhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbChAaW5kZXggKyAxLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uY2FsYy1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSB3aWR0aCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tQHtpbmRleH0ge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1c2gpIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdXNoLUB7aW5kZXh9IHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdWxsLUB7aW5kZXh9IHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBvZmZzZXQpIHtcbiAgLmNvbC1Ae2NsYXNzfS1vZmZzZXQtQHtpbmRleH0ge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gQmFzaWMgbG9vcGluZyBpbiBMRVNTXG4ubWFrZS1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQGluZGV4ID49IDApIHtcbiAgLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpO1xuICAvLyBuZXh0IGl0ZXJhdGlvblxuICAubWFrZS1ncmlkKEBpbmRleCAtIDEsIEBjbGFzcywgQHR5cGUpO1xufVxuXG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG4uZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHRleHQtY29sb3I6ICM1NTU7IEBib3JkZXItY29sb3I6ICNjY2M7IEBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUgIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgQHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbihAYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgLmJveC1zaGFkb3coQHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1mb2N1cy1ib3JkZXJgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5cbi5mb3JtLWNvbnRyb2wtZm9jdXMoQGNvbG9yOiBAaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gIEBjb2xvci1yZ2JhOiByZ2JhKHJlZChAY29sb3IpLCBncmVlbihAY29sb3IpLCBibHVlKEBjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCBAe2NvbG9yLXJnYmF9XCIpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuXG4uaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0OyBAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG5cbiAgc2VsZWN0JiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEmIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiJdfQ== */
