/*
** 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;
}
.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkN1c3RvbWVyLmxlc3MiLCJDdXN0b21lci5jc3MiLCJsaWIvYm9vdHN0cmFwLTMuMC4zL21peGlucy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0E7RUFDSSxpQkFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0NDRkg7QURKRDtFQVNRLGdCQUFBO0VBQ0EsMkJBQUE7Q0NGUDtBRFJEO0VBY1EsMkJBQUE7RUFDQSx1QkFBQTtDQ0hQO0FEWkQ7RUFtQlEsWUFBQTtFQUNBLGtCQUFBO0NDSlA7QURPRDs7RUFDSSxpQkFBQTtDQ0pIO0FET0Q7RUFDSSxrQkFBQTtFQUNBLGlCQUFBO0NDTEg7QURRRDtFQUNJLGdCQUFBO0VBQ0Esa0JBQUE7Q0NOSDtBRFNEO0VBQ0ksWUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7Q0NQSDtBRFVEOzs7OztFQUNJLGtCQUFBO0NDSkg7QURPRDs7RUFDSSxxQkFBQTtDQ0pIO0FET0Q7RUFDSSxpQkFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7Q0NMSDtBRFFEOztFQUNJLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtDQ0xIO0FEUUQ7O0VBQ0ksK0JBQUE7Q0NMSDtBRFFEOztFQUNJLCtCQUFBO0NDTEg7QURRRDtFQUNJLGlCQUFBO0NDTkg7QURLRDtFQUlRLHlDQUFBO0VBR0EsaUNBQUE7Q0NOUDtBRFVEO0VBQ0ksaUJBQUE7Q0NSSDtBRFNHO0VBQ0ksZUFBQTtDQ1BQO0FEV0Q7RUFFUSxZQUFBO0NDVlA7QURhRDtFQUNJLHNCQUFBO0VBQ0EscUJBQUE7Q0NYSDtBRGNEO0VBQ0ksWUFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7Q0NaSDtBRGdCRDtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSx3QkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtDQ2RIO0FESUQ7RUFhUSxjQUFBO0VBQ0EsMkJBQUE7Q0NkUDtBRGtCRDs7OztFQUNJLDJCQUFBO0VBQ0EsNEJBQUE7Q0NiSDtBRGdCRDtFQUNJLFlBQUE7Q0NkSDtBRGlCRDtFQUNJLGlCQUFBO0NDZkg7QURrQkQ7RUFDSSxnQkFBQTtDQ2hCSDtBRG1CRDtFQUNJLGlCQUFBO0NDakJIO0FEb0JEO0VBRVEsa0JBQUE7RUFDQSxZQUFBO0NDbkJQO0FEZ0JEO0VBTVksZUFBQTtDQ25CWDtBRGFEO0VBU2dCLGtCQUFBO0NDbkJmO0FEVUQ7O0VBY2dCLGVBQUE7Q0NwQmY7QUM3SEM7Ozs7RUFFRSxhQUFBO0VBQ0EsZUFBQTtDRGlJSDtBQy9IQzs7RUFDRSxZQUFBO0NEa0lIO0FETEQ7RUFtQm9CLFlBQUE7Q0NYbkI7QURSRDtFQXVCb0IsY0FBQTtDQ1puQjtBRG1CRDs7O0VFZ2FFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NEaGJEO0FDbWJDO0VBaVBGOzs7SUFoUEksWUFBQTtJQUNBLFdBQUE7R0Q5YUQ7Q0FDRjtBREdEOzs7RUVnYUUsbUJBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7Q0RoYUQ7QUNtYUM7RUFpUEY7OztJQWhQSSxZQUFBO0lBQ0EsV0FBQTtHRDlaRDtDQUNGO0FEQ0Q7Ozs7O0VFa1pFLG1CQUFBO0VBRUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLG9CQUFBO0NEOVlEO0FDaVpDO0VBaVBGOzs7OztJQWhQSSxZQUFBO0lBQ0Esb0JBQUE7R0QxWUQ7Q0FDRjtBRG5CRDs7Ozs7RUVrWkUsbUJBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7Q0QxWEQ7QUM2WEM7RUFpUEY7Ozs7O0lBaFBJLFlBQUE7SUFDQSxvQkFBQTtHRHRYRDtDQUNGO0FEekJEOzs7RUV3WEUsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUVBLGdCQUFBO0VBRUEsbUJBQUE7RUFDQSxvQkFBQTtFRjFYYyxpQkFBQTtDQytCZjtBRHBDRDs7O0VFd1hFLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFFQSxnQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7Q0RqVkQ7QUQvQkQ7RUFDSSxpQkFBQTtFQUNBLHFCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0NDaUNIIiwiZmlsZSI6IkN1c3RvbWVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIu+7v0BpbXBvcnQgKHJlZmVyZW5jZSkgXCJsaWIvYm9vdHN0cmFwLXJlZmVyZW5jZXMubGVzc1wiO1xyXG5AaW1hZ2VIZWlnaHQ6MjY1cHg7XHJcblxyXG4udmNhcmQge1xyXG4gICAgbWF4LXdpZHRoOiAzNzBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjY2NjYztcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLmVtYWlsIHtcclxuICAgICAgICAtbXMtd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gICAgfVxyXG59XHJcbi52Y2FyZCAuZm4sIC52Y2FyZCAub3JnIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5waG9uZS1pY29uIHtcclxuICAgIHBhZGRpbmctbGVmdDogM3B4O1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxufVxyXG5cclxuLmVtYWlsLWljb24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbn1cclxuXHJcbi5hZGRyZXNzLWljb24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbn1cclxuXHJcbi5lZGl0LWFkZHJlc3MsIC5yZW1vdmUtYWRkcmVzcywgLmFzayBhLCAuY29uZmlybS15ZXMgYSwgLmNvbmZpcm0tbm8gYSB7XHJcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcclxufVxyXG5cclxuLmNvbmZpcm0tbm8gYSwgLmFzayBhLnJlbW92ZS1hZGRyZXNzIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4uYXNrIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29uZmlybS15ZXMsIC5jb25maXJtLW5vIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY29uZmlybS15ZXMgYnV0dG9uLCAuY29uZmlybS15ZXMgYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMHB4IDBweCA0cHg7XHJcbn1cclxuXHJcbi5jb25maXJtLW5vIGJ1dHRvbiwgLmNvbmZpcm0tbm8gYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHggNHB4IDRweCAwcHg7XHJcbn1cclxuXHJcbi5zbGlkZXItY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5leHBpcmUtZGF0ZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gICAgJi5kYXRlLWlzLWV4cGlyZWQge1xyXG4gICAgICAgIGNvbG9yOiAjZmYwMDAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jbmV3LXBheW1lbnQtbWV0aG9kLWNvbnRhaW5lcntcclxuICAgIC5mb3JtLWdyb3Vwe1xyXG4gICAgICAgIG1hcmdpbjo1cHg7XHJcbiAgICB9XHJcbn1cclxuLmVkaXQtZXhwaXJhdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmV4cGlyYXRpb24tZGF0ZSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbn1cclxuXHJcblxyXG4uY3JlZGl0LWNhcmQuY2NhcmQge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCBibGFjaztcclxuICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICB3aWR0aDogMzUwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbmZpcm0tbm8sIC5jb25maXJtLXllcywgLmFzaywgLnNsaWRlci1jb25maXJtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWRkcmVzcy1mb3JtIHtcclxuICAgIGNsZWFyOmJvdGg7XHJcbn1cclxuXHJcbi5jYXJkLWhvbGRlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uY2FyZC1jb250ZW50cyB7XHJcbiAgICBkaXNwbGF5OmlubGluZTtcclxufVxyXG5cclxuLmN1c3RvbS1hbW91bnR7XHJcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4uYWRkcmVzcy1tb2RhbCB7XHJcbiAgICAubW9kYWwtZGlhbG9nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgLm1vZGFsLWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgIGxhYmVsLmNoZWNrYm94IGlucHV0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2VsZWN0YWJsZS1hZGRyZXNzLWdyb3VwLCAuYWRkLWFkZHJlc3MtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5jbGVhcmZpeDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYWRkLWFkZHJlc3MtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5idG4uc3VibWl0LW5ldy1hZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZWdlbmQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zcGFuLTExLCAuc3Bhbi0xMCwgLnNwYW4tOSB7XHJcbiAgICAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0ge1xyXG4gICAgICAgIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbigzKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNwYW4tOCwgLnNwYW4tNywgLnNwYW4tNiwgLnNwYW4tNSwgLnNwYW4tNCB7XHJcbiAgICAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0ge1xyXG4gICAgICAgIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNwYW4tMywgLnNwYW4tMiwgLnNwYW4tMSB7XHJcbiAgICAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0ge1xyXG4gICAgICAgIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC5tYWtlLXhzLWNvbHVtbigxMik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgLm1ha2UteHMtY29sdW1uKDEyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFkZHJlc3MtYmxvY2sge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiIsIi52Y2FyZCB7XG4gIG1heC13aWR0aDogMzcwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBwYWRkaW5nOiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4udmNhcmQgaDMge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLnZjYXJkIC5lbWFpbCB7XG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLnZjYXJkIGkge1xuICB3aWR0aDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG4udmNhcmQgLmZuLFxuLnZjYXJkIC5vcmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnBob25lLWljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgcGFkZGluZy10b3A6IDJweDtcbn1cbi5lbWFpbC1pY29uIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbn1cbi5hZGRyZXNzLWljb24ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG4uZWRpdC1hZGRyZXNzLFxuLnJlbW92ZS1hZGRyZXNzLFxuLmFzayBhLFxuLmNvbmZpcm0teWVzIGEsXG4uY29uZmlybS1ubyBhIHtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG59XG4uY29uZmlybS1ubyBhLFxuLmFzayBhLnJlbW92ZS1hZGRyZXNzIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYXNrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY29uZmlybS15ZXMsXG4uY29uZmlybS1ubyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBmbG9hdDogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbmZpcm0teWVzIGJ1dHRvbixcbi5jb25maXJtLXllcyBhIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDBweCAwcHggNHB4O1xufVxuLmNvbmZpcm0tbm8gYnV0dG9uLFxuLmNvbmZpcm0tbm8gYSB7XG4gIGJvcmRlci1yYWRpdXM6IDBweCA0cHggNHB4IDBweDtcbn1cbi5zbGlkZXItY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2xpZGVyLWNvbmZpcm1hdGlvbi1jb250YWluZXIgZGl2IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLmV4cGlyZS1kYXRlIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbn1cbi5leHBpcmUtZGF0ZS5kYXRlLWlzLWV4cGlyZWQge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbiNuZXctcGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luOiA1cHg7XG59XG4uZWRpdC1leHBpcmF0aW9uIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5leHBpcmF0aW9uLWRhdGUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuLmNyZWRpdC1jYXJkLmNjYXJkIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggYmxhY2s7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIHdpZHRoOiAzNTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBmbG9hdDogbGVmdDtcbn1cbi5jcmVkaXQtY2FyZC5jY2FyZCBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLmNvbmZpcm0tbm8sXG4uY29uZmlybS15ZXMsXG4uYXNrLFxuLnNsaWRlci1jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5hZGRyZXNzLWZvcm0ge1xuICBjbGVhcjogYm90aDtcbn1cbi5jYXJkLWhvbGRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uY2FyZC1jb250ZW50cyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5jdXN0b20tYW1vdW50IHtcbiAgbWF4LXdpZHRoOiAxNTBweDtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cge1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgd2lkdGg6IGF1dG87XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IGxhYmVsLmNoZWNrYm94IGlucHV0IHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5zZWxlY3RhYmxlLWFkZHJlc3MtZ3JvdXAsXG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5hZGQtYWRkcmVzcy1jb250YWluZXIge1xuICBtYXJnaW46IDAgNDVweDtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLnNlbGVjdGFibGUtYWRkcmVzcy1ncm91cDpiZWZvcmUsXG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5hZGQtYWRkcmVzcy1jb250YWluZXI6YmVmb3JlLFxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuc2VsZWN0YWJsZS1hZGRyZXNzLWdyb3VwOmFmdGVyLFxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuYWRkLWFkZHJlc3MtY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuc2VsZWN0YWJsZS1hZGRyZXNzLWdyb3VwOmFmdGVyLFxuLmFkZHJlc3MtbW9kYWwgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSAuYWRkLWFkZHJlc3MtY29udGFpbmVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYWRkcmVzcy1tb2RhbCAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5IC5hZGQtYWRkcmVzcy1jb250YWluZXIgLmJ0bi5zdWJtaXQtbmV3LWFkZHJlc3Mge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hZGRyZXNzLW1vZGFsIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHkgLmFkZC1hZGRyZXNzLWNvbnRhaW5lciBsZWdlbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNwYW4tMTEgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbi5zcGFuLTEwIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi05IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zcGFuLTExIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4gIC5zcGFuLTEwIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4gIC5zcGFuLTkgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuLnNwYW4tMTEgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tMTAgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tOSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zcGFuLTExIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbiAgLnNwYW4tMTAgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuICAuc3Bhbi05IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuLnNwYW4tOCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tNyAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tNiAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tNSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuLnNwYW4tNCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3Bhbi04IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4gIC5zcGFuLTcgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCxcbiAgLnNwYW4tNiAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWxhYmVsLFxuICAuc3Bhbi01IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4gIC5zcGFuLTQgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1sYWJlbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxufVxuLnNwYW4tOCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi03IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTYgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tNSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4uc3Bhbi00IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNwYW4tOCAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4gIC5zcGFuLTcgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuICAuc3Bhbi02IC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbiAgLnNwYW4tNSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wsXG4gIC5zcGFuLTQgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG59XG4uc3Bhbi0zIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi0yIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwsXG4uc3Bhbi0xIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uc3Bhbi0zIC5pbmxpbmUtYWRkcmVzcy1mb3JtIGZpZWxkc2V0LmFkZHJlc3MtZm9ybSAuaG9yaXpvbnRhbC1mb3JtLWdyb3VwIC5ob3Jpem9udGFsLWZvcm0tY29udHJvbCxcbi5zcGFuLTIgLmlubGluZS1hZGRyZXNzLWZvcm0gZmllbGRzZXQuYWRkcmVzcy1mb3JtIC5ob3Jpem9udGFsLWZvcm0tZ3JvdXAgLmhvcml6b250YWwtZm9ybS1jb250cm9sLFxuLnNwYW4tMSAuaW5saW5lLWFkZHJlc3MtZm9ybSBmaWVsZHNldC5hZGRyZXNzLWZvcm0gLmhvcml6b250YWwtZm9ybS1ncm91cCAuaG9yaXpvbnRhbC1mb3JtLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG4uYWRkcmVzcy1ibG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4iLCIvL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4uY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG4udGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICAvLyBXZWJLaXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbi5zaXplKEB3aWR0aDsgQGhlaWdodCkge1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG4uc3F1YXJlKEBzaXplKSB7XG4gIC5zaXplKEBzaXplOyBAc2l6ZSk7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi5wbGFjZWhvbGRlcihAY29sb3I6IEBpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gRmlyZWZveCA0LTE4XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHsgY29sb3I6IEBjb2xvcjsgICAvLyBGaXJlZm94IDE5K1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC4gTm90ZVxuLy8gdGhhdCB3ZSBjYW5ub3QgY2hhaW4gdGhlIG1peGlucyB0b2dldGhlciBpbiBMZXNzLCBzbyB0aGV5IGFyZSByZXBlYXRlZC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKHdpbGwgYmUgcmVtb3ZlZCBpbiB2NClcbi5oaWRlLXRleHQoKSB7XG4gIGZvbnQ6IH5cIjAvMFwiIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuLnRleHQtaGlkZSgpIHtcbiAgLmhpZGUtdGV4dCgpO1xufVxuXG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG4uYm9yZGVyLXRvcC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItbGVmdC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4udHJhbnNpdGlvbihAdHJhbnNpdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuLnRyYW5zaXRpb24tcHJvcGVydHkoQHRyYW5zaXRpb24tcHJvcGVydHkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBAdHJhbnNpdGlvbi1wcm9wZXJ0eTtcbn1cbi50cmFuc2l0aW9uLWRlbGF5KEB0cmFuc2l0aW9uLWRlbGF5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XG59XG4udHJhbnNpdGlvbi1kdXJhdGlvbihAdHJhbnNpdGlvbi1kdXJhdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xufVxuLnRyYW5zaXRpb24tdHJhbnNmb3JtKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4ucm90YXRlKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTsgLy8gSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zbGF0ZShAeDsgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xufVxuLnNrZXcoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy80ODg1OyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHg7IEB5OyBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cblxuLnJvdGF0ZVgoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xufVxuLnJvdGF0ZVkoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7IC8vIElFOStcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xufVxuLnBlcnNwZWN0aXZlKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xufVxuLnBlcnNwZWN0aXZlLW9yaWdpbihAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46IEBwZXJzcGVjdGl2ZTtcbn1cbi50cmFuc2Zvcm0tb3JpZ2luKEBvcmlnaW4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbn1cblxuLy8gQW5pbWF0aW9uc1xuLmFuaW1hdGlvbihAYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2Vcbi51c2VyLXNlbGVjdChAc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgLW8tdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG59XG5cbi8vIFJlc2l6ZSBhbnl0aGluZ1xuLnJlc2l6YWJsZShAZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogQGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFNhZmFyaSBmaXhcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbi1jb3VudDsgQGNvbHVtbi1nYXA6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBPcGFjaXR5XG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBvcGFjaXR5OiBAb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICBAb3BhY2l0eS1pZTogKEBvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eS1pZX0pXCI7XG59XG5cblxuXG4vLyBHUkFESUVOVFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiNncmFkaWVudCB7XG5cbiAgLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBjb2xvci1zdG9wKEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCksIGNvbG9yLXN0b3AoQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLnZlcnRpY2FsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQHN0YXJ0LXBlcmNlbnQ6IDAlOyBAZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIH1cbiAgLmhvcml6b250YWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lci1jb2xvcjogIzU1NTsgQG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cblxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOSBhbmQgYmVsb3cuXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cblxuXG5cbi8vIFJldGluYSBpbWFnZXNcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemVcblxuLmltZy1yZXRpbmEoQGZpbGUtMXg7IEBmaWxlLTJ4OyBAd2lkdGgtMXg7IEBoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoLTF4IEBoZWlnaHQtMXg7XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuLmltZy1yZXNwb25zaXZlKEBkaXNwbGF5OiBibG9jazspIHtcbiAgZGlzcGxheTogQGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuLm5hdi1kaXZpZGVyKEBjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xufVxuXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYW5lbC12YXJpYW50KEBib3JkZXI7IEBoZWFkaW5nLXRleHQtY29sb3I7IEBoZWFkaW5nLWJnLWNvbG9yOyBAaGVhZGluZy1ib3JkZXIpIHtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuXG4gICYgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6IEBoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGhlYWRpbmctYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAaGVhZGluZy1ib3JkZXI7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAYm9yZGVyO1xuICAgIH1cbiAgfVxuICAmID4gLnBhbmVsLWZvb3RlciB7XG4gICAgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYWxlcnQtdmFyaWFudChAYmFja2dyb3VuZDsgQGJvcmRlcjsgQHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKEB0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG5cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYmxlLXJvdy12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlIHtcbiAgICA+IHRoZWFkLFxuICAgID4gdGJvZHksXG4gICAgPiB0Zm9vdCB7XG4gICAgICA+IHRyID4gLkB7c3RhdGV9LFxuICAgICAgPiAuQHtzdGF0ZX0gPiB0ZCxcbiAgICAgID4gLkB7c3RhdGV9ID4gdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSB7XG4gICAgPiB0ciA+IC5Ae3N0YXRlfTpob3ZlcixcbiAgICA+IC5Ae3N0YXRlfTpob3ZlciA+IHRkLFxuICAgID4gLkB7c3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiB2YXJpYW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG4uYnV0dG9uLXZhcmlhbnQoQGNvbG9yOyBAYmFja2dyb3VuZDsgQGJvcmRlcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA4JSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ1dHRvbi1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG59XG5cbi8vIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICAuYm9yZGVyLWxlZnQtcmFkaXVzKEBib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKEBib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubGFiZWwtdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAZWxlbWVudC1oZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbn1cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnByb2dyZXNzLWJhci12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgICNncmFkaWVudCA+IC5zdHJpcGVkKCk7XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4ucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCkge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB0YWJsZSYgIHsgZGlzcGxheTogdGFibGU7IH1cbiAgdHImICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoJixcbiAgdGQmICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4ucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKSB7XG4gICAgJixcbiAgdHImLFxuICB0aCYsXG4gIHRkJiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vIEdyaWQgU3lzdGVtXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuLmNvbnRhaW5lci1maXhlZCgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuLm1ha2Utcm93KEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIChAZ3V0dGVyIC8gLTIpO1xuICBtYXJnaW4tcmlnaHQ6IChAZ3V0dGVyIC8gLTIpO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXhzLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG4ubWFrZS1zbS1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIC8vIENhbGN1bGF0ZSB3aWR0aCBiYXNlZCBvbiBudW1iZXIgb2YgY29sdW1ucyBhdmFpbGFibGVcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW4gb2Zmc2V0c1xuLm1ha2Utc20tY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG4ubWFrZS1tZC1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICBtaW4taGVpZ2h0OiAxcHg7XG4gIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIC8vIENhbGN1bGF0ZSB3aWR0aCBiYXNlZCBvbiBudW1iZXIgb2YgY29sdW1ucyBhdmFpbGFibGVcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uIG9mZnNldHNcbi5tYWtlLW1kLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZCkge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbi5tYWtlLWxnLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgLy8gQ2FsY3VsYXRlIHdpZHRoIGJhc2VkIG9uIG51bWJlciBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbiBvZmZzZXRzXG4ubWFrZS1sZy1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgQGdyaWQtY29sdW1uc2AuXG5cbi5tYWtlLWdyaWQtY29sdW1ucygpIHtcbiAgLy8gQ29tbW9uIHN0eWxlcyBmb3IgYWxsIHNpemVzIG9mIGdyaWQgY29sdW1ucywgd2lkdGhzIDEtMTJcbiAgLmNvbChAaW5kZXgpIHdoZW4gKEBpbmRleCA9IDEpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLXhzLUB7aW5kZXh9LCAuY29sLXNtLUB7aW5kZXh9LCAuY29sLW1kLUB7aW5kZXh9LCAuY29sLWxnLUB7aW5kZXh9XCI7XG4gICAgLmNvbChAaW5kZXggKyAxLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsOyBcIj08XCIgaXNuJ3QgYSB0eXBvXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKEBpbmRleCArIDEsIH5cIkB7bGlzdH0sIEB7aXRlbX1cIik7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPiBAZ3JpZC1jb2x1bW5zKSB7IC8vIHRlcm1pbmFsXG4gICAgQHtsaXN0fSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgICAgcGFkZGluZy1sZWZ0OiAgKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLm1ha2UtZ3JpZC1jb2x1bW5zLWZsb2F0KEBjbGFzcykge1xuICAuY29sKEBpbmRleCkgd2hlbiAoQGluZGV4ID0gMSkgeyAvLyBpbml0aWFsXG4gICAgQGl0ZW06IH5cIi5jb2wtQHtjbGFzc30tQHtpbmRleH1cIjtcbiAgICAuY29sKEBpbmRleCArIDEsIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woQGluZGV4ICsgMSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gd2lkdGgpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LUB7aW5kZXh9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdXNoKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC1Ae2luZGV4fSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdWxsKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC1Ae2luZGV4fSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gb2Zmc2V0KSB7XG4gIC5jb2wtQHtjbGFzc30tb2Zmc2V0LUB7aW5kZXh9IHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEJhc2ljIGxvb3BpbmcgaW4gTEVTU1xuLm1ha2UtZ3JpZChAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEBpbmRleCA+PSAwKSB7XG4gIC5jYWxjLWdyaWQoQGluZGV4LCBAY2xhc3MsIEB0eXBlKTtcbiAgLy8gbmV4dCBpdGVyYXRpb25cbiAgLm1ha2UtZ3JpZChAaW5kZXggLSAxLCBAY2xhc3MsIEB0eXBlKTtcbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEB0ZXh0LWNvbG9yOiAjNTU1OyBAYm9yZGVyLWNvbG9yOiAjY2NjOyBAYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lICB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIEBzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oQGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtZm9jdXMtYm9yZGVyYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuXG4uZm9ybS1jb250cm9sLWZvY3VzKEBjb2xvcjogQGlucHV0LWJvcmRlci1mb2N1cykge1xuICBAY29sb3ItcmdiYTogcmdiYShyZWQoQGNvbG9yKSwgZ3JlZW4oQGNvbG9yKSwgYmx1ZShAY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggQHtjb2xvci1yZ2JhfVwiKTtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gUmVsYXRpdmUgdGV4dCBzaXplLCBwYWRkaW5nLCBhbmQgYm9yZGVyLXJhZGlpIGNoYW5nZXMgZm9yIGZvcm0gY29udHJvbHMuIEZvclxuLy8gaG9yaXpvbnRhbCBzaXppbmcsIHdyYXAgY29udHJvbHMgaW4gdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLiBgPHNlbGVjdD5gXG4vLyBlbGVtZW50IGdldHMgc3BlY2lhbCBsb3ZlIGJlY2F1c2UgaXQncyBzcGVjaWFsLCBhbmQgdGhhdCdzIGEgZmFjdCFcblxuLmlucHV0LXNpemUoQGlucHV0LWhlaWdodDsgQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xuXG4gIHNlbGVjdCYge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iXX0= */
