.c-grid-accordion__grid {
  margin-top: 2rem;
}
@media (min-width: 992px) {
  .c-grid-accordion__grid {
    display: grid;
    grid-template-columns: repeat(23, 1fr);
  }
}

.c-grid-accordion__item {
  display: block;
  grid-column: 1/span 7;
  width: 100%;
}
.c-grid-accordion__item:nth-of-type(3n + 2) {
  grid-column: 9/span 7;
}
.c-grid-accordion__item:nth-of-type(3n + 3) {
  grid-column: 17/span 7;
}
.c-grid-accordion__item .item-list {
  display: none;
}

.c-grid-accordion__item:nth-of-type(3n + 4) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 1;
  -ms-grid-row: 3;
}

.c-grid-accordion__item:nth-of-type(3n + 5) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 9;
  -ms-grid-row: 3;
}

.c-grid-accordion__item:nth-of-type(3n + 6) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 17;
  -ms-grid-row: 3;
}

.c-grid-accordion__item:nth-of-type(9n + 7) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 1;
  -ms-grid-row: 5;
}

.c-grid-accordion__item:nth-of-type(9n + 8) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 9;
  -ms-grid-row: 5;
}

.c-grid-accordion__item:nth-of-type(9n + 9) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 17;
  -ms-grid-row: 5;
}

.c-grid-accordion__item:nth-of-type(9n + 10) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 1;
  -ms-grid-row: 7;
}

.c-grid-accordion__item:nth-of-type(9n + 11) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 9;
  -ms-grid-row: 7;
}

.c-grid-accordion__item:nth-of-type(9n + 12) {
  -ms-grid-column-span: 7;
  -ms-grid-column: 17;
  -ms-grid-row: 7;
}

.js-grid-accordion__row {
  -ms-grid-row: 2;
}

.js-grid-accordion__row:nth-of-type(2n) {
  -ms-grid-row: 4;
}

.js-grid-accordion__row:nth-of-type(3n) {
  -ms-grid-row: 6;
}

.js-grid-accordion__row:nth-of-type(4n) {
  -ms-grid-row: 8;
}

.c-grid-accordion__title {
  display: inline-block;
}

.c-grid-accordion__drawer {
  background-color: #fff;
  margin-bottom: 1.5rem;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 3px 6px rgba(24, 24, 24, 0.5);
  padding: 1rem;
  display: none;
  position: relative;
  width: 100%;
}
.c-grid-accordion__drawer.is-active {
  display: block;
}
.c-grid-accordion__drawer h3 {
  margin: 0 0 2rem;
}
.c-grid-accordion__drawer ul {
  padding: 0;
}
@media (min-width: 992px) {
  .c-grid-accordion__drawer ul {
    -moz-column-count: 3;
         column-count: 3;
  }
}
.c-grid-accordion__drawer ul li {
  font-size: 1.15rem;
  color: #892034;
  line-height: 1.2;
  margin: 0 2.5rem 1.25rem;
}
@media (min-width: 600px) {
  .c-grid-accordion__drawer ul li {
    font-size: 1.2rem;
  }
}
.c-grid-accordion__drawer ul li a {
  text-decoration: none;
}

.c-grid-accordion__drawer--dissolve h3,
.c-grid-accordion__drawer--dissolve div,
.c-grid-accordion__drawer--dissolve button {
  opacity: 0;
  transition: opacity 0.3s;
}

.c-grid-accordion__row {
  grid-column: 1/span 23 !important;
}

.c-grid-accordion__close {
  background-color: #181818;
  border-radius: 50%;
  height: 1.25rem;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 1.25rem;
}
.c-grid-accordion__close:before, .c-grid-accordion__close:after {
  background-color: #fff;
  content: "";
  height: 1px;
  left: 0.2rem;
  position: absolute;
  top: 0.6rem;
  transform: rotate(45deg);
  width: 0.85rem;
}
.c-grid-accordion__close:after {
  transform: rotate(-45deg);
}

.c-grid-accordion__close-text {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZ3JpZC1hY2NvcmRpb24vZ3JpZC1hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvZ3JpZC1hY2NvcmRpb24vZ3JpZC1hY2NvcmRpb24uY3NzIiwicGFydGlhbHMvbWl4aW5zL19icC5zY3NzIiwicGFydGlhbHMvbWl4aW5zL19jYXJkLnNjc3MiLCJwYXJ0aWFscy9zZXR0aW5ncy9fY29sb3JzLnNjc3MiLCJwYXJ0aWFscy9taXhpbnMvX3R5cG9ncmFwaHkuc2NzcyIsInBhcnRpYWxzL21peGlucy9fdGhlbWUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLGdCQUFBO0FDREY7QUMwQ007RUYxQ047SUFHSSxhQUFBO0lBQ0Esc0NBQUE7RUNDRjtBQUNGOztBREVBO0VBQ0UsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtBQ0NGO0FEQ0U7RUFDRSxxQkFBQTtBQ0NKO0FERUU7RUFDRSxzQkFBQTtBQ0FKO0FER0U7RUFDRSxhQUFBO0FDREo7O0FES0E7RUFDRSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBQ0ZGOztBREdBO0VBQ0UsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNBRjs7QURDQTtFQUNFLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0FDRUY7O0FEQUU7RUFDRSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBQ0dKOztBREZFO0VBQ0UsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNLSjs7QURKRTtFQUNFLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0FDT0o7O0FETEU7RUFDRSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBQ1FKOztBRFBFO0VBQ0UsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7QUNVSjs7QURURTtFQUNFLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0FDWUo7O0FEVEU7RUFDRSxlQUFBO0FDWUo7O0FEVkU7RUFDRSxlQUFBO0FDYUo7O0FEWEU7RUFDRSxlQUFBO0FDY0o7O0FEWkU7RUFDRSxlQUFBO0FDZUo7O0FEWkE7RUFDRSxxQkFBQTtBQ2VGOztBRFpBO0VHcEZFLHNCQ1FrQjtFRFBsQixxQkFBQTtFQUNBLGdCQUFBO0VBWUEsa0JBQUE7RUFJQSwyQ0FBQTtFQVpBLGFBQUE7RUhvRkEsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBQ2dCRjtBRGRFO0VBQ0UsY0FBQTtBQ2dCSjtBRGJFO0VBQ0UsZ0JBQUE7QUNlSjtBRFpFO0VBQ0UsVUFBQTtBQ2NKO0FDMUVNO0VGMkRKO0lBSUksb0JBQUE7U0FBQSxlQUFBO0VDZUo7QUFDRjtBRGJJO0VLNEJGLGtCQUFBO0VMMUJJLGNJcEZlO0VKcUZmLGdCQUFBO0VBQ0Esd0JBQUE7QUNlTjtBQ3JGTTtFRmtFRjtJSzRCRixpQkFBQTtFSkxBO0FBQ0Y7QURsQk07RUFDRSxxQkFBQTtBQ29CUjs7QURiRTs7O0VBR0UsVUFBQTtFQUNBLHdCQUFBO0FDZ0JKOztBRFpBO0VBQ0UsaUNBQUE7QUNlRjs7QURaQTtFQUNFLHlCSWpJa0I7RUprSWxCLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBO0VBQ0EsY0FBQTtBQ2VGO0FEYkU7RUFFRSxzQkkzSWdCO0VKNEloQixXQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSx3QkFBQTtFQUNBLGNBQUE7QUNjSjtBRFhFO0VBQ0UseUJBQUE7QUNhSjs7QURUQTtFTXZFRSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBTG9GRiIsImZpbGUiOiJjb21wb25lbnRzL2dyaWQtYWNjb3JkaW9uL2dyaWQtYWNjb3JkaW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi8uLi9wYXJ0aWFscy9fcGFydGlhbHNcIjtcblxuLmMtZ3JpZC1hY2NvcmRpb25fX2dyaWQge1xuICBtYXJnaW4tdG9wOiByZW0oNDBweCk7XG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyMywgMWZyKTtcbiAgfVxufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBncmlkLWNvbHVtbjogMSAvIHNwYW4gNztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpudGgtb2YtdHlwZSgzbiArIDIpIHtcbiAgICBncmlkLWNvbHVtbjogOSAvIHNwYW4gNztcbiAgfVxuXG4gICY6bnRoLW9mLXR5cGUoM24gKyAzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDE3IC8gc3BhbiA3O1xuICB9XG5cbiAgLml0ZW0tbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDQpIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgLW1zLWdyaWQtcm93OiAzOyB9XG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDUpIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogOTtcbiAgLW1zLWdyaWQtcm93OiAzOyB9XG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDYpIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogMTc7XG4gIC1tcy1ncmlkLXJvdzogMzsgfVxuXG4gIC5jLWdyaWQtYWNjb3JkaW9uX19pdGVtOm50aC1vZi10eXBlKDluICsgNykge1xuICAgIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA3O1xuICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgICAtbXMtZ3JpZC1yb3c6IDU7IH1cbiAgLmMtZ3JpZC1hY2NvcmRpb25fX2l0ZW06bnRoLW9mLXR5cGUoOW4gKyA4KSB7XG4gICAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gICAgLW1zLWdyaWQtY29sdW1uOiA5O1xuICAgIC1tcy1ncmlkLXJvdzogNTsgfVxuICAuYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSg5biArIDkpIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNztcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE3O1xuICAgIC1tcy1ncmlkLXJvdzogNTsgfVxuXG4gIC5jLWdyaWQtYWNjb3JkaW9uX19pdGVtOm50aC1vZi10eXBlKDluICsgMTApIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNztcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XG4gICAgLW1zLWdyaWQtcm93OiA3OyB9XG4gIC5jLWdyaWQtYWNjb3JkaW9uX19pdGVtOm50aC1vZi10eXBlKDluICsgMTEpIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNztcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDk7XG4gICAgLW1zLWdyaWQtcm93OiA3OyB9XG4gIC5jLWdyaWQtYWNjb3JkaW9uX19pdGVtOm50aC1vZi10eXBlKDluICsgMTIpIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNztcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE3O1xuICAgIC1tcy1ncmlkLXJvdzogNzsgfVxuXG5cbiAgLmpzLWdyaWQtYWNjb3JkaW9uX19yb3cge1xuICAgIC1tcy1ncmlkLXJvdzogMjtcbiAgfVxuICAuanMtZ3JpZC1hY2NvcmRpb25fX3JvdzpudGgtb2YtdHlwZSgybikge1xuICAgIC1tcy1ncmlkLXJvdzogNDtcbiAgfVxuICAuanMtZ3JpZC1hY2NvcmRpb25fX3JvdzpudGgtb2YtdHlwZSgzbikge1xuICAgIC1tcy1ncmlkLXJvdzogNjtcbiAgfVxuICAuanMtZ3JpZC1hY2NvcmRpb25fX3JvdzpudGgtb2YtdHlwZSg0bikge1xuICAgIC1tcy1ncmlkLXJvdzogODtcbiAgfVxuXG4uYy1ncmlkLWFjY29yZGlvbl9fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jLWdyaWQtYWNjb3JkaW9uX19kcmF3ZXIge1xuICBAaW5jbHVkZSBjYXJkO1xuICBAaW5jbHVkZSBjYXJkLWJvcmRlcjtcbiAgQGluY2x1ZGUgY2FyZC1zaGFkb3c7XG4gIEBpbmNsdWRlIGNhcmQtcGFkZGluZztcblxuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW46IDAgMCByZW0oNDBweCk7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZnMoaGVhZGluZyk7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW46IDAgcmVtKDUwcHgpIHJlbSgyNXB4KTtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2RyYXdlci0tZGlzc29sdmUge1xuICBoMyxcbiAgZGl2LFxuICBidXR0b24ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gIH1cbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX3JvdyB7XG4gIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyMyAhaW1wb3J0YW50O1xufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiByZW0oMjVweCk7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHJlbSgyMHB4KTtcbiAgdG9wOiByZW0oMjBweCk7XG4gIHdpZHRoOiByZW0oMjVweCk7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IHJlbSg0cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgxMnB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgd2lkdGg6IHJlbSgxN3B4KTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2Nsb3NlLXRleHQge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW47XG59XG4iLCIuYy1ncmlkLWFjY29yZGlvbl9fZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmMtZ3JpZC1hY2NvcmRpb25fX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMjMsIDFmcik7XG4gIH1cbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiA3O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jLWdyaWQtYWNjb3JkaW9uX19pdGVtOm50aC1vZi10eXBlKDNuICsgMikge1xuICBncmlkLWNvbHVtbjogOS9zcGFuIDc7XG59XG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDMpIHtcbiAgZ3JpZC1jb2x1bW46IDE3L3NwYW4gNztcbn1cbi5jLWdyaWQtYWNjb3JkaW9uX19pdGVtIC5pdGVtLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDQpIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgLW1zLWdyaWQtcm93OiAzO1xufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDUpIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogOTtcbiAgLW1zLWdyaWQtcm93OiAzO1xufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSgzbiArIDYpIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogMTc7XG4gIC1tcy1ncmlkLXJvdzogMztcbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2l0ZW06bnRoLW9mLXR5cGUoOW4gKyA3KSB7XG4gIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA3O1xuICAtbXMtZ3JpZC1jb2x1bW46IDE7XG4gIC1tcy1ncmlkLXJvdzogNTtcbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2l0ZW06bnRoLW9mLXR5cGUoOW4gKyA4KSB7XG4gIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA3O1xuICAtbXMtZ3JpZC1jb2x1bW46IDk7XG4gIC1tcy1ncmlkLXJvdzogNTtcbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2l0ZW06bnRoLW9mLXR5cGUoOW4gKyA5KSB7XG4gIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA3O1xuICAtbXMtZ3JpZC1jb2x1bW46IDE3O1xuICAtbXMtZ3JpZC1yb3c6IDU7XG59XG5cbi5jLWdyaWQtYWNjb3JkaW9uX19pdGVtOm50aC1vZi10eXBlKDluICsgMTApIHtcbiAgLW1zLWdyaWQtY29sdW1uLXNwYW46IDc7XG4gIC1tcy1ncmlkLWNvbHVtbjogMTtcbiAgLW1zLWdyaWQtcm93OiA3O1xufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9faXRlbTpudGgtb2YtdHlwZSg5biArIDExKSB7XG4gIC1tcy1ncmlkLWNvbHVtbi1zcGFuOiA3O1xuICAtbXMtZ3JpZC1jb2x1bW46IDk7XG4gIC1tcy1ncmlkLXJvdzogNztcbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2l0ZW06bnRoLW9mLXR5cGUoOW4gKyAxMikge1xuICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogNztcbiAgLW1zLWdyaWQtY29sdW1uOiAxNztcbiAgLW1zLWdyaWQtcm93OiA3O1xufVxuXG4uanMtZ3JpZC1hY2NvcmRpb25fX3JvdyB7XG4gIC1tcy1ncmlkLXJvdzogMjtcbn1cblxuLmpzLWdyaWQtYWNjb3JkaW9uX19yb3c6bnRoLW9mLXR5cGUoMm4pIHtcbiAgLW1zLWdyaWQtcm93OiA0O1xufVxuXG4uanMtZ3JpZC1hY2NvcmRpb25fX3JvdzpudGgtb2YtdHlwZSgzbikge1xuICAtbXMtZ3JpZC1yb3c6IDY7XG59XG5cbi5qcy1ncmlkLWFjY29yZGlvbl9fcm93Om50aC1vZi10eXBlKDRuKSB7XG4gIC1tcy1ncmlkLXJvdzogODtcbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX3RpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYy1ncmlkLWFjY29yZGlvbl9fZHJhd2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDI0LCAyNCwgMjQsIDAuNSk7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYy1ncmlkLWFjY29yZGlvbl9fZHJhd2VyLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmMtZ3JpZC1hY2NvcmRpb25fX2RyYXdlciBoMyB7XG4gIG1hcmdpbjogMCAwIDJyZW07XG59XG4uYy1ncmlkLWFjY29yZGlvbl9fZHJhd2VyIHVsIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYy1ncmlkLWFjY29yZGlvbl9fZHJhd2VyIHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cbi5jLWdyaWQtYWNjb3JkaW9uX19kcmF3ZXIgdWwgbGkge1xuICBmb250LXNpemU6IDEuMTVyZW07XG4gIGNvbG9yOiAjODkyMDM0O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgMi41cmVtIDEuMjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmMtZ3JpZC1hY2NvcmRpb25fX2RyYXdlciB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbn1cbi5jLWdyaWQtYWNjb3JkaW9uX19kcmF3ZXIgdWwgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZ3JpZC1hY2NvcmRpb25fX2RyYXdlci0tZGlzc29sdmUgaDMsXG4uYy1ncmlkLWFjY29yZGlvbl9fZHJhd2VyLS1kaXNzb2x2ZSBkaXYsXG4uYy1ncmlkLWFjY29yZGlvbl9fZHJhd2VyLS1kaXNzb2x2ZSBidXR0b24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG5cbi5jLWdyaWQtYWNjb3JkaW9uX19yb3cge1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDIzICFpbXBvcnRhbnQ7XG59XG5cbi5jLWdyaWQtYWNjb3JkaW9uX19jbG9zZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODE4MTg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDFyZW07XG4gIHdpZHRoOiAxLjI1cmVtO1xufVxuLmMtZ3JpZC1hY2NvcmRpb25fX2Nsb3NlOmJlZm9yZSwgLmMtZ3JpZC1hY2NvcmRpb25fX2Nsb3NlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IDAuMnJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNnJlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMC44NXJlbTtcbn1cbi5jLWdyaWQtYWNjb3JkaW9uX19jbG9zZTphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5jLWdyaWQtYWNjb3JkaW9uX19jbG9zZS10ZXh0IHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IC0xMDAwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDFweDtcbn0iLCIvL1xuLy8gQGZpbGVcbi8vIEJyZWFrcG9pbnQgTWl4aW5cblxuLy9cbi8vIENyZWF0ZSBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIHRoZSB2YWx1ZXMgaW4gc2l0ZSAkYnJlYWtwb2ludHMgbWFwLlxuLy8gQHBhcmFtICRicmVha3BvaW50O1xuLy8gICBUaGUgbmFtZWQgYnJlYWtwb2ludCBrZXkgd2Ugd2FudCB0byB1c2UuIENhbiBwcm92aWRlIGEgbGlzdCBmb3IgbWluL21heFxuLy8gICBxdWVyaWVzLlxuLy8gQHBhcmFtICRicmVha3BvaW50cztcbi8vICAgVGhlIG1hcCBvZiBicmVha3BvaW50IGtleS92YWx1ZSBwYWlycy4gRGVmYXVsdHMgdG8gdGhlIGdsb2JhbCAkYnJlYWtwaW9udHNcbi8vICAgbWFwIGluIGBzZXR0aW5ncy9icmVha3BvaW50c2AuXG4vL1xuQG1peGluIGJwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAkbWluLWJwLW5hbWU6IG50aCgkYnJlYWtwb2ludCwgMSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG1pbi1icC1uYW1lKSB7XG4gICAgJG1pbi1icC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRtaW4tYnAtbmFtZSk7XG5cbiAgICBAaWYgbGVuZ3RoKCRicmVha3BvaW50KSA9PSAxIGFuZCAkbWluLWJwLXZhbHVlID09IDAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIG1pbi1tYXgtd2lkdGggcXVlcnkuXG4gICAgQGVsc2UgaWYgbGVuZ3RoKCRicmVha3BvaW50KSA9PSAyIGFuZCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG50aCgkYnJlYWtwb2ludCwgMikpIHtcbiAgICAgIC8vIEdldCBvdXIgbWF4IHdpZHRoIHZhbHVlLCBzdWJ0cmFjdCBvbmUgcGl4ZWwgdG8gYXZvaWQgYnJlYWtwaW9udFxuICAgICAgLy8gY29uZmxpY3RzLlxuICAgICAgJG1heC1icC12YWx1ZTogKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBudGgoJGJyZWFrcG9pbnQsIDIpKSkgLSAxcHg7XG5cbiAgICAgIEBpZiAkbWluLWJwLXZhbHVlID09IDAge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heC1icC12YWx1ZSkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluLWJwLXZhbHVlKSBhbmQgKG1heC13aWR0aDogJG1heC1icC12YWx1ZSkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbmdsZSBtaW4td2lkdGggcXVlcnkuXG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4tYnAtdmFsdWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAkbWluLWJwLW5hbWUgKyBcIiBpcyBub3QgYSBrZXkgaW4gYnJlYWtwb2ludHMuXCI7XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBtaXhpbiBjYXJkLXBhZGRpbmcge1xuICBwYWRkaW5nOiByZW0oMjBweCk7XG59XG5cbkBtaXhpbiBjYXJkLXBhZGRpbmctLW1pbmkge1xuICBwYWRkaW5nOiByZW0oOHB4KSByZW0oMTBweCk7XG59XG5cbkBtaXhpbiBjYXJkLWJvcmRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuQG1peGluIGNhcmQtc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoJGJsYWNrLCAuNSk7XG59XG5cbkBtaXhpbiBjYXJkLXNoYWRvdy0tbGlnaHQge1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoJGJsYWNrLCAuMyk7XG59XG5cblxuQG1peGluIGNhcmQtaG92ZXIge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoJGJsYWNrLCAuNik7XG4gIH1cbn1cbiIsIi8vXG4vLyBAZmlsZVxuLy8gQ29sb3IgdmFyaWFibGVzLlxuLy9cbi8vIFNFRSBodHRwczovL3lldW4uZ2l0aHViLmlvL29wZW4tY29sb3IvXG4vL1xuXG4vLyBCICYgV1xuJGJsYWNrOiAgICAgICAgICAgICAjMTgxODE4O1xuJHdoaXRlOiAgICAgICAgICAgICAjZmZmO1xuJG9mZi13aGl0ZTogICAgICAgICAjZjdmN2Y3O1xuXG4kZ3JheS0tbGlnaHQ6ICNEMEQwRDA7XG4kZ3JheS0tbGlnaHRlcjogI0VERURFRDtcblxuLy8gR3JheXNjYWxlXG4kZ3JheS0wMDogICAgICAgICAgICAjMTMwZjEzO1xuJGdyYXktMTA6ICAgICAgICAgICAgIzI2MWYyNjtcbiRncmF5LTIwOiAgICAgICAgICAgICMzNjMxMzY7XG4kZ3JheS0zMDogICAgICAgICAgICAjNTA0YjUwO1xuJGdyYXktNDA6ICAgICAgICAgICAgIzc3NzI3NztcbiRncmF5LTUwOiAgICAgICAgICAgICM5ZDk5OWQ7XG4kZ3JheS02MDogICAgICAgICAgICAjYzNjMWMzO1xuJGdyYXktNzA6ICAgICAgICAgICAgI2UxZTBlMTtcbiRncmF5LTgwOiAgICAgICAgICAgICNmMGVmZjA7XG4kZ3JheS05MDogICAgICAgICAgICAjZjdmNmY3O1xuXG4vLyBSZWRcbiRyZWQ6ICAgICAgICAgICAgICAgICM4OTIwMzQ7XG4kcmVkLS1saWdodDogICAgICAgICAjQTE0RDVEO1xuJHJlZC0tZGFyazogICAgICAgICAgIzVGMUIyODtcbiRyZWQtNTA6ICAgICAgICAgICAgICNjMDA7XG5cbiRnb2xkOiAgICAgICAgICAgICAgICNDNUI1QTQ7XG5cbi8vIEdyZWVuXG4kZ3JlZW4tMzA6ICAgICAgICAgICAjNDE3NTA1O1xuJGdyZWVuLTUwOiAgICAgICAgICAgIzdlZDMyMTtcblxuLy8gQmx1ZVxuJGJsdWUtLWxpZ2h0OiAgICAgICAgIzc5QTRDOTtcbiRibHVlOiAgICAgICAgICAgICAgICM1QTc3OTY7XG4kYmx1ZS0tZGFyazogICAgICAgICAjNDA1NTZCO1xuJGJsdWUtLWRhcmtlcjogICAgICAgIzBFMkQzQjtcbiRibHVlLTQwOiAgICAgICAgICAgICMwMDY1OWI7XG4kYmx1ZS01MDogICAgICAgICAgICAjMDA5OGNlO1xuXG4vLyBZZWxsb3dcbiR5ZWxsb3ctNTA6ICAgICAgICAgICNmZGM0MDA7XG4keWVsbG93LTkwOiAgICAgICAgICAjZjllOGFjO1xuXG4vL1xuLy8gU2VtYW50aWMgY29sb3JzXG4vL1xuXG4kY2xyLW5ldXRyYWw6ICAgICAgICAkZ3JheS01MDsgICAgICAgICAgIC8vIERlZmF1bHQgbnVldHJhbCBjb2xvclxuJGNsci10ZXh0OiAgICAgICAgICAgJGdyYXktMjA7ICAgICAgICAgICAvLyBEZWZhdWx0IGJvZHkgY29weSBjb2xvclxuJGNsci1saW5rOiAgICAgICAgICAgJHJlZDsgICAgICAgICAgICAgLy8gRGVmYXVsdCBsaW5rIGNvbG9yXG4kY2xyLWhlYWRpbmc6ICAgICAgICAkYmxhY2s7ICAgICAgICAgICAvLyBEZWZhdWx0IGhlYWRlciBjb2xvclxuJGNsci1oZWFkaW5nLTI6ICAgICAgJHJlZDtcbiRjbHItaGVhZGluZy0zOiAgICAgICRibHVlO1xuJGNsci1oZWFkaW5nLTQ6ICAgICAgJHJlZDtcbiRjbHItaGVhZGluZy01OiAgICAgICRibHVlO1xuJGNsci1oZWFkaW5nLTY6ICAgICAgJHJlZDtcbiRjbHItYWNjZW50OiAgICAgICAgICR5ZWxsb3ctNTA7ICAgICAgICAgICAgLy8gRGVmYXVsdCBhY2NlbnQgY29sb3JcbiRjbHItYm9yZGVyOiAgICAgICAgICRncmF5LTYwOyAgICAgICAgICAgICAgLy8gRGVmYXVsdCBib3JkZXIgYW5kIHJlcXVpcmVkIGNvbG9yXG4kY2xyLXN0YXR1czogICAgICAgICAkZ3JlZW4tNTA7ICAgICAgICAgICAgICAvLyBEZWZhdWx0IHN0YXR1cyBjb2xvclxuJGNsci13YXJuaW5nOiAgICAgICAgJHllbGxvdy01MDsgICAgICAgICAgICAgIC8vIERlZmF1bHQgd2FybmluZyBjb2xvclxuJGNsci1lcnJvcjogICAgICAgICAgJHJlZC01MDsgICAgICAgICAgICAgIC8vIERlZmF1bHQgZXJyb3IgYW5kIHJlcXVpcmVkIGNvbG9yXG4kY2xyLXRhYmxlLWJvcmRlcjogICAkY2xyLWJvcmRlcjsgICAgICAgLy8gRGVmYXVsdCB0YWJsZSBib3JkZXIgY29sb3JcbiRjbHItdGFibGUtaGVhZGVyOiAgICRncmF5LTcwO1xuJGNsci10YWJsZS1vZGQ6ICAgICAgJHdoaXRlOyAgICAgICAgICAgLy8gRGVmYXVsdCB0YWJsZSBvZGQgcm93IGNvbG9yXG4kY2xyLXRhYmxlLWV2ZW46ICAgICAkZ3JheS05MDsgICAgICAgICAgICAvLyBEZWZhdWx0IHRhYmxlIGV2ZW4gcm93IGNvbG9yXG5cblxuJHBjYy1wcmltYXJ5OiAkcmVkO1xuIiwiLy9cbi8vIE1peGlucyBmb3IgdHlwb2dyYXBoeVxuLy9cblxuQGZ1bmN0aW9uIHNjYWxlLWhhcy1saCgkc2NhbGUpIHtcbiAgQHJldHVybiBsZW5ndGgoJHNjYWxlKSA+IDE7XG59XG5cbi8vXG4vLyBSZXR1cm5zIGEgZm9udCBzY2FsZSBmb3IgYSBzcGVjaWZpYyBicmVha3BvaW50LlxuLy9cbi8vIEBwYXJhbSAkYnJlYWtwb2ludDtcbi8vICAgVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgd2hvJ3MgZm9udCBzY2FsZSB3ZSBuZWVkLlxuLy8gQHBhcmFtICRtYXA7XG4vLyAgIEEgZm9udCBzaXppbmcgbWFwLiBEZWZhdWx0cyB0byB0aGUgc2l0ZXdpZGUgZGVmaW5lZCBpblxuLy8gICBgc2V0dGluZ3MvdHlwb2dyYXBoeWBcbi8vIEByZXR1cm5cbi8vICAgU2FzcyBtYXAgb2YgZm9udCBzaXplcy5cbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludC1mcy1tYXAoJGJyZWFrcG9pbnQ6IFwibm9uZVwiLCAkbWFwOiAkZm9udC1zaXplcykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gYnJlYWtwb2ludCBjb3VsZCBiZSByZXRyaWV2ZWQgZm9yIGAjeyRicmVha3BvaW50fWAuIFwiXG4gICAgICAgICsgXCJQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRtYXBgIG1hcC5cIjtcbiAgfVxufTtcblxuLy9cbi8vIFJldHVybnMgYSBzcGVjaWZpYyBmb250IHNpemUgZnJvbSBhIGZvbnQgc2NhbGUuXG4vL1xuLy8gQHBhcmFtICRzaXplO1xuLy8gICBUaGUgbmFtZWQgZm9udCBzaXplIHRvIGxvb2sgZm9yLlxuLy8gQHBhcmFtICRtYXA7XG4vLyAgIEEgZm9udCBzY2FsZSBtYXAuXG4vLyBAcmV0dXJuXG4vLyAgIEZvbnQgc2l6ZSB2YWx1ZS5cbkBmdW5jdGlvbiBnZXQtZnMoJHNpemUsICRtYXApIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRzaXplKSB7XG4gICAgLy8gQWx3YXlzIHJldHVybiB0aGUgZmlyc3Qgc2l6ZSBpdGVtLlxuICAgIEByZXR1cm4gbnRoKG1hcC1nZXQoJG1hcCwgJHNpemUpLCAxKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIlVuZm9ydHVuYXRlbHksIG5vIGZvbnQtc2l6ZSBjb3VsZCBiZSByZXRyaWV2ZWQgZm9yIGAjeyRzaXplfWAuIFwiXG4gICAgICAgICsgXCJQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRtYXBgIG1hcC5cIjtcbiAgfVxufVxuXG4vL1xuLy8gUmV0dXJucyBhIHNwZWNpZmljIGxpbmUgaGVpZ2h0IGZyb20gYSBmb250IHNjYWxlLlxuLy9cbi8vIEBwYXJhbSAkc2l6ZTtcbi8vICAgVGhlIG5hbWVkIGxpbmUgaGVpZ2h0IHRvIGxvb2sgZm9yLlxuLy8gQHBhcmFtICRtYXA7XG4vLyAgIEEgZm9udCBzY2FsZSBtYXAuXG4vLyBAcmV0dXJuXG4vLyAgIEZvbnQgc2l6ZSB2YWx1ZS5cbkBmdW5jdGlvbiBnZXQtbGgoJHNpemUsICRtYXApIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRzaXplKSBhbmQgbGVuZ3RoKG1hcC1nZXQoJG1hcCwgJHNpemUpKSA+IDEge1xuICAgIC8vIEFsd2F5cyByZXR1cm4gdGhlIHNlY29uZCBzaXplIGl0ZW0uXG4gICAgQHJldHVybiBudGgobWFwLWdldCgkbWFwLCAkc2l6ZSksIDIpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gbGluZS1oZWlnaHQgY291bGQgYmUgcmV0cmlldmVkIGZvciBgI3skc2l6ZX1gLiBcIlxuICAgICAgICArIFwiUGxlYXNlIG1ha2Ugc3VyZSBpdCBpcyBkZWZpbmVkIGluIGAkbWFwYCBtYXAuXCI7XG4gIH1cbn1cblxuLy9cbi8vIFJldHVybnMgYSBzcGVjaWZpYyBmb250IHNpemUsIGZvciBhIHNwZWNpZmljIGJyZWFrcG9pbnQgZnJvbSBhIGZvbnQgbWFwLlxuLy9cbi8vIEBwYXJhbSAkc2l6ZTtcbi8vICAgVGhlIG5hbWVkIGZvbnQgc2l6ZSB0byBsb29rIGZvci5cbi8vIEBwYXJhbSAkYnJlYWtwb2ludDtcbi8vICAgVGhlIG5hbWVkIGJyZWFrcG9pbnQgdG8gbG9vayB0aHJvdWdoLiBEZWZhdWx0cyB0byAnbm9uZScuXG4vLyBAcGFyYW0gJG1hcDtcbi8vICAgVGhlIGZvbnQgc2NhbGUgbWFwIHRvIHVzZS4gRGVmYXVsdHMgdG8gc2NhbGUgZGVmaW5lZCBpblxuLy8gICBgc2V0dGluZ3MvdHlwb2dyYXBoeWAuXG4vLyBAcmV0dXJuXG4vLyAgIEZvbnQgc2l6ZSB2YWx1ZS5cbkBmdW5jdGlvbiBnZXQtZnMtZnJvbS1icmVha3BvaW50KCRzaXplLCAkYnJlYWtwb2ludDogXCJub25lXCIsICRtYXA6ICRmb250LXNpemVzKSB7XG4gIEByZXR1cm4gZ2V0LWZzKCRzaXplLCBnZXQtYnJlYWtwb2ludC1mcy1tYXAoJGJyZWFrcG9pbnQsICRtYXApKTtcbn1cblxuLy9cbi8vIFJldHVybnMgYSBmb250IHNpemUgaW4gUkVNIHVuaXRzIGZyb20gYSBmb250IG1hcC5cbi8vXG4vLyBAcGFyYW0gJHNpemU7XG4vLyAgIFRoZSBuYW1lZCBmb250IHNpemUgdG8gbG9vayBmb3IuXG4vLyBAcGFyYW0gJGJyZWFrcG9pbnQ7XG4vLyAgIFRoZSBuYW1lZCBicmVha3BvaW50IHRvIGxvb2sgdGhyb3VnaC4gRGVmYXVsdHMgdG8gJ25vbmUnLlxuLy8gQHBhcmFtICRtYXA7XG4vLyAgIFRoZSBmb250IHNjYWxlIG1hcCB0byB1c2UuIERlZmF1bHRzIHRvIHNjYWxlIGRlZmluZWQgaW5cbi8vICAgYHNldHRpbmdzL3R5cG9ncmFwaHlgLlxuLy8gQHJldHVyblxuLy8gICBGb250IHNpemUgaW4gUkVNIHVuaXRzLlxuQGZ1bmN0aW9uIGZzKCRzaXplLCAkYnJlYWtwb2ludDogXCJub25lXCIsICRtYXA6ICRmb250LXNpemVzKSB7XG4gIEByZXR1cm4gcmVtKGdldC1mcy1mcm9tLWJyZWFrcG9pbnQoJHNpemUsICRicmVha3BvaW50LCAkbWFwKSk7XG59XG5cbi8vXG4vLyBSZXR1cm5zIGEgc3BlY2lmaWMgbGluZSBoZWlnaHQsIGZvciBhIHNwZWNpZmljIGJyZWFrcG9pbnQgZnJvbSBhIGZvbnQgbWFwLlxuLy9cbi8vIEBwYXJhbSAkc2l6ZTtcbi8vICAgVGhlIG5hbWVkIGxpbmUgaGVpZ2h0IHRvIGxvb2sgZm9yLlxuLy8gQHBhcmFtICRicmVha3BvaW50O1xuLy8gICBUaGUgbmFtZWQgYnJlYWtwb2ludCB0byBsb29rIHRocm91Z2guIERlZmF1bHRzIHRvICdub25lJy5cbi8vIEBwYXJhbSAkbWFwO1xuLy8gICBUaGUgZm9udCBzY2FsZSBtYXAgdG8gdXNlLiBEZWZhdWx0cyB0byBzY2FsZSBkZWZpbmVkIGluXG4vLyAgIGBzZXR0aW5ncy90eXBvZ3JhcGh5YC5cbi8vIEByZXR1cm5cbi8vICAgRm9udCBzaXplIHZhbHVlLlxuQGZ1bmN0aW9uIGdldC1saC1mcm9tLWJyZWFrcG9pbnQoJHNpemUsICRicmVha3BvaW50OiBcIm5vbmVcIiwgJG1hcDogJGZvbnQtc2l6ZXMpIHtcbiAgQHJldHVybiBnZXQtbGgoJHNpemUsIGdldC1icmVha3BvaW50LWZzLW1hcCgkYnJlYWtwb2ludCwgJG1hcCkpO1xufVxuXG4vL1xuLy8gUmV0dXJucyBhIHVuaXRsZXNzIGxpbmUtaGVpZ2h0IGZyb20gYSBmb250IG1hcC5cbi8vXG4vLyBAcGFyYW0gJHNpemU7XG4vLyAgIFRoZSBuYW1lZCBsaW5lIGhlaWdodCB0byBsb29rIGZvci5cbi8vIEBwYXJhbSAkYnJlYWtwb2ludDtcbi8vICAgVGhlIG5hbWVkIGJyZWFrcG9pbnQgdG8gbG9vayB0aHJvdWdoLiBEZWZhdWx0cyB0byAnbm9uZScuXG4vLyBAcGFyYW0gJG1hcDtcbi8vICAgVGhlIGZvbnQgc2NhbGUgbWFwIHRvIHVzZS4gRGVmYXVsdHMgdG8gc2NhbGUgZGVmaW5lZCBpblxuLy8gICBgc2V0dGluZ3MvdHlwb2dyYXBoeWAuXG4vLyBAcmV0dXJuXG4vLyAgIEZvbnQgc2l6ZSBpbiBSRU0gdW5pdHMuXG5AZnVuY3Rpb24gbGluZS1oZWlnaHQoJHNpemUsICRicmVha3BvaW50OiBcIm5vbmVcIiwgJG1hcDogJGZvbnQtc2l6ZXMpIHtcbiAgJGZzOiBnZXQtZnMtZnJvbS1icmVha3BvaW50KCRzaXplLCAkYnJlYWtwb2ludCwgJG1hcCk7XG4gICRsaDogZ2V0LWxoLWZyb20tYnJlYWtwb2ludCgkc2l6ZSwgJGJyZWFrcG9pbnQsICRtYXApO1xuICBAcmV0dXJuICRsaC8kZnM7XG59XG5cbkBtaXhpbiBzZXQtZm9udC1yaHl0aG0oJHNpemUsICRicmVha3BvaW50OiBudWxsLCAkbWFwOiAkZm9udC1zaXplcykge1xuICBmb250LXNpemU6IGZzKCRzaXplLCAkYnJlYWtwb2ludCwgJG1hcCk7XG5cbiAgLy8gQ2hlY2sgaWYgb3VyIHNjYWxlIGhhcyBhIGxpbmUgaGVpZ2h0LlxuICBAaWYgc2NhbGUtaGFzLWxoKG1hcC1nZXQoZ2V0LWJyZWFrcG9pbnQtZnMtbWFwKCRicmVha3BvaW50LCAkbWFwKSwgJHNpemUpKSB7XG4gICAgbGluZS1oZWlnaHQ6IGxpbmUtaGVpZ2h0KCRzaXplLCAkYnJlYWtwb2ludCwgJG1hcCk7XG4gIH1cbn1cblxuLy9cbi8vIE91dHB1dHMgc3R5bGVzIGZvciBhIGZ1bGwgZm9udCBzY2FsZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vL1xuLy8gQHBhcmFtICRzaXplO1xuLy8gICBUaGUgbmFtZWQgZm9udCBzaXplIHRvIGxvb2sgZm9yLlxuLy8gQHBhcmFtICRicmVha3BvaW50O1xuLy8gICBUaGUgbmFtZWQgYnJlYWtwb2ludCB0byBsb29rIHRocm91Z2guIERlZmF1bHRzIHRvICdub25lJy5cbi8vIEBwYXJhbSAkbWFwO1xuLy8gICBUaGUgZm9udCBzY2FsZSBtYXAgdG8gdXNlLiBEZWZhdWx0cyB0byBzY2FsZSBkZWZpbmVkIGluXG4vLyAgIGBzZXR0aW5ncy90eXBvZ3JhcGh5YC5cbkBtaXhpbiBmcygkc2l6ZSwgJGJyZWFrcG9pbnQ6IG51bGwsICRtYXA6ICRmb250LXNpemVzKSB7XG4gIEBpZiAkYnJlYWtwb2ludCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBicCgkYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgc2V0LWZvbnQtcmh5dGhtKCRzaXplLCAkYnJlYWtwb2ludCwgJG1hcCk7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlYWNoICRicCwgJHNjYWxlIGluICRtYXAge1xuICAgICAgLy8gSWYgdGhlIGZvbnQgc2l6ZSBleGlzdHMgaW4gdGhlIGN1cnJlbnQgc2NhbGUsIHNldCBvdXIgc3R5bGVzLlxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRzY2FsZSwgJHNpemUpIHtcbiAgICAgICAgQGluY2x1ZGUgYnAoJGJwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc2V0LWZvbnQtcmh5dGhtKCRzaXplLCAkYnAsICRtYXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExpbmUgSGVpZ2h0XG5AbWl4aW4gbGgoJHNpemUpIHtcbiAgbGluZS1oZWlnaHQ6IGxoKCRzaXplKTtcbn1cbiIsIlxuQG1peGluIHJldmVyc2VkIHtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgYTpub3QoW2NsYXNzPVwiYnV0dG9uXCJdKSB7XG4gICAgQGluY2x1ZGUgbGluay0tdW5kZXJsaW5lLW9uLWhvdmVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuQG1peGluIGNvbnRyYXN0IHtcbiAgY29sb3I6ICRibGFjaztcblxuICBoMSB7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDIge1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIGgzIHtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDUge1xuICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIGg2IHtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhOm5vdChbY2xhc3M9XCJidXR0b25cIl0pIHtcbiAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHVuLXJldmVyc2VkIHtcbiAgY29sb3I6ICRjbHItdGV4dDtcblxuICBoMSB7XG4gICAgY29sb3I6ICRjbHItaGVhZGluZyAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDIge1xuICAgIGNvbG9yOiAkY2xyLWhlYWRpbmctMiAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDMge1xuICAgIGNvbG9yOiAkY2xyLWhlYWRpbmctMyAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAkY2xyLWhlYWRpbmctNCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDUge1xuICAgIGNvbG9yOiAkY2xyLWhlYWRpbmctNSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDYge1xuICAgIGNvbG9yOiAkY2xyLWhlYWRpbmctNiAhaW1wb3J0YW50O1xuICB9XG5cbiAgYTpub3QoW2NsYXNzPVwiYnV0dG9uXCJdKSB7XG4gICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbiB7XG4gIGhlaWdodDogMXB4O1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG59XG4iXX0= */