.ds-toc {
  padding: 20px 20px 20px 0;
  font-size: 14px;
  font-family: "DNA Text Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #551C3E;
}
.ds-toc a:not(.active) {
  color: #551C3E;
}
.ds-toc ol {
  list-style: none;
  margin: 0;
  border-left: 2px solid #E7E5E3;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  overflow: initial;
}
.ds-toc li {
  margin: 0;
}
.ds-toc a {
  display: block;
  margin-left: -2px;
  border-left: 2px solid transparent;
  padding-left: calc(0.5rem + 2px);
}
.ds-toc a.active {
  border-left: 2px solid #DA0070;
}

.dna-layout__sidebar--right .portlet-column-content {
  height: 100%;
}
.dna-layout__sidebar--right .portlet-boundary_fi_dna_liferay_portlet_toc_TableOfContentsPortlet_ {
  position: sticky;
  top: 0;
  transition: top 0.2s ease-in-out;
}
.ds-main-header__wrap.open ~ .page-wrapper .dna-layout__sidebar--right .portlet-boundary_fi_dna_liferay_portlet_toc_TableOfContentsPortlet_ {
  top: 98px;
}
@media screen and (min-width: 1024px) {
  .ds-main-header__wrap.open ~ .page-wrapper .dna-layout__sidebar--right .portlet-boundary_fi_dna_liferay_portlet_toc_TableOfContentsPortlet_ {
    top: 108px;
  }
}
body.admin-signed-in .dna-layout__sidebar--right .portlet-boundary_fi_dna_liferay_portlet_toc_TableOfContentsPortlet_ {
  position: static;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbInRhYmxlLW9mLWNvbnRlbnRzLnNjc3MiLCJob21lL2plbmtpbnMvYWdlbnQvd29ya3NwYWNlL0ROQWZpL0JVSUxEX0FORF9ERVBMT1lfUExBTlMvRE5BLmZpX0RYUF9QUk9EX0FXUy9Qcm9kX2FwcDNfbGlmZXJheV9pbnN0YWxsX2FuZF9kZXBsb3kvZG5hLWxpZmVyYXktc291cmNlL2RuYS1maS10aGVtZS9zcmMvY3NzL2RuYS9fdmFycy5zY3NzIiwiaG9tZS9qZW5raW5zL2FnZW50L3dvcmtzcGFjZS9ETkFmaS9CVUlMRF9BTkRfREVQTE9ZX1BMQU5TL0ROQS5maV9EWFBfUFJPRF9BV1MvUHJvZF9hcHAzX2xpZmVyYXlfaW5zdGFsbF9hbmRfZGVwbG95L2RuYS1saWZlcmF5LXNvdXJjZS9kbmEtZmktdGhlbWUvc3JjL2Nzcy9kbmEvX21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0U7RUFDQSxXQ1E2QjtFRFA3QixhQ2tCOEI7RURqQjlCLE9DZ0RpQjs7QUQ5Q2pCO0VBQ0UsT0M2Q2U7O0FEM0NqQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNFOzs7QUFPSjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBOztBQUdBO0VFeUVBOztBQTVHSTtFRm1DSjtJRTJFSTs7O0FGdkVKO0VBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCIuLi92YXJzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbi5kcy10b2Mge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAwO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGV4dC1tZWRpdW07XG4gIGNvbG9yOiAkY29sb3ItdGV4dC0tcGx1bTtcblxuICBhOm5vdCguYWN0aXZlKSB7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS1wbHVtO1xuICB9XG4gIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjb2xvci1saW5lLS0wMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gIH1cbiAgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogLTJweDsgLy8gb24gdG9wIG9mIGJvcmRlclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuNXJlbSArIDJweCk7XG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3ItdGV4dC0tcGluaztcbiAgICB9XG4gIH1cbn1cblxuLy8gc3RpY2t5IGluIHJpZ2h0IHBhbmVsLCB3aGVuIG5vdCBpbiBDTVMgbW9kZVxuLmRuYS1sYXlvdXRfX3NpZGViYXItLXJpZ2h0IHtcbiAgLnBvcnRsZXQtY29sdW1uLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAucG9ydGxldC1ib3VuZGFyeV9maV9kbmFfbGlmZXJheV9wb3J0bGV0X3RvY19UYWJsZU9mQ29udGVudHNQb3J0bGV0XyB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZS1pbi1vdXQ7IC8vIHdoZW4gbW92aW5nIGRlcGVuZGluZyBvbiBtYWluIGhlYWRlciBvcGVuIG9yIG5vdFxuXG4gICAgLy8gd2hlbiBtYWluIGhlYWRlciBpcyBvcGVuLCBrZWVwIHRoZSBzdGlja3kgZWxlbWVudCBpbiB2aWV3IHNvIHRoYXQgaXQgZG9lc24ndCBnbyBiZWxvdyB0aGUgaGVhZGVyXG4gICAgLmRzLW1haW4taGVhZGVyX193cmFwLm9wZW4gfiAucGFnZS13cmFwcGVyICYge1xuICAgICAgQGluY2x1ZGUgbWF0Y2hUb0hlYWRlckhlaWdodCgndG9wJyk7XG4gICAgfVxuXG4gICAgYm9keS5hZG1pbi1zaWduZWQtaW4gJiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludHNcbiRicmVha3BvaW50LXRpbnktbW9iaWxlOiAzNjBweDtcbiRicmVha3BvaW50LWxhcmdlLW1vYmlsZTogNDgwcHg7XG4kYnJlYWtwb2ludC10YWJsZXQ6IDc2OHB4O1xuJGJyZWFrcG9pbnQtZGVza3RvcDogMTAyNHB4O1xuJGJyZWFrcG9pbnQtZGVza3RvcC1jb250ZW50OiAxMjgwcHg7XG4kYnJlYWtwb2ludC1sYXJnZS1kZXNrdG9wOiAxNDQwcHg7XG4kYnJlYWtwb2ludC1leHRyYWxhcmdlLWRlc2t0b3A6IDE5MjBweDtcblxuJGZvbnQtc2l6ZS1ub3JtYWw6ICAgICAgICAgICAgIDE2cHg7XG4kZm9udC1zaXplLWVtcGhhc2l6ZWQ6ICAgICAgICAgMThweDtcbiRmb250LXNpemUtYmlnZ2VyOiAgICAgICAgICAgICAyMHB4O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAgICAgIDMycHg7XG4kZm9udC1zaXplLWxhcmdlc3Q6ICAgICAgICAgICAgNDRweDtcbiRmb250LXNpemUtaHVnZTogICAgICAgICAgICAgICA4MHB4O1xuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgIDE0cHg7XG4kZm9udC1zaXplLWV4dHJhc21hbGw6ICAgICAgICAgMTJweDtcbiRmb250LXNpemUtdGlueTogICAgICAgICAgICAgICAxMHB4O1xuXG4kbGluZS1oZWlnaHQtbm9ybWFsOiAgICAgICAgICAgMS4yNTsgLy8gZm9yIDE2cHgsIDIwcHhcbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAgICAxLjU7IC8vIGZvciAxNnB4LCAyNHB4XG5cbiRmb250LWZhbWlseS1oZWFkaW5nLWRlbWktYm9sZDogJ0ROQSBIZWFkaW5nIERlbWkgQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktaGVhZGluZy1ib2xkOiAgICAgICdETkEgSGVhZGluZyBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1oZWFkaW5nLWJsYWNrOiAgICAgJ0ROQSBIZWFkaW5nIEJsYWNrJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS10ZXh0LWJvbGQ6ICAgICAgICAgJ0ROQSBUZXh0IEJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXRleHQtbWVkaXVtOiAgICAgICAnRE5BIFRleHQgTWVkaXVtJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS10ZXh0LXJlZ3VsYXI6ICAgICAgJ0ROQSBUZXh0IFJlZ3VsYXInLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBjb2xvcnMgaHR0cHM6Ly93d3cuZmlnbWEuY29tL2ZpbGUvTDRJRzZTRzNBTDdzdWU5WUcxZzJnQi9ETkEtQ29sb3JzLU5FVz9ub2RlLWlkPTIlM0E0MTlcbiRjb2xvci1tYWluLS13aGl0ZTogI0ZGRkZGRjtcbiRjb2xvci1tYWluLS1ibGFjazogIzEyMTIxMjtcbiRjb2xvci1tYWluLS1waW5rOiAjREEwMDcwO1xuJGNvbG9yLW1haW4tLXBpbmstMDE6ICNGRjgyQzE7XG4kY29sb3ItbWFpbi0tcGluay0wMjogI0ZGQkZERjtcbiRjb2xvci1tYWluLS1wbHVtOiAjNTUxQzNFO1xuJGNvbG9yLW1haW4tLXBsdW0tMDE6ICM2OTIxNEM7XG4kY29sb3ItbWFpbi0tcGx1bS0wMjogIzc5MkE1OTtcblxuJGNvbG9yLWFjY2VudC0tbGVtb246ICNGRkYzNDc7XG4kY29sb3ItYWNjZW50LS1sZW1vbi0wMTogI0ZGRjlBMztcbiRjb2xvci1hY2NlbnQtLWxlbW9uLTAyOiAjRkZGQUJBO1xuJGNvbG9yLWFjY2VudC0tc2t5OiAjMkVDQUYwO1xuJGNvbG9yLWFjY2VudC0tc2t5LTAxOiAjNzdEQ0Y1O1xuJGNvbG9yLWFjY2VudC0tc2t5LTAyOiAjOTZFNEY4O1xuJGNvbG9yLWFjY2VudC0tb3JhbmdlOiAjRkZBNjMzO1xuJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAxOiAjRkZDQTg1O1xuJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAyOiAjRkZEQkFEO1xuXG4kY29sb3ItYmctLXdoaXRlOiAjRkZGRkZGO1xuJGNvbG9yLWJnLS1zYW5kOiAjRkRGQkZBO1xuJGNvbG9yLWJnLS1zYW5kLTAxOiAjRjhGNEYxO1xuJGNvbG9yLWJnLS1zYW5kLTAyOiAjRURFOEUxO1xuJGNvbG9yLWJnLS1mcm9zdGVkZ2xhc3M6ICNmNWY1ZjVlYjtcblxuJGNvbG9yLXRleHQtLWJsYWNrOiAjMTIxMjEyO1xuJGNvbG9yLXRleHQtLWRhcmstZ3JheTogIzUwNTA1MDtcbiRjb2xvci10ZXh0LS1wbHVtOiAjNTUxQzNFO1xuJGNvbG9yLXRleHQtLXBpbms6ICNEQTAwNzA7XG4kY29sb3ItdGV4dC0td2hpdGU6ICNGRkZGRkY7XG4kY29sb3ItdGV4dC0tZGlzYWJsZWQ6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtNTAlKTtcblxuJGNvbG9yLXV0aWxpdHktLXRleHQtbGluazogI0RBMDA3MDtcbiRjb2xvci11dGlsaXR5LS10ZXh0LWxpbmstaG92ZXI6IHNjYWxlX2NvbG9yKCRjb2xvci11dGlsaXR5LS10ZXh0LWxpbmssICRsaWdodG5lc3M6IC0yMCUpO1xuJGNvbG9yLXV0aWxpdHktLWZvY3VzOiAjMDA2NEUyO1xuJGNvbG9yLXV0aWxpdHktLWZvY3VzLWxpZ2h0OiAjRDhFOUZGO1xuXG4kY29sb3ItbGluZS0tMDE6ICM5NDhCODk7XG4kY29sb3ItbGluZS0tMDI6ICNENEQyQ0U7XG4kY29sb3ItbGluZS0tMDM6ICNFN0U1RTM7XG4kY29sb3ItbGluZS0tMDQ6ICNFRkVFRUQ7XG5cbiRjb2xvci1ub3RpZmljYXRpb24tLWluZm86ICMwQjdDOTk7XG4kY29sb3Itbm90aWZpY2F0aW9uLS13YXJuaW5nOiAjRUI2NjAwO1xuJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I6ICNERDBBMEE7XG4kY29sb3Itbm90aWZpY2F0aW9uLS1zdWNjZXNzOiAjMDA4NTAwO1xuXG4kYm9yZGVyLXJhZGl1cy0tc21hbGw6IDRweDtcbiRib3JkZXItcmFkaXVzLS1ub3JtYWw6IDhweDtcbiRib3JkZXItcmFkaXVzLS1mdWxsOiA1MCU7XG5cblxuLy9wYWdlIG1pbiBtYXggd2lkdGhzXG4kcGFnZS1taW4td2lkdGg6IDMyMHB4O1xuJHBhZ2UtbWF4LXdpZHRoOiAyNTYwcHg7XG4kcGFnZS1sYXlvdXQtbm9ybWFsLWNvbnRlbnQtbWF4d2lkdGg6IDEyMDBweDtcbiRwYWdlLWxheW91dC1tZWRpdW0tY29udGVudC1tYXh3aWR0aDogODYwcHg7XG4kcGFnZS1sYXlvdXQtc21hbGwtY29udGVudC1tYXh3aWR0aDogNjQwcHg7XG5cbi8vIGdyaWQgcGFkZGluZ3NcbiRncmlkLWdhcC0tc21hbGw6IDEwcHg7XG4kZ3JpZC1nYXAtLXdpZGU6IDMwcHg7XG4kZ3JpZC1nYXAtLWxhcmdlOiA2MHB4O1xuJGdyaWQtcGFkZGluZzogMTBweDtcblxuLy9wb3J0bGV0IG1hcmdpbnNcbiRtYXJnaW4tcG9ydGxldC1kZWZhdWx0OiAgICAgICAgNTBweDtcbiRtYXJnaW4tcG9ydGxldC1zbWFsbDogICAgICAgICAgMzBweDtcbiRtYXJnaW4tcG9ydGxldC1leHRyYXNtYWxsOiAgICAgMTBweDtcbiRtYXJnaW4tcG9ydGxldC1leHRyYWxhcmdlOiAgICAgMjB2aDtcblxuLy9pbnB1dCB2YXJpYWJsZXNcbiRidXR0b24taGVpZ2h0LWRlZmF1bHQ6ICAgNDBweDtcbiRidXR0b24taGVpZ2h0LXNtYWxsOiAgICAgMzJweDtcbiRpbnB1dC1oZWlnaHQtZGVmYXVsdDogICAgNDBweDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLWxpbmUtLTAxO1xuJGlucHV0LWZpZWxkLWJnOiAgICAgICAgICAgICAgICAkY29sb3ItYmctLXdoaXRlO1xuJGlucHV0LXRleHQtY29sb3I6ICAgICAgICAgICAgICAkY29sb3ItdGV4dC0tYmxhY2s7XG4kaW5wdXQtYm9yZGVyLXNob3J0aGFuZDogICAgICAgIDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuJGZvcm0tZWxlbWVudHMtbWF4LXdpZHRoOiAgICAgICA1MTVweDtcblxuLy9sYWJlbFxuJGRzLWxhYmVsLWhlaWdodDogMjJweDtcblxuLy8gVXNlIHRoZXNlIGNvbG9ycyBhbnl3aGVyZSBhIGxpbmssIGlucHV0IG9yIGEgYnV0dG9uIGlzIGRpc2FibGVkIVxuJGRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAjZjJmMmYyO1xuJGRpc2FibGVkLXRleHQ6ICAgICAgICAgICAgICAgICAjOTk5OTk5O1xuXG5cbiRoZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDEwOHB4OyAvLyA0OHB4IHNpdGUgbmF2ICsgNjAgbWFpbiBuYXZcbiRoZWFkZXItaGVpZ2h0LW1vYmlsZTogOThweDsgLy8gMzhweCBzaXRlIG5hdiArIDYwIG1haW4gbmF2XG4kaGVhZGVyLW1haW4tbmF2LWhlaWdodDogNjBweDtcbiRzZWNvbmRhcnktbmF2LWhlaWdodC1kZXNrdG9wOiA1N3B4OyAvLyBuZWVkZWQgZm9yIHRvYXN0ZXIgcG9zaXRpb25pbmdcbiRzZWNvbmRhcnktbmF2LWhlaWdodC1tb2JpbGU6IDY0cHg7XG4kYWRtaW4tZG9ja2Jhci1oZWlnaHQ6IDc0cHg7XG4kYWRtaW4tZWRpdC1tb2RlLWRvY2tiYXItaGVpZ2h0OiAxNTVweDtcblxuJGNhcmQtaGVpZ2h0OiA0MDBweDtcbiRjYXJkLWhlaWdodC1hY3R1YWw6IDQwMHB4IC0gMnB4OyAvL2JvcmRlcnNcbiRjYXJkLWhlaWdodC1leHRlbmRlZDogNjAwcHg7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMjBweDtcblxuJGZvcm0tZWxlbWVudC1ib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcblxuJHRhYi1pdGVtLWhlaWdodDogMzZweDtcblxuLy8gei1pbmRleCBsZXZlbHNcbiR6LWluZGV4LWxldmVsLTEtYmFzZTogMDtcbiR6LWluZGV4LWxldmVsLTItZmxvYXRpbmc6IDIwMDsgLy8gZm9yIGFsbCBmaXJzdCBsZXZlbCBmbG9hdGluZyBlbGVtZW50c1xuJHotaW5kZXgtbGV2ZWwtMy1wb3B1cC1vdmVybGF5OiA2MDA7IC8vIGZvciBoZWFkZXIgbG9naW4gbW9kYWxzIGFuZCBvdGhlciBwb3B1cHMgdGhhdCBzaG91bGQgYmUgdW5kZXIgdGhlIGhlYWRlclxuJHotaW5kZXgtbGV2ZWwtNC1oZWFkZXI6IDEwMDA7XG4kei1pbmRleC1sZXZlbC01LWNoYXQ6IDEwNDA7IC8vIFNob3VsZCBiZSBhYm92ZSBoZWFkZXIgYnV0IGJlbG93IG92ZXJsYXkuIFJvY2tldCBtb2RhbCBoYXMgei1pbmRleDogMTA1MCwgc28gd2UgbmVlZCBDaGF0IHRvIGJlIGp1c3QgYmVsb3csIGFuZCBhYm92ZSB0aGVpciBoZWFkZXIgdGhhdCBoYXMgMTAzMC5cbiR6LWluZGV4LWxldmVsLTYtbW9kYWwtb3ZlcmxheTogMTEwMDsgLy8gZm9yIG1vZGFsIHRoYXQgc2hvdWxkIGNvdmVyIHRoZSBoZWFkZXJcbiR6LWluZGV4LWxldmVsLTctbW9kYWw6IDEyMDA7IC8vIHRvcCBsZXZlbCBtb2RhbHMiLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICAgIEBpZiAkcG9pbnQgPT0gbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0IC0gMSkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gc21hbGxlci10aGFuLWRlc2t0b3Age1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3AtY29udGVudCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3AtY29udGVudCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGV4dHJhbGFyZ2UtZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWV4dHJhbGFyZ2UtZGVza3RvcCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0LW9ubHkge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlKSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBsYXJnZS1tb2JpbGUtb25seSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsLW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSAtIDEpICB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB0aW55LW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRpbnktbW9iaWxlIC0gMSkgIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHBvaW50ID09IG1heC1wYWdlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBhZ2UtbWF4LXdpZHRoKSAgeyBAY29udGVudDsgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhICgjeyRwb2ludH0pIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5cbkBtaXhpbiBvcmllbnRhdGlvbigkb3JpZW50YXRpb24pIHtcbiAgICBAaWYgJG9yaWVudGF0aW9uID09IGxhbmRzY2FwZSB7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJG9yaWVudGF0aW9uID09IHBvcnRyYWl0IHtcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSB7IEBjb250ZW50OyB9XG4gICAgfVxufVxuXG5AbWl4aW4gaGlnaC1yZXMoKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIFRoZSBtaWNybyBjbGVhcmZpeCBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cbkBtaXhpbiBjbGVhcmZpeCgpIHtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8tb3Itd2lkdGgsICRoZWlnaHQ6IG51bGwpIHtcbiAgICAkcGFkZGluZzogaWYoJGhlaWdodCwgcGVyY2VudGFnZShtYXRoLmRpdigkaGVpZ2h0LCRyYXRpby1vci13aWR0aCkpLCBwZXJjZW50YWdlKG1hdGguZGl2KDEsJHJhdGlvLW9yLXdpZHRoKSkpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIHRyYW5zcGFyZW50LXNlbGVjdGlvbiB7XG4gICAgJjo6c2VsZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVyby1mb250LXNpemUoJG1vYmlsZSwgJGxhcmdlbW9iaWxlLCAkdGFibGV0LCAkZGVza3RvcCwgJGxhcmdlZGVza3RvcDogJGRlc2t0b3ApIHtcbiAgICBmb250LXNpemU6ICRtb2JpbGUgKyBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLW1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6ICRsYXJnZW1vYmlsZSArIHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZXQgKyBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlc2t0b3AgKyBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1kZXNrdG9wKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlZGVza3RvcCArIHB4O1xuICAgIH1cbn1cblxuQG1peGluIG1hdGNoVG9IZWFkZXJIZWlnaHQoJHByb3BlcnR5LCAkaXNCb2R5RWxlbWVudDogZmFsc2UsICRleHRyYWhlaWdodDogMCwgJG5lZ2F0aXZlOmZhbHNlKSB7XG4gICAgJG11bHRpcGxpZXI6IDE7XG4gICAgQGlmICRuZWdhdGl2ZSB7ICRtdWx0aXBsaWVyOiAtMX1cblxuICAgICN7JHByb3BlcnR5fTogKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSArICRleHRyYWhlaWdodCkgKiAkbXVsdGlwbGllcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAoJGhlYWRlci1oZWlnaHQtZGVza3RvcCArICRleHRyYWhlaWdodCkgKiAkbXVsdGlwbGllcjtcbiAgICB9XG59XG5cbkBtaXhpbiBwb3NpdGlvbkFic29sdXRlRnVsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xufVxuQG1peGluIHBvc2l0aW9uQWJzb2x1dGVDZW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbn1cblxuQG1peGluIGJ1dHRvblN0eWxlUmVzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5AbWl4aW4gbGlzdFN0eWxlUmVzZXQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBkcm9wc2hhZG93LWVsZXZhdGlvbi1sb3coJGNsaXA6IG51bGwpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDQ7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAxNnB4IDBweCBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTk0JSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLW5vcm1hbDtcbiAgICBAaWYoJGNsaXApIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24taGlnaCgkY2xpcDogbnVsbCkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1saW5lLS0wNDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggMHB4IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtOTIlKTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tbm9ybWFsO1xuICAgIEBpZigkY2xpcCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cbkBtaXhpbiBkcm9wc2hhZG93LWVsZXZhdGlvbi1leHRyYS1oaWdoKCRjbGlwOiBudWxsKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpbmUtLTA0O1xuICAgIGJveC1zaGFkb3c6IDBweCA4cHggNjRweCAwcHggc2NhbGVfY29sb3IoJGNvbG9yLXRleHQtLWJsYWNrLCAkYWxwaGE6IC04NCUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1ub3JtYWw7XG4gICAgQGlmKCRjbGlwKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuQG1peGluIGRlZmF1bHQtZm9jdXMoJHJhZGl1czogbnVsbCkge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAkY29sb3ItdXRpbGl0eS0tZm9jdXMtbGlnaHQsIDBweCAwcHggMHB4IDRweCAkY29sb3ItdXRpbGl0eS0tZm9jdXM7XG4gICAgICAgIEBpZigkcmFkaXVzKSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1peGluIGlubmVyLWZvY3VzKCRyYWRpdXM6IG51bGwpIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMnB4ICRjb2xvci11dGlsaXR5LS1mb2N1cywgaW5zZXQgMHB4IDBweCAwcHggNHB4ICRjb2xvci11dGlsaXR5LS1mb2N1cy1saWdodDtcbiAgICAgICAgQGlmKCRyYWRpdXMpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWl4aW4gaW5wdXQtZmllbGQtaWNvbigkdXJsLCAkdXJsMjogbnVsbCkge1xuICAgIEBpZigkdXJsMikge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCksIHVybCgkdXJsMik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkdXJsKTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCBjZW50ZXIsIHJpZ2h0IDM1cHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG59XG5AbWl4aW4gdW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBmcm9tLWZvbnQ7XG59XG5AbWl4aW4gbGluay11bmRlcmxpbmUge1xuICAgIEBpbmNsdWRlIHVuZGVybGluZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuQG1peGluIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzKCR0ZXh0LWNvbG9yOiBudWxsLCAkdGV4dC1jb2xvci1jaGFuZ2U6IGZhbHNlLCAkYmctY29sb3I6IG51bGwsICRib3JkZXItY29sb3I6IG51bGwpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGlmKCR0ZXh0LWNvbG9yLWNoYW5nZSkge1xuICAgICAgICAgICAgY29sb3I6IHNjYWxlX2NvbG9yKCR0ZXh0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgQGlmKCRiZy1jb2xvcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgICAgICAgfVxuICAgICAgICBAaWYoJGJvcmRlci1jb2xvcikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZV9jb2xvcigkYm9yZGVyLWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIEBpZigkdGV4dC1jb2xvci1jaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbG9yOiBzY2FsZV9jb2xvcigkdGV4dC1jb2xvciwgJGxpZ2h0bmVzczogMTAlKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgQGlmKCRiZy1jb2xvcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGJnLWNvbG9yLCAkbGlnaHRuZXNzOiAxMCUpO1xuICAgICAgICB9XG4gICAgICAgIEBpZigkYm9yZGVyLWNvbG9yKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHNjYWxlX2NvbG9yKCRib3JkZXItY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEdSSURcbkBtaXhpbiBncmlkKCRjb2x1bW5zOjEsICRnYXA6JGdyaWQtZ2FwLS1zbWFsbCkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAkZ2FwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCBtaW5tYXgoMCwgMWZyKSk7XG59XG5AbWl4aW4gZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOjEpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29sdW1ucywgbWlubWF4KDAsIDFmcikpO1xufVxuXG5AbWl4aW4gZnVsbC1jYXJkLWxpbmstb3ZlcmxheSgpIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICB9XG59Il0sImZpbGUiOiJ0YWJsZS1vZi1jb250ZW50cy5jc3MifQ== */
