.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1vbi9tZWRpYV9taXhpbnMubGVzcyIsImNvbW1vbi9tZWRpYV9taXhpbnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBO0dBQ0UsUUFBQTtDQ1ZEO0FEV0M7O0VBRUUsZUFBQTtFQUNBLFlBQUE7RUFHQSxlQUFBO0NDWEg7QURhQztFQUNFLFlBQUE7Q0NYSDtBRDhGRDtFQUNFLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxVQUFBO0NDNUZEIiwiZmlsZSI6ImNvbW1vbi9tZWRpYV9taXhpbnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cclxuLy8gTWl4aW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gVVRJTElUWSBNSVhJTlNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENsZWFyZml4XHJcbi8vIC0tLS0tLS0tXHJcbi8vIEZvciBjbGVhcmluZyBmbG9hdHMgbGlrZSBhIGJvc3MgaDVicC5jb20vcVxyXG4uY2xlYXJmaXgge1xyXG4gICp6b29tOiAxO1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgLy8gRml4ZXMgT3BlcmEvY29udGVudGVkaXRhYmxlIGJ1ZzpcclxuICAgIC8vIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyNjb21tZW50LTM2OTUyXHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFdlYmtpdC1zdHlsZSBmb2N1c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuLnRhYi1mb2N1cygpIHtcclxuICAvLyBEZWZhdWx0XHJcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMztcclxuICAvLyBXZWJraXRcclxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XHJcbn1cclxuXHJcbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4uY2VudGVyLWJsb2NrKCkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gSUU3IGlubGluZS1ibG9ja1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbi5pZTctaW5saW5lLWJsb2NrKCkge1xyXG4gICpkaXNwbGF5OiBpbmxpbmU7IC8qIElFNyBpbmxpbmUtYmxvY2sgaGFjayAqL1xyXG4gICp6b29tOiAxO1xyXG59XHJcblxyXG4vLyBJRTcgbGlrZXMgdG8gY29sbGFwc2Ugd2hpdGVzcGFjZSBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgaW5saW5lLWJsb2NrIGVsZW1lbnRzLlxyXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxyXG4vLyB2ZXJzaW9uIGlzIGZvciBmb3JtIGJ1dHRvbnMsIHdoaWNoIHR5cGljYWxseSBjb21lIGFmdGVyIG90aGVyIGVsZW1lbnRzLCBhbmRcclxuLy8gcmlnaHQgdmVyc2lvbiBpcyBmb3IgaWNvbnMsIHdoaWNoIGNvbWUgYmVmb3JlLiBBcHBseWluZyBib3RoIGlzIG9rLCBidXQgaXQgd2lsbFxyXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcclxuLy8gaW5zdGVhZCBvZiB0aGUgMSBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cclxuLmllNy1yZXN0b3JlLWxlZnQtd2hpdGVzcGFjZSgpIHtcclxuICAqbWFyZ2luLWxlZnQ6IC4zZW07XHJcblxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmllNy1yZXN0b3JlLXJpZ2h0LXdoaXRlc3BhY2UoKSB7XHJcbiAgKm1hcmdpbi1yaWdodDogLjNlbTtcclxufVxyXG5cclxuLy8gU2l6aW5nIHNob3J0Y3V0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5zaXplKEBoZWlnaHQsIEB3aWR0aCkge1xyXG4gIHdpZHRoOiBAd2lkdGg7XHJcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xyXG59XHJcbi5zcXVhcmUoQHNpemUpIHtcclxuICAuc2l6ZShAc2l6ZSwgQHNpemUpO1xyXG59XHJcblxyXG4vLyBQbGFjZWhvbGRlciB0ZXh0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQHBsYWNlaG9sZGVyVGV4dCkge1xyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogQGNvbG9yO1xyXG4gIH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogQGNvbG9yO1xyXG4gIH1cclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiBAY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUZXh0IG92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xyXG4udGV4dC1vdmVyZmxvdygpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xyXG4uaGlkZS10ZXh0IHtcclxuICBmb250OiAwLzAgYTtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5cclxuLy8gRk9OVFNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiNmb250IHtcclxuICAjZmFtaWx5IHtcclxuICAgIC5zZXJpZigpIHtcclxuICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnRGYW1pbHk7XHJcbiAgICB9XHJcbiAgICAuc2Fucy1zZXJpZigpIHtcclxuICAgICAgZm9udC1mYW1pbHk6IEBzYW5zRm9udEZhbWlseTtcclxuICAgIH1cclxuICAgIC5tb25vc3BhY2UoKSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBAbW9ub0ZvbnRGYW1pbHk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zaG9ydGhhbmQoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xyXG4gICAgZm9udC1zaXplOiBAc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xyXG4gIH1cclxuICAuc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xyXG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNlcmlmO1xyXG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XHJcbiAgfVxyXG4gIC5zYW5zLXNlcmlmKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcclxuICAgICNmb250ID4gI2ZhbWlseSA+IC5zYW5zLXNlcmlmO1xyXG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XHJcbiAgfVxyXG4gIC5tb25vc3BhY2UoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xyXG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLm1vbm9zcGFjZTtcclxuICAgICNmb250ID4gLnNob3J0aGFuZChAc2l6ZSwgQHdlaWdodCwgQGxpbmVIZWlnaHQpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEZPUk1TXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBCbG9jayBsZXZlbCBpbnB1dHNcclxuLmlucHV0LWJsb2NrLWxldmVsKEBpbnB1dEhlaWdodCkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IEBpbnB1dEhlaWdodDsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxyXG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAvLyBNYWtlcyBpbnB1dHMgYmVoYXZlIGxpa2UgdHJ1ZSBibG9jay1sZXZlbCBlbGVtZW50c1xyXG59XHJcblxyXG5cclxuXHJcbi8vIE1peGluIGZvciBmb3JtIGZpZWxkIHN0YXRlc1xyXG4uZm9ybUZpZWxkU3RhdGUoQHRleHRDb2xvcjogIzU1NSwgQGJvcmRlckNvbG9yOiAjY2NjLCBAYmFja2dyb3VuZENvbG9yOiAjZjVmNWY1KSB7XHJcbiAgLy8gU2V0IHRoZSB0ZXh0IGNvbG9yXHJcbiAgLmNvbnRyb2wtbGFiZWwsXHJcbiAgLmhlbHAtYmxvY2ssXHJcbiAgLmhlbHAtaW5saW5lIHtcclxuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xyXG4gIH1cclxuICAvLyBTdHlsZSBpbnB1dHMgYWNjb3JkaW5nbHlcclxuICAuY2hlY2tib3gsXHJcbiAgLnJhZGlvLFxyXG4gIGlucHV0LFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcclxuICB9XHJcbiAgaW5wdXQsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlckNvbG9yO1xyXG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpOyAvLyBSZWRlY2xhcmUgc28gdHJhbnNpdGlvbnMgd29ya1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXJDb2xvciwgMTAlKTtcclxuICAgICAgQHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbihAYm9yZGVyQ29sb3IsIDIwJSk7XHJcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBHaXZlIGEgc21hbGwgYmFja2dyb3VuZCBjb2xvciBmb3IgaW5wdXQtcHJlcGVuZC8tYXBwZW5kXHJcbiAgLmlucHV0LXByZXBlbmQgLmFkZC1vbixcclxuICAuaW5wdXQtYXBwZW5kIC5hZGQtb24ge1xyXG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZENvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAdGV4dENvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyBDU1MzIFBST1BFUlRJRVNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEJvcmRlciBSYWRpdXNcclxuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcclxuICAgICAtbW96LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xyXG59XHJcblxyXG4vLyBTaW5nbGUgQ29ybmVyIEJvcmRlciBSYWRpdXNcclxuLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IEByYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG59XHJcbi5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiBAcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XHJcbn1cclxuLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xyXG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IEByYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcclxufVxyXG4uYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xyXG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogQHJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XHJcbn1cclxuXHJcbi8vIFNpbmdsZSBTaWRlIEJvcmRlciBSYWRpdXNcclxuLmJvcmRlci10b3AtcmFkaXVzKEByYWRpdXMpIHtcclxuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XHJcbiAgLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cyk7XHJcbn1cclxuLmJvcmRlci1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xyXG4gIC5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKTtcclxuICAuYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XHJcbn1cclxuLmJvcmRlci1ib3R0b20tcmFkaXVzKEByYWRpdXMpIHtcclxuICAuYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XHJcbiAgLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cyk7XHJcbn1cclxuLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XHJcbiAgLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cyk7XHJcbiAgLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cyk7XHJcbn1cclxuXHJcbi8vIERyb3Agc2hhZG93c1xyXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xyXG4gICAgIC1tb3otYm94LXNoYWRvdzogQHNoYWRvdztcclxuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XHJcbn1cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcclxuICAgICAtbW96LXRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xyXG4gICAgICAgLW8tdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcclxufVxyXG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XHJcbiAgICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcclxuICAgICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogQHRyYW5zaXRpb24tZGVsYXk7XHJcbn1cclxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG59XHJcblxyXG4vLyBUcmFuc2Zvcm1hdGlvbnNcclxuLnJvdGF0ZShAZGVncmVlcykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xyXG59XHJcbi5zY2FsZShAcmF0aW8pIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcclxufVxyXG4udHJhbnNsYXRlKEB4LCBAeSkge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XHJcbn1cclxuLnNrZXcoQHgsIEB5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3aXR0ZXIvYm9vdHN0cmFwL2lzc3Vlcy80ODg1XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3aXR0ZXIvYm9vdHN0cmFwL2lzc3Vlcy81MzE5XHJcbn1cclxuLnRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XHJcbn1cclxuXHJcbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcclxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cclxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuXHJcbi8vIFNlZSBnaXQgcHVsbCBodHRwczovL2dpdGh1Yi5jb20vZGFubnlrZWFuZS9ib290c3RyYXAuZ2l0IGJhY2tmYWNlLXZpc2liaWxpdHkgZm9yIGV4YW1wbGVzXHJcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcclxuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xyXG5cdCAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XHJcblx0ICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcclxufVxyXG5cclxuLy8gQmFja2dyb3VuZCBjbGlwcGluZ1xyXG4vLyBIZWFkcyB1cDogRkYgMy42IGFuZCB1bmRlciBuZWVkIFwicGFkZGluZ1wiIGluc3RlYWQgb2YgXCJwYWRkaW5nLWJveFwiXHJcbi5iYWNrZ3JvdW5kLWNsaXAoQGNsaXApIHtcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XHJcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcclxufVxyXG5cclxuLy8gQmFja2dyb3VuZCBzaXppbmdcclxuLmJhY2tncm91bmQtc2l6ZShAc2l6ZSkge1xyXG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcclxuICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XHJcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcclxufVxyXG5cclxuXHJcbi8vIEJveCBzaXppbmdcclxuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XHJcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XHJcbn1cclxuXHJcbi8vIFVzZXIgc2VsZWN0XHJcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxyXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XHJcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcclxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xyXG4gICAgICAgLW8tdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XHJcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcclxufVxyXG5cclxuLy8gUmVzaXplIGFueXRoaW5nXHJcbi5yZXNpemFibGUoQGRpcmVjdGlvbikge1xyXG4gIHJlc2l6ZTogQGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcclxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxyXG59XHJcblxyXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xyXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW5Db3VudCwgQGNvbHVtbkdhcDogQGdyaWRHdXR0ZXJXaWR0aCkge1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XHJcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcclxuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcclxuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xyXG59XHJcblxyXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxyXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xyXG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XHJcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTtcclxuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xyXG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XHJcbn1cclxuXHJcbi8vIE9wYWNpdHlcclxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcclxuICBvcGFjaXR5OiBAb3BhY2l0eSAvIDEwMDtcclxuICBmaWx0ZXI6IH5cImFscGhhKG9wYWNpdHk9QHtvcGFjaXR5fSlcIjtcclxufVxyXG5cclxuXHJcblxyXG4vLyBCQUNLR1JPVU5EU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQWRkIGFuIGFscGhhdHJhbnNwYXJlbmN5IHZhbHVlIHRvIGFueSBiYWNrZ3JvdW5kIG9yIGJvcmRlciBjb2xvciAodmlhIEVseXNlIEhvbGxhZGF5KVxyXG4jdHJhbnNsdWNlbnQge1xyXG4gIC5iYWNrZ3JvdW5kKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XHJcbiAgfVxyXG4gIC5ib3JkZXIoQGNvbG9yOiBAd2hpdGUsIEBhbHBoYTogMSkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xyXG4gICAgLmJhY2tncm91bmQtY2xpcChwYWRkaW5nLWJveCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHcmFkaWVudCBCYXIgQ29sb3JzIGZvciBidXR0b25zIGFuZCBhbGVydHNcclxuLmdyYWRpZW50QmFyKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvciwgQHRleHRDb2xvcjogI2ZmZiwgQHRleHRTaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KSkge1xyXG4gIGNvbG9yOiBAdGV4dENvbG9yO1xyXG4gIHRleHQtc2hhZG93OiBAdGV4dFNoYWRvdztcclxuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKTtcclxuICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlDb2xvciBAc2Vjb25kYXJ5Q29sb3IgZGFya2VuKEBzZWNvbmRhcnlDb2xvciwgMTUlKTtcclxuICAvLyBObyBpZGVhIHdoeSB0aGlzIGlzIGhlcmUsIGFzIGl0IG1ha2VzIHRoZSBib3JkZXIgZ3JleSBpbnN0ZWFkIG9mIHRoZSBnaXZlbiBjb2xvcnNcclxuICAvLyBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIGZhZGVpbihyZ2JhKDAsMCwwLC4xKSwgMTUlKTtcclxufVxyXG5cclxuLy8gR3JhZGllbnRzXHJcbiNncmFkaWVudCB7XHJcbiAgLmhvcml6b250YWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDEwMCUgMCwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydENvbG9yKSxhcmdiKEBlbmRDb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXHJcbiAgfVxyXG4gIC52ZXJ0aWNhbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgNjAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwXHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cclxuICB9XHJcbiAgLmRpcmVjdGlvbmFsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMsIEBkZWc6IDQ1ZGVnKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwXHJcbiAgfVxyXG4gIC5ob3Jpem9udGFsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBtaWRDb2xvciwgQGVuZENvbG9yLCA4MCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgY29sb3Itc3RvcChAY29sb3JTdG9wLCBAbWlkQ29sb3IpLCB0byhAZW5kQ29sb3IpKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xyXG4gIH1cclxuXHJcbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBtaWRDb2xvciwgQGVuZENvbG9yLCA4MCUpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgY29sb3Itc3RvcChAY29sb3JTdG9wLCBAbWlkQ29sb3IpLCB0byhAZW5kQ29sb3IpKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydENvbG9yKSxhcmdiKEBlbmRDb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcclxuICB9XHJcbiAgLnJhZGlhbChAaW5uZXJDb2xvcjogIzU1NSwgQG91dGVyQ29sb3I6ICMzMzMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBvdXRlckNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDAsIGNlbnRlciBjZW50ZXIsIDQ2MCwgZnJvbShAaW5uZXJDb2xvciksIHRvKEBvdXRlckNvbG9yKSk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB9XHJcbiAgLnN0cmlwZWQoQGNvbG9yOiAjNTU1LCBAYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoLjI1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxuICB9XHJcbn1cclxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcclxuLnJlc2V0LWZpbHRlcigpIHtcclxuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcclxufVxyXG5cclxuXHJcblxyXG4vLyBDT01QT05FTlQgTUlYSU5TXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBIb3Jpem9udGFsIGRpdmlkZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXHJcbi5uYXYtZGl2aWRlcihAdG9wOiAjZTVlNWU1LCBAYm90dG9tOiBAd2hpdGUpIHtcclxuICAvLyBJRTcgbmVlZHMgYSBzZXQgd2lkdGggc2luY2Ugd2UgZ2F2ZSBhIGhlaWdodC4gUmVzdHJpY3RpbmcganVzdFxyXG4gIC8vIHRvIElFNyB0byBrZWVwIHRoZSAxcHggbGVmdC9yaWdodCBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cclxuICAvLyBJdCBpcyB1bmNsZWFyIHdoZXJlIElFIGlzIGdldHRpbmcgdGhlIGV4dHJhIHNwYWNlIHRoYXQgd2UgbmVlZFxyXG4gIC8vIHRvIG5lZ2F0aXZlLW1hcmdpbiBhd2F5LCBidXQgc28gaXQgZ29lcy5cclxuICAqd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAoKEBiYXNlTGluZUhlaWdodCAvIDIpIC0gMSkgMXB4OyAvLyA4cHggMXB4XHJcbiAgKm1hcmdpbjogLTVweCAwIDVweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEB0b3A7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBib3R0b207XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuLmJ1dHRvbkJhY2tncm91bmQoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgQHRleHRDb2xvcjogI2ZmZiwgQHRleHRTaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KSkge1xyXG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcclxuICAuZ3JhZGllbnRCYXIoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgQHRleHRDb2xvciwgQHRleHRTaGFkb3cpO1xyXG4gICpiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7IC8qIERhcmtlbiBJRTcgYnV0dG9ucyBieSBkZWZhdWx0IHNvIHRoZXkgc3RhbmQgb3V0IG1vcmUgZ2l2ZW4gdGhleSB3b24ndCBoYXZlIGJvcmRlcnMgKi9cclxuICAucmVzZXQtZmlsdGVyKCk7XHJcblxyXG4gIC8vIGluIHRoZXNlIGNhc2VzIHRoZSBncmFkaWVudCB3b24ndCBjb3ZlciB0aGUgYmFja2dyb3VuZCwgc28gd2Ugb3ZlcnJpZGVcclxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xyXG4gICAgKmJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDUlKTtcclxuICB9XHJcblxyXG4gIC8vIElFIDcgKyA4IGNhbid0IGhhbmRsZSBib3gtc2hhZG93IHRvIHNob3cgYWN0aXZlLCBzbyB3ZSBkYXJrZW4gYSBiaXQgb3Vyc2VsdmVzXHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgMTAlKSBlKFwiXFw5XCIpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cclxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cclxuLm5hdmJhclZlcnRpY2FsQWxpZ24oQGVsZW1lbnRIZWlnaHQpIHtcclxuICBtYXJnaW4tdG9wOiAoQG5hdmJhckhlaWdodCAtIEBlbGVtZW50SGVpZ2h0KSAvIDI7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gR3JpZCBTeXN0ZW1cclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XHJcbi5jb250YWluZXItZml4ZWQoKSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIC5jbGVhcmZpeCgpO1xyXG59XHJcblxyXG4vLyBUYWJsZSBjb2x1bW5zXHJcbi50YWJsZUNvbHVtbnMoQGNvbHVtblNwYW46IDEpIHtcclxuICBmbG9hdDogbm9uZTsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xyXG4gIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtblNwYW4pICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtblNwYW4gLSAxKSkgLSAxNjsgLy8gMTYgaXMgdG90YWwgcGFkZGluZyBvbiBsZWZ0IGFuZCByaWdodCBvZiB0YWJsZSBjZWxsc1xyXG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXHJcbn1cclxuXHJcbi8vIE1ha2UgYSBHcmlkXHJcbi8vIFVzZSAubWFrZVJvdyBhbmQgLm1ha2VDb2x1bW4gdG8gYXNzaWduIHNlbWFudGljIGxheW91dHMgZ3JpZCBzeXN0ZW0gYmVoYXZpb3JcclxuLm1ha2VSb3coKSB7XHJcbiAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcclxuICAuY2xlYXJmaXgoKTtcclxufVxyXG4ubWFrZUNvbHVtbihAY29sdW1uczogMSwgQG9mZnNldDogMCkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1sZWZ0OiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBvZmZzZXQpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQG9mZnNldCAtIDEpKSArIChAZ3JpZEd1dHRlcldpZHRoICogMik7XHJcbiAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XHJcbn1cclxuXHJcbi8vIFRoZSBHcmlkXHJcbiNncmlkIHtcclxuXHJcbiAgLmNvcmUgKEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcclxuXHJcbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xyXG4gICAgICAuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxyXG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgICAuc3BhblggKDApIHt9XHJcblxyXG4gICAgLm9mZnNldFggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xyXG4gICAgICAub2Zmc2V0QHtpbmRleH0geyAub2Zmc2V0KEBpbmRleCk7IH1cclxuICAgICAgLm9mZnNldFgoQGluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgICAub2Zmc2V0WCAoMCkge31cclxuXHJcbiAgICAub2Zmc2V0IChAY29sdW1ucykge1xyXG4gICAgICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyArIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcclxuICAgICAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoICogLTE7XHJcbiAgICAgIC5jbGVhcmZpeCgpO1xyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gcHJldmVudCBjb2xsYXBzaW5nIGNvbHVtbnNcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzXHJcbiAgICAuY29udGFpbmVyLFxyXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXIsXHJcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLFxyXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciB7IC5zcGFuKEBncmlkQ29sdW1ucyk7IH1cclxuXHJcbiAgICAvLyBnZW5lcmF0ZSAuc3BhblggYW5kIC5vZmZzZXRYXHJcbiAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XHJcbiAgICAub2Zmc2V0WCAoQGdyaWRDb2x1bW5zKTtcclxuXHJcbiAgfVxyXG5cclxuICAuZmx1aWQgKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoKSB7XHJcblxyXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcclxuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cclxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xyXG4gICAgfVxyXG4gICAgLnNwYW5YICgwKSB7fVxyXG5cclxuICAgIC5vZmZzZXRYIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcclxuICAgICAgLm9mZnNldEB7aW5kZXh9IHsgLm9mZnNldChAaW5kZXgpOyB9XHJcbiAgICAgIC5vZmZzZXRAe2luZGV4fTpmaXJzdC1jaGlsZCB7IC5vZmZzZXRGaXJzdENoaWxkKEBpbmRleCk7IH1cclxuICAgICAgLm9mZnNldFgoQGluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgICAub2Zmc2V0WCAoMCkge31cclxuXHJcbiAgICAub2Zmc2V0IChAY29sdW1ucykge1xyXG4gICAgICBtYXJnaW4tbGVmdDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoKjIpO1xyXG4gIFx0ICAqbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGgqMikgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5vZmZzZXRGaXJzdENoaWxkIChAY29sdW1ucykge1xyXG4gICAgICBtYXJnaW4tbGVmdDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoKTtcclxuICAgICAgKm1hcmdpbi1sZWZ0OiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKSAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSkgKyBAZmx1aWRHcmlkR3V0dGVyV2lkdGggLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zcGFuIChAY29sdW1ucykge1xyXG4gICAgICB3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XHJcbiAgICAgICp3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3ctZmx1aWQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgLmNsZWFyZml4KCk7XHJcbiAgICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcclxuICAgICAgICAuaW5wdXQtYmxvY2stbGV2ZWwoKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoO1xyXG4gICAgICAgICptYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcclxuICAgICAgfVxyXG4gICAgICBbY2xhc3MqPVwic3BhblwiXTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNwYWNlIGdyaWQtc2l6ZWQgY29udHJvbHMgcHJvcGVybHkgaWYgbXVsdGlwbGUgcGVyIGxpbmVcclxuICAgICAgLmNvbnRyb2xzLXJvdyBbY2xhc3MqPVwic3BhblwiXSArIFtjbGFzcyo9XCJzcGFuXCJdIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBnZW5lcmF0ZSAuc3BhblggYW5kIC5vZmZzZXRYXHJcbiAgICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcclxuICAgICAgLm9mZnNldFggKEBncmlkQ29sdW1ucyk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLmlucHV0KEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcclxuXHJcbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xyXG4gICAgICBpbnB1dC5zcGFuQHtpbmRleH0sIHRleHRhcmVhLnNwYW5Ae2luZGV4fSwgLnVuZWRpdGFibGUtaW5wdXQuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxyXG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XHJcbiAgICB9XHJcbiAgICAuc3BhblggKDApIHt9XHJcblxyXG4gICAgLnNwYW4oQGNvbHVtbnMpIHtcclxuICAgICAgd2lkdGg6ICgoQGdyaWRDb2x1bW5XaWR0aCkgKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKSAtIDE0O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0LFxyXG4gICAgdGV4dGFyZWEsXHJcbiAgICAudW5lZGl0YWJsZS1pbnB1dCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyBvdmVycmlkZSBtYXJnaW4tbGVmdCBmcm9tIGNvcmUgZ3JpZCBzeXN0ZW1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTcGFjZSBncmlkLXNpemVkIGNvbnRyb2xzIHByb3Blcmx5IGlmIG11bHRpcGxlIHBlciBsaW5lXHJcbiAgICAuY29udHJvbHMtcm93IFtjbGFzcyo9XCJzcGFuXCJdICsgW2NsYXNzKj1cInNwYW5cIl0ge1xyXG4gICAgICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBnZW5lcmF0ZSAuc3BhblhcclxuICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcclxuXHJcbiAgfVxyXG59XHJcbiIsIi5jbGVhcmZpeCB7XG4gICp6b29tOiAxO1xufVxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmhpZGUtdGV4dCB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIl19 */
