/* $base-font: 'Open Sans', Arial, sans-serif; */
/* $base-line-height: 1.6; */
/* default */
/* base font size with shorter line-height */
/* h5 */
/* h4 */
/* h3 */
/* h2 */
/* h1 */
/*
Use this mixin to add font sizes from the maps above with line-heights and mq's included.
eg: @include font-size($font-size-xxxx-large);
*/
/*
Utility function for mixin font-size.
*/
/* h4 */
/* h3 */
/* h4 */
/*
Function so we don't have to use map-get with $breakpoints.
eg: bp(xxl) or @include breakpoint(bp(xxl))
*/
/* Standard ranges from design
 *   "desktop" : 961 and up
 *   "tablet"  : 510 thru 960
 *   "mobile"  : 320 thru 509
 */
:root {
  /* Top Nav  Requirements:
   * @ mobile
   *     default font-size is 16px
   * @ tablet
   *     default font-size is 18px
   * @ desktop
   *     default font-size is 18px
   */
  --topnav-font-size: 16px;
}
@media screen and (min-width: 510px) {
  :root {
    --topnav-font-size: 18px;
  }
}

.home__site-page .section-header {
  font-size: 24px;
  line-height: 36px;
  font-weight: 400;
  margin: 0;
}
@media screen and (min-width: 510px) {
  .home__site-page .section-header {
    font-size: 28px;
    line-height: 42px;
  }
}
@media screen and (min-width: 961px) {
  .home__site-page .section-header {
    font-size: 30px;
    line-height: 45px;
  }
}
.home__site-page .section-subheader {
  font-size: 18px;
  line-height: 1.55;
  color: #3D3F42;
  font-weight: 400;
  margin: 1rem auto;
}
@media screen and (min-width: 510px) {
  .home__site-page .section-subheader {
    font-size: 20px;
    line-height: 1.65;
  }
}
.home__site-page .edl-link {
  font-size: 16px;
  line-height: 1.7;
  color: #2D62B7;
  font-family: "Noto Sans", Arial, sans-serif;
  font-weight: 700;
  text-decoration: none;
}
.home__site-page .edl-link:hover, .home__site-page .edl-link:active {
  border-bottom: 1px solid;
}
.home__site-page .home_market-choices {
  background-color: #002f56;
  padding: 20px 0;
}
.home__site-page .home_market-choices .edl-link-group ul {
  display: flex;
  flex-flow: wrap;
  gap: 20px 40px;
  justify-content: center;
  margin: 0;
  padding: 0;
}
.home__site-page .home_market-choices .edl-link-group ul li {
  /* margin: auto; */
}
.home__site-page .home_market-choices .edl-link-group ul li::after {
  content: "";
  display: none;
}
.home__site-page .home_market-choices .edl-link {
  color: #fff;
  font-size: var(--topnav-font-size);
  font-weight: 700;
  line-height: 28px;
  text-decoration: none;
}
.home__site-page .home_branding-box .edl-slab_content {
  max-width: 720px;
}
.home__site-page .home_branding-box .teaser-box {
  margin: 0;
  padding: 30px 0;
}
.home__site-page .home_featured-content {
  background: url("https://www.ebsco.com/themes/custom/cog_ebsco/ebsco_design_library/img/homepage-topics-section-butter-pattern-background-100.png") center center/100px repeat #FAB73C;
  padding-top: 40px;
  padding-bottom: 50px;
}
.home__site-page .home_featured-content .teaser-box {
  background-color: white;
}
.home__site-page .home_featured-content .teaser-box:last-of-type {
  margin-bottom: 0;
}
.home__site-page .home_product-options {
  padding-top: 40px;
  padding-bottom: 50px;
}
.home__site-page .icon-blocks {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
  margin: 25px auto 40px;
  max-width: 900px;
}
.home__site-page .home_blog-feature {
  background-color: #3E75CF;
  padding-top: 40px;
  padding-bottom: 50px;
}
.home__site-page .home_blog-feature .edl_teaserbox--blog-main-teaser {
  padding-bottom: 0;
}
.home__site-page .home_blog-feature .edl-slab_content > *:not(.teaser-box) {
  color: #fff;
  text-align: center;
}
.home__site-page .home_blog-feature .edl-slab_content > .edl-link-group .edl-link {
  color: #fff;
}
.home__site-page .home_blog-feature .section-subheader {
  margin-bottom: 5px;
}
.home__site-page .home_blog-feature .edl-link-group {
  margin-top: 0;
}
.home__site-page .home_blog-feature .edl-link-group li {
  margin-bottom: 10px;
}
.home__site-page .home_newsletter {
  background: url("https://www.ebsco.com/themes/custom/cog_ebsco/ebsco_design_library/img/resources-newsletter-section-gray-pattern-background-100-2x.png") repeat #FAFAFA;
  padding-top: 40px;
  padding-bottom: 40px;
}
.home__site-page .home_newsletter .section-header {
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (min-width: 510px) {
  .home__site-page .home_market-choices .edl-link-group ul {
    gap: 20px 40px;
    justify-content: center;
  }
  .home__site-page .home_market-choices .edl-link-group ul li {
    margin: 0;
  }
  .home__site-page .home_blog-feature .edl-link-group li {
    margin-bottom: initial;
  }
}
@media screen and (min-width: 801px) {
  .home__site-page .icon-blocks {
    gap: 50px;
  }
  .home__site-page .home_market-choices .edl-link-group ul {
    gap: 15px 40px;
    justify-content: center;
  }
  .home__site-page .home_featured-content {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .home__site-page .home_featured-content .teaser-box {
    margin: 0 10px;
  }
}
.resources_title {
  background: url("https://www.ebsco.com/themes/custom/cog_ebsco/ebsco_design_library/img/resources-page-banner-section-navy-pattern-background-100-2x.png") center center/100px repeat, linear-gradient(90deg, #002F56 0%, #000E19 100%);
}

.resources_title {
  text-align: center;
  color: #fff;
}

.resources_combined {
  padding: 30px;
}

.featured_content {
  background: #FBC563;
  padding: 40px 0;
}

.edl-teaserbox--resource-center-image-aside__alt {
  background: #fff;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9wYXR0ZXJucy8wMC1nbG9iYWwvdXRpbHMvX3R5cG9ncmFwaHkuc2NzcyIsIl9wYXR0ZXJucy8wMC1nbG9iYWwvdXRpbHMvX2Z1bmN0aW9ucy5zY3NzIiwiX3BhdHRlcm5zLzAwLWdsb2JhbC91dGlscy9fYnJlYWtwb2ludHMuc2NzcyIsIl9wYXR0ZXJucy8wMy10ZW1wbGF0ZXMvcmVzb3VyY2UtdGVtcGxhdGUvcmVzb3VyY2UtdGVtcGxhdGUuc2NzcyIsIl9wYXR0ZXJucy8wMy10ZW1wbGF0ZXMvcmVzb3VyY2UtdGVtcGxhdGUvcmVzb3VyY2UtdGVtcGxhdGUuY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiX3BhdHRlcm5zLzAwLWdsb2JhbC91dGlscy9fY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsZ0RBQUE7QUFTQSw0QkFBQTtBQU9BLFlBQUE7QUFJQSw0Q0FBQTtBQUlBLE9BQUE7QUFJQSxPQUFBO0FBSUEsT0FBQTtBQUlBLE9BQUE7QUFJQSxPQUFBO0FBS0E7OztDQUFBO0FBeUJBOztDQUFBO0FBeUJBLE9BQUE7QUFJQSxPQUFBO0FBSUEsT0FBQTtBQzVGQTs7O0NBQUE7QUNKQTs7OztFQUFBO0FDTEE7RUFDRTs7Ozs7OztJQUFBO0VBUUEsd0JBQUE7QUN3QkY7QUMwQkk7RUYzREo7SUFZSSx3QkFBQTtFQ3lCRjtBQUNGOztBRHBCRTtFSDBETSxlQUFBO0VBRUksaUJBQUE7RUd6RFIsZ0JIbUVrQjtFR2xFbEIsU0FBQTtBQ3VCSjtBQ2NJO0VGekNGO0lIMERNLGVBQUE7SUFFSSxpQkFBQTtFSTVCVjtBQUNGO0FDUUk7RUZ6Q0Y7SUgwRE0sZUFBQTtJQUVJLGlCQUFBO0VJdEJWO0FBQ0Y7QURoQ0U7RUhtRE0sZUFBQTtFQUVJLGlCQUFBO0VHbERSLGNHY0k7RUhiSixnQkgyRGtCO0VHMURsQixpQkFBQTtBQ2tDSjtBQ0xJO0VGbENGO0lIbURNLGVBQUE7SUFFSSxpQkFBQTtFSVRWO0FBQ0Y7QURwQ0U7RUgwQ00sZUFBQTtFQUVJLGdCQUFBO0VHekNSLGNHbENXO0VIbUNYLDJDSHRDUTtFR3VDUixnQkhtRGU7RUdsRGYscUJBQUE7QUNzQ0o7QURwQ0k7RUFFRSx3QkFBQTtBQ3FDTjtBRC9CRTtFQUNFLHlCR3ZEUztFSHdEVCxlQUFBO0FDaUNKO0FEL0JJO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBQ2lDTjtBRC9CTTtFQUNFLGtCQUFBO0FDaUNSO0FEOUJNO0VBQ0UsV0FBQTtFQUNBLGFBQUE7QUNnQ1I7QUQ1Qkk7RUFDRSxXRzdDRTtFSDhDRixrQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtBQzhCTjtBRHhCSTtFQUNFLGdCQUFBO0FDMEJOO0FEdkJJO0VBQ0UsU0FBQTtFQUNBLGVBQUE7QUN5Qk47QURwQkU7RUFDRSw4SUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QUNzQko7QURwQkk7RUFDRSx1QkFBQTtBQ3NCTjtBRG5CSTtFQUNFLGdCQUFBO0FDcUJOO0FEaEJFO0VBQ0UsaUJBQUE7RUFDQSxvQkFBQTtBQ2tCSjtBRGZFO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0VBQ0EsdUJBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBO0FDaUJKO0FEYkU7RUFDRSx5Qkc1SFU7RUg2SFYsaUJBQUE7RUFDQSxvQkFBQTtBQ2VKO0FEYkk7RUFDRSxpQkFBQTtBQ2VOO0FEWkk7RUFDRSxXRzFHRTtFSDJHRixrQkFBQTtBQ2NOO0FEVk07RUFDRSxXR2hIQTtBRjRIUjtBRFJJO0VBQ0Usa0JBQUE7QUNVTjtBRFBJO0VBQ0UsYUFBQTtBQ1NOO0FEUE07RUFDRSxtQkFBQTtBQ1NSO0FESEU7RUFDRSxnSUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7QUNLSjtBREhJO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtBQ0tOOztBQy9HSTtFRnNIRTtJQUNFLGNBQUE7SUFDQSx1QkFBQTtFQ0hOO0VES007SUFDRSxTQUFBO0VDSFI7RURVTTtJQUNFLHNCQUFBO0VDUlI7QUFDRjtBQzVISTtFRjZJQTtJQUNFLFNBQUE7RUNkSjtFRG9CSTtJQUNFLGNBQUE7SUFDQSx1QkFBQTtFQ2xCTjtFRHVCRTtJQUNFLGlCQUFBO0lBQ0Esb0JBQUE7RUNyQko7RUR1Qkk7SUFDRSxjQUFBO0VDckJOO0FBQ0Y7QUQ0QkE7RUFDRSwrTEFBQTtBQzFCRjs7QUQ2QkE7RUFDRSxrQkFBQTtFQUNBLFdBQUE7QUMxQkY7O0FENkJBO0VBQ0UsYUFBQTtBQzFCRjs7QUQ2QkE7RUFDRSxtQkFBQTtFQUNBLGVBQUE7QUMxQkY7O0FENkJBO0VBQ0UsZ0JBQUE7QUMxQkYiLCJmaWxlIjoiX3BhdHRlcm5zLzAzLXRlbXBsYXRlcy9yZXNvdXJjZS10ZW1wbGF0ZS9yZXNvdXJjZS10ZW1wbGF0ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBvZ3JhcGh5XG4vLyBGb250cyAvLy8vLy8vLy8vLy8vLy9cblxuLyogJGJhc2UtZm9udDogJ09wZW4gU2FucycsIEFyaWFsLCBzYW5zLXNlcmlmOyAqL1xuXG4kYmFzZS1mb250OiAnTm90byBTYW5zJyxcbkFyaWFsLFxuc2Fucy1zZXJpZjtcbiRib2R5LWZvbnQ6ICRiYXNlLWZvbnQ7XG4vLyBGb250IFNpemVzIC8vLy8vLy8vLy8vLy8vL1xuJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuXG4vKiAkYmFzZS1saW5lLWhlaWdodDogMS42OyAqL1xuXG4kYmFzZS1saW5lLWhlaWdodDogMS43O1xuLy8gRm9udC1zaXplIG1hcHMgdG8gYmUgdXNlZCB3aXRoIGZvbnQtc2l6ZSBtaXgtaW4uXG4vLyBJbmNsdWRlcyB0ZXh0IHNpemUgYW5kIGxpbmUtaGVpZ2h0LlxuJGZvbnQtc2l6ZS1zbWFsbDogKG51bGw6ICgxNHB4LCAxLjY1KSwgKTtcblxuLyogZGVmYXVsdCAqL1xuXG4kZm9udC1zaXplLW1lZGl1bTogKG51bGw6ICgkYmFzZS1mb250LXNpemUsICRiYXNlLWxpbmUtaGVpZ2h0KSwgKTtcblxuLyogYmFzZSBmb250IHNpemUgd2l0aCBzaG9ydGVyIGxpbmUtaGVpZ2h0ICovXG5cbiRmb250LXNpemUtbWVkaXVtLWFsdDogKG51bGw6ICgxNnB4LCAxLjYpLCApO1xuXG4vKiBoNSAqL1xuXG4kZm9udC1zaXplLWxhcmdlOiAobnVsbDogKDE2cHgsIDEuNTYpLCBsZzogKDE4cHgsIDEuNTUpLCApO1xuXG4vKiBoNCAqL1xuXG4kZm9udC1zaXplLXgtbGFyZ2U6IChudWxsOiAoMThweCwgMS41NSksIGxnOiAoMjBweCwgMS42NSksICk7XG5cbi8qIGgzICovXG5cbiRmb250LXNpemUteHgtbGFyZ2U6IChudWxsOiAoMjBweCwgMS42KSwgbGc6ICgyNHB4LCAxLjUpLCApO1xuXG4vKiBoMiAqL1xuXG4kZm9udC1zaXplLXh4eC1sYXJnZTogKG51bGw6ICgyNHB4LCAxLjUpLCBsZzogKDI4cHgsIDEuNSksIHh4bDogKDMwcHgsIDEuNSksICk7XG5cbi8qIGgxICovXG5cbiRmb250LXNpemUteHh4eC1sYXJnZTogKG51bGw6ICgyOHB4LCAxLjQzKSwgbGc6ICgzNHB4LCAxLjQzKSwgeHhsOiAoMzhweCwgMS40MyksICk7XG4kZm9udC1zaXplLXh4eHh4LWxhcmdlOiAobnVsbDogKDM0cHgsIDUwcHgpLCBsZzogKDQwcHgsIDYwcHgpLCB4eGw6ICg0NnB4LCA2NHB4KSwgKTtcblxuLypcblVzZSB0aGlzIG1peGluIHRvIGFkZCBmb250IHNpemVzIGZyb20gdGhlIG1hcHMgYWJvdmUgd2l0aCBsaW5lLWhlaWdodHMgYW5kIG1xJ3MgaW5jbHVkZWQuXG5lZzogQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUteHh4eC1sYXJnZSk7XG4qL1xuXG5AbWl4aW4gZm9udC1zaXplKCRmcy1tYXAsICRmcy1icmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgQGVhY2ggJGZzLWJyZWFrcG9pbnQsXG4gICAgJGZzLWZvbnQtc2l6ZSBpbiAkZnMtbWFwIHtcbiAgICAgICAgQGlmICRmcy1icmVha3BvaW50PT1udWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtZm9udC1zaXplKCRmcy1mb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmICRmcy1mb250LXNpemUgaXMgYSBrZXkgdGhhdCBleGlzdHMgaW5cbiAgICAgICAgICAgIC8vICRmcy1icmVha3BvaW50cywgdXNlIHRoZSB2YWx1ZVxuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRmcy1icmVha3BvaW50cywgJGZzLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAkZnMtYnJlYWtwb2ludDogbWFwLWdldCgkZnMtYnJlYWtwb2ludHMsICRmcy1icmVha3BvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGZzLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWZvbnQtc2l6ZSgkZnMtZm9udC1zaXplKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKlxuVXRpbGl0eSBmdW5jdGlvbiBmb3IgbWl4aW4gZm9udC1zaXplLlxuKi9cblxuQG1peGluIG1ha2UtZm9udC1zaXplKCRmcy1mb250LXNpemUpIHtcbiAgICAvLyBJZiAkZnMtZm9udC1zaXplIGlzIGEgbGlzdCwgaW5jbHVkZVxuICAgIC8vIGJvdGggZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIEBpZiB0eXBlLW9mKCRmcy1mb250LXNpemUpPT1cImxpc3RcIiB7XG4gICAgICAgIGZvbnQtc2l6ZTogbnRoKCRmcy1mb250LXNpemUsIDEpO1xuICAgICAgICBAaWYgKGxlbmd0aCgkZnMtZm9udC1zaXplKSA+IDEpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBudGgoJGZzLWZvbnQtc2l6ZSwgMik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRmcy1mb250LXNpemU7XG4gICAgfVxufVxuXG4vLyBGb250IFdlaWdodHMgLy8vLy8vLy8vLy8vLy8vXG4kZm9udC13ZWlnaHQtbGlnaHQ6IDMwMDtcbiRmb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiRmb250LXdlaWdodC1ib2xkOiA3MDA7XG4vLy8vLy8vIEVETCBBRERFRFxuXG4vKiBoNCAqL1xuXG4kZm9udC1zaXplLXN0eWxlLWgyOiAobnVsbDogKDI0cHgsIDM2cHgpLCB0YWJsZXQ6ICgyOHB4LCA0MnB4KSwgZGVza3RvcDogKDMwcHgsIDQ1cHgpKTtcblxuLyogaDMgKi9cblxuJGZvbnQtc2l6ZS1zdHlsZS1oMzogKG51bGw6ICgyMHB4LCAxLjYpLCB0YWJsZXQ6ICgyNHB4LCAxLjQpKTtcblxuLyogaDQgKi9cblxuJGZvbnQtc2l6ZS1zdHlsZS1oNDogKG51bGw6ICgxOHB4LCAxLjU1KSwgdGFibGV0OiAoMjBweCwgMS42NSksICk7XG5AbWl4aW4gc3R5bGUtYm9keSB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1tZWRpdW0pO1xufVxuXG5AbWl4aW4gc3R5bGUtaDIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWgyKTtcbiAgICBjb2xvcjogJGdyYXk0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBzdHlsZS1oMyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc3R5bGUtaDMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBzdHlsZS1oNCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc3R5bGUtaDQpO1xuICAgIGNvbG9yOiAkZ3JheTQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIHN0eWxlLWJpZ3RleHQge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXh4eHh4LWxhcmdlKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gZm9udGF3ZXNvbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGdW5jdGlvbnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBGdW5jdGlvbiB0byByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwIGJhc2VkIG9uIGEga2V5LlxuQGZ1bmN0aW9uIGdldC12YXIoJGtleSwgJG1hcCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuXG4gIEB3YXJuICdVbmtub3duIGAjeyRrZXl9YCBpbiBtYXAuIFRyeSBcIkBpbmNsdWRlIHByaW50KCRtYXApO1wiIHRvIHNlZSB3aGF0XFwncyBhdmFpbGFibGUuJztcbiAgQHJldHVybiBudWxsO1xufVxuXG4vKlxuRnVuY3Rpb24gc28gd2UgZG9uJ3QgaGF2ZSB0byB1c2UgbWFwLWdldCB3aXRoICRicmVha3BvaW50cy5cbmVnOiBicCh4eGwpIG9yIEBpbmNsdWRlIGJyZWFrcG9pbnQoYnAoeHhsKSlcbiovXG5AZnVuY3Rpb24gYnAoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGtleSk7XG4gIH1cblxuICBAd2FybiBcIlVua25vd24gYCN7JGtleX1gIGluICRicmVha3BvaW50cy5cIjtcblxuICBAcmV0dXJuIG51bGw7XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnJlYWtwb2ludHNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRicC14c206IDM3NXB4O1xuJGJwLXNtOiA3NjhweDtcbiRicC1tZDogMTAyNXB4O1xuJGJwLWxnOiAxMjAwcHg7XG4kYnAteGxnOiAxNDgwcHg7XG5cbi8qIFN0YW5kYXJkIHJhbmdlcyBmcm9tIGRlc2lnblxuICogICBcImRlc2t0b3BcIiA6IDk2MSBhbmQgdXBcbiAqICAgXCJ0YWJsZXRcIiAgOiA1MTAgdGhydSA5NjBcbiAqICAgXCJtb2JpbGVcIiAgOiAzMjAgdGhydSA1MDlcbiAqL1xuJGJyZWFrcG9pbnRzOiAoeHh4bCA6IChzY3JlZW4gMTI4MXB4KSxcbiAgc3VibmF2LWRlc2sgOiAoc2NyZWVuIDEyMjBweCksXG4gIHN1Ym5hdi1keW5hbWVkLWRlc2sgOiAoc2NyZWVuIDEwMDBweCksXG4gIHh4bCA6IChzY3JlZW4gMTEyMXB4KSxcbiAgeGwgOiAoc2NyZWVuIDk2MXB4KSxcbiAgZGVza3RvcCA6IChzY3JlZW4gOTYxcHgpLFxuICBsZyA6IChzY3JlZW4gODAxcHgpLFxuICBtZCA6IChzY3JlZW4gNzIxcHgpLFxuICBtaWQgOiAoc2NyZWVuIDY4MHB4KSxcbiAgdGFibGV0IDogKHNjcmVlbiA1MTBweCksXG4gIHNtIDogKHNjcmVlbiA1MTBweCksXG4gIHhzIDogKHNjcmVlbiA0ODFweCksXG4gIHh4cyA6IChzY3JlZW4gMzIxcHgpLFxuICB4eGwtbWF4OiAoc2NyZWVuIChtYXgtd2lkdGggMTI2MHB4KSksXG4gIHhsLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCAxMTIwcHgpKSxcbiAgdGFibGV0LW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA5NjBweCkpLFxuICBsZy1tYXggOiAoc2NyZWVuIChtYXgtd2lkdGggOTYwcHgpKSxcbiAgbWQtbWF4IDogKHNjcmVlbiAobWF4LXdpZHRoIDgwMHB4KSksXG4gIHNtLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA3MjBweCkpLFxuICBtb2JpbGUtbWF4IDogKHNjcmVlbiAobWF4LXdpZHRoIDUwOXB4KSksXG4gIHhzLW1heCA6IChzY3JlZW4gKG1heC13aWR0aCA1MDlweCkpLFxuICB4eHMtbWF4OiAoc2NyZWVuIChtYXgtd2lkdGggNDgwcHgpKSxcbiAgYnAtbmF2IDogKHNjcmVlbiA4MjBweCksXG4pO1xuIiwiLy8gSW1wb3J0IHNpdGUgdXRpbGl0aWVzXG5AaW1wb3J0ICcuLi8uLi8wMC1nbG9iYWwvdXRpbHMvaW5pdCc7XG5cbi8vIE1JWElOUyAvLyBTRVRUSU5HUy8vXG5cbjpyb290IHtcbiAgLyogVG9wIE5hdiAgUmVxdWlyZW1lbnRzOlxuICAgKiBAIG1vYmlsZVxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMTZweFxuICAgKiBAIHRhYmxldFxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMThweFxuICAgKiBAIGRlc2t0b3BcbiAgICogICAgIGRlZmF1bHQgZm9udC1zaXplIGlzIDE4cHhcbiAgICovXG4gIC0tdG9wbmF2LWZvbnQtc2l6ZTogMTZweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGJwKHRhYmxldCkpIHtcbiAgICAtLXRvcG5hdi1mb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmhvbWVfX3NpdGUtcGFnZSB7XG5cbiAgJiAuc2VjdGlvbi1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXN0eWxlLWgyKTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc3R5bGUtaDQpO1xuXG4gICAgY29sb3I6ICRncmF5NDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIH1cblxuICAvLyBBbGwgbGlua3Mgc2hvdWxkIGJlIGJvbGQgb24gaG9tZSBwYWdlLlxuICAuZWRsLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLW1lZGl1bSk7XG5cbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIH1cblxuICB9XG5cbiAgLy8gTWFya2V0KyBsaW5rcy5cbiAgJiAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVic2NvLW5hdnk7XG4gICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgJiAuZWRsLWxpbmstZ3JvdXAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICAgIGdhcDogMjBweCA0MHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmIGxpIHtcbiAgICAgICAgLyogbWFyZ2luOiBhdXRvOyAqL1xuICAgICAgfVxuXG4gICAgICAmIGxpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLmVkbC1saW5rIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHZhcigtLXRvcG5hdi1mb250LXNpemUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1haW4gYnJhbmRpbmcvc2xvZ2FuIGJveC5cbiAgJiAuaG9tZV9icmFuZGluZy1ib3gge1xuICAgICYgLmVkbC1zbGFiX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICB9XG5cbiAgICAmIC50ZWFzZXItYm94IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG4gIH1cblxuICAvLyBUaHJlZSBmZWF0dXJlZCBjb250ZW50IGJveGVzLlxuICAmIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vaG9tZXBhZ2UtdG9waWNzLXNlY3Rpb24tYnV0dGVyLXBhdHRlcm4tYmFja2dyb3VuZC0xMDAucG5nJykgY2VudGVyIGNlbnRlciAvIDEwMHB4IHJlcGVhdCAkYnV0dGVyMDU7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAmIC50ZWFzZXItYm94IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgICYgLnRlYXNlci1ib3g6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBib3hlcyB0byBzZWNvbmRhcnkgZmVhdHVyZWQgY29udGVudC5cbiAgJiAuaG9tZV9wcm9kdWN0LW9wdGlvbnMge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgJiAuaWNvbi1ibG9ja3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNDBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDI1cHggYXV0byA0MHB4O1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gIH1cblxuICAvLyBDdXJhdGVkIGJsb2cgaXRlbSBib3guXG4gICYgLmhvbWVfYmxvZy1mZWF0dXJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFya2V0LWJsdWU7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG5cbiAgICAmIC5lZGxfdGVhc2VyYm94LS1ibG9nLW1haW4tdGVhc2VyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYgLmVkbC1zbGFiX2NvbnRlbnQgPiAqOm5vdCgudGVhc2VyLWJveCkge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmIC5lZGwtc2xhYl9jb250ZW50ID4gLmVkbC1saW5rLWdyb3VwIHtcbiAgICAgICYgLmVkbC1saW5rIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgJiAuZWRsLWxpbmstZ3JvdXAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgJiBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTmV3c2xldHRlciBzaWdudXAgYm94LlxuICAmIC5ob21lX25ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vcmVzb3VyY2VzLW5ld3NsZXR0ZXItc2VjdGlvbi1ncmF5LXBhdHRlcm4tYmFja2dyb3VuZC0xMDAtMngucG5nJykgcmVwZWF0ICNGQUZBRkE7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG5cbiAgICAmIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChicCh0YWJsZXQpKSB7XG4gIC5ob21lX19zaXRlLXBhZ2Uge1xuICAgIC8vIE1hcmtldCsgbGlua3MuXG4gICAgJiAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG5cbiAgICAgICYgLmVkbC1saW5rLWdyb3VwIHVsIHtcbiAgICAgICAgZ2FwOiAyMHB4IDQwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYgbGkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLmhvbWVfYmxvZy1mZWF0dXJlIHtcbiAgICAgICYgLmVkbC1saW5rLWdyb3VwIHtcbiAgICAgICAgJiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGJwKGxnKSkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIHtcblxuICAgICYgLmljb24tYmxvY2tzIHtcbiAgICAgIGdhcDogNTBweDtcbiAgICB9XG5cbiAgICAvLyBNYXJrZXQrIGxpbmtzIFsgZGVza3RvcCBdXG4gICAgJiAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG5cbiAgICAgICYgLmVkbC1saW5rLWdyb3VwIHVsIHtcbiAgICAgICAgZ2FwOiAxNXB4IDQwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRocmVlIGZlYXR1cmVkIGNvbnRlbnQgYm94ZXMgWyBkZXNrdG9wIF1cbiAgICAmIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgJiAudGVhc2VyLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuLnJlc291cmNlc190aXRsZSB7XG4gIGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vcmVzb3VyY2VzLXBhZ2UtYmFubmVyLXNlY3Rpb24tbmF2eS1wYXR0ZXJuLWJhY2tncm91bmQtMTAwLTJ4LnBuZycpIGNlbnRlciBjZW50ZXIgLyAxMDBweCByZXBlYXQsIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwMkY1NiAwJSwgIzAwMEUxOSAxMDAlKTtcbn1cblxuLnJlc291cmNlc190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXNvdXJjZXNfY29tYmluZWQge1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uZmVhdHVyZWRfY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNGQkM1NjM7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLmVkbC10ZWFzZXJib3gtLXJlc291cmNlLWNlbnRlci1pbWFnZS1hc2lkZV9fYWx0e1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufSIsIi8qICRiYXNlLWZvbnQ6ICdPcGVuIFNhbnMnLCBBcmlhbCwgc2Fucy1zZXJpZjsgKi9cbi8qICRiYXNlLWxpbmUtaGVpZ2h0OiAxLjY7ICovXG4vKiBkZWZhdWx0ICovXG4vKiBiYXNlIGZvbnQgc2l6ZSB3aXRoIHNob3J0ZXIgbGluZS1oZWlnaHQgKi9cbi8qIGg1ICovXG4vKiBoNCAqL1xuLyogaDMgKi9cbi8qIGgyICovXG4vKiBoMSAqL1xuLypcblVzZSB0aGlzIG1peGluIHRvIGFkZCBmb250IHNpemVzIGZyb20gdGhlIG1hcHMgYWJvdmUgd2l0aCBsaW5lLWhlaWdodHMgYW5kIG1xJ3MgaW5jbHVkZWQuXG5lZzogQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUteHh4eC1sYXJnZSk7XG4qL1xuLypcblV0aWxpdHkgZnVuY3Rpb24gZm9yIG1peGluIGZvbnQtc2l6ZS5cbiovXG4vKiBoNCAqL1xuLyogaDMgKi9cbi8qIGg0ICovXG4vKlxuRnVuY3Rpb24gc28gd2UgZG9uJ3QgaGF2ZSB0byB1c2UgbWFwLWdldCB3aXRoICRicmVha3BvaW50cy5cbmVnOiBicCh4eGwpIG9yIEBpbmNsdWRlIGJyZWFrcG9pbnQoYnAoeHhsKSlcbiovXG4vKiBTdGFuZGFyZCByYW5nZXMgZnJvbSBkZXNpZ25cbiAqICAgXCJkZXNrdG9wXCIgOiA5NjEgYW5kIHVwXG4gKiAgIFwidGFibGV0XCIgIDogNTEwIHRocnUgOTYwXG4gKiAgIFwibW9iaWxlXCIgIDogMzIwIHRocnUgNTA5XG4gKi9cbjpyb290IHtcbiAgLyogVG9wIE5hdiAgUmVxdWlyZW1lbnRzOlxuICAgKiBAIG1vYmlsZVxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMTZweFxuICAgKiBAIHRhYmxldFxuICAgKiAgICAgZGVmYXVsdCBmb250LXNpemUgaXMgMThweFxuICAgKiBAIGRlc2t0b3BcbiAgICogICAgIGRlZmF1bHQgZm9udC1zaXplIGlzIDE4cHhcbiAgICovXG4gIC0tdG9wbmF2LWZvbnQtc2l6ZTogMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUxMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLXRvcG5hdi1mb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuLmhvbWVfX3NpdGUtcGFnZSAuc2VjdGlvbi1oZWFkZXIge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MTBweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjFweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICB9XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5zZWN0aW9uLXN1YmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGNvbG9yOiAjM0QzRjQyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDFyZW0gYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUxMHB4KSB7XG4gIC5ob21lX19zaXRlLXBhZ2UgLnNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gIH1cbn1cbi5ob21lX19zaXRlLXBhZ2UgLmVkbC1saW5rIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS43O1xuICBjb2xvcjogIzJENjJCNztcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5lZGwtbGluazpob3ZlciwgLmhvbWVfX3NpdGUtcGFnZSAuZWRsLWxpbms6YWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJmNTY7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgLmVkbC1saW5rLWdyb3VwIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBnYXA6IDIwcHggNDBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgLmVkbC1saW5rLWdyb3VwIHVsIGxpIHtcbiAgLyogbWFyZ2luOiBhdXRvOyAqL1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwgbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfbWFya2V0LWNob2ljZXMgLmVkbC1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdG9wbmF2LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCAuZWRsLXNsYWJfY29udGVudCB7XG4gIG1heC13aWR0aDogNzIwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2JyYW5kaW5nLWJveCAudGVhc2VyLWJveCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9mZWF0dXJlZC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vZWJzY29fZGVzaWduX2xpYnJhcnkvaW1nL2hvbWVwYWdlLXRvcGljcy1zZWN0aW9uLWJ1dHRlci1wYXR0ZXJuLWJhY2tncm91bmQtMTAwLnBuZ1wiKSBjZW50ZXIgY2VudGVyLzEwMHB4IHJlcGVhdCAjRkFCNzNDO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2ZlYXR1cmVkLWNvbnRlbnQgLnRlYXNlci1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfZmVhdHVyZWQtY29udGVudCAudGVhc2VyLWJveDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9wcm9kdWN0LW9wdGlvbnMge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5pY29uLWJsb2NrcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0MHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IGF1dG8gNDBweDtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNFNzVDRjtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLmVkbF90ZWFzZXJib3gtLWJsb2ctbWFpbi10ZWFzZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtc2xhYl9jb250ZW50ID4gKjpub3QoLnRlYXNlci1ib3gpIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtc2xhYl9jb250ZW50ID4gLmVkbC1saW5rLWdyb3VwIC5lZGwtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLnNlY3Rpb24tc3ViaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9ibG9nLWZlYXR1cmUgLmVkbC1saW5rLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5ob21lX19zaXRlLXBhZ2UgLmhvbWVfYmxvZy1mZWF0dXJlIC5lZGwtbGluay1ncm91cCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX25ld3NsZXR0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9lYnNjb19kZXNpZ25fbGlicmFyeS9pbWcvcmVzb3VyY2VzLW5ld3NsZXR0ZXItc2VjdGlvbi1ncmF5LXBhdHRlcm4tYmFja2dyb3VuZC0xMDAtMngucG5nXCIpIHJlcGVhdCAjRkFGQUZBO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4uaG9tZV9fc2l0ZS1wYWdlIC5ob21lX25ld3NsZXR0ZXIgLnNlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MTBweCkge1xuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX21hcmtldC1jaG9pY2VzIC5lZGwtbGluay1ncm91cCB1bCB7XG4gICAgZ2FwOiAyMHB4IDQwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuaG9tZV9fc2l0ZS1wYWdlIC5ob21lX2Jsb2ctZmVhdHVyZSAuZWRsLWxpbmstZ3JvdXAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSB7XG4gIC5ob21lX19zaXRlLXBhZ2UgLmljb24tYmxvY2tzIHtcbiAgICBnYXA6IDUwcHg7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9tYXJrZXQtY2hvaWNlcyAuZWRsLWxpbmstZ3JvdXAgdWwge1xuICAgIGdhcDogMTVweCA0MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5ob21lX19zaXRlLXBhZ2UgLmhvbWVfZmVhdHVyZWQtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgLmhvbWVfX3NpdGUtcGFnZSAuaG9tZV9mZWF0dXJlZC1jb250ZW50IC50ZWFzZXItYm94IHtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgfVxufVxuLnJlc291cmNlc190aXRsZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2Vic2NvX2Rlc2lnbl9saWJyYXJ5L2ltZy9yZXNvdXJjZXMtcGFnZS1iYW5uZXItc2VjdGlvbi1uYXZ5LXBhdHRlcm4tYmFja2dyb3VuZC0xMDAtMngucG5nXCIpIGNlbnRlciBjZW50ZXIvMTAwcHggcmVwZWF0LCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDJGNTYgMCUsICMwMDBFMTkgMTAwJSk7XG59XG5cbi5yZXNvdXJjZXNfdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucmVzb3VyY2VzX2NvbWJpbmVkIHtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuLmZlYXR1cmVkX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjRkJDNTYzO1xuICBwYWRkaW5nOiA0MHB4IDA7XG59XG5cbi5lZGwtdGVhc2VyYm94LS1yZXNvdXJjZS1jZW50ZXItaW1hZ2UtYXNpZGVfX2FsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEVCU0NPIE5hdnlcbiRlYnNjby1uYXZ5OiAjMDAyZjU2O1xuJGVic2NvLW5hdnktLWhvdmVyOiAjMDAyNDQyO1xuJGVic2NvLW5hdnkwNTogIzAwMkY1NjtcblxuLy8gTWFya2V0IEJsdWVcbiRtYXJrZXQtYmx1ZTogIzNFNzVDRjtcbiRtYXJrZXQtYmx1ZS0taG92ZXI6ICMyRDYyQjc7XG4kbWFya2V0LWJsdWU2OiAjMkQ2MkI3O1xuJG1hcmtldC1ibHVlLS10aW50MzogIzhCQUNFMjtcbiRtYXJrZXQtYmx1ZS0tZGFyazA6ICMyNTUwOTY7XG4kbWFya2V0LWJsdWU3OiAjMjU1MDk2O1xuJG1hcmtldC0tYmx1ZS0tZGFyazE6ICMxRDNGNzU7XG4kbWFya2V0LWJsdWU4OiAjMUQzRjc1O1xuJG1hcmtldC0tYmx1ZS0tbGlnaHQwOiAjNjU5MUQ5O1xuXG4vLyBMYWdvb25cbiRsYWdvb246ICMwMDc1OEQ7XG4kbGFnb29uLS1ob3ZlcjogIzAwNjQ3OTtcblxuLy8gRGlzY29cbiRkaXNjbzogI0I0MTc4MjtcbiRkaXNjby0taG92ZXI6ICM5MDEyNjg7XG4kZGlzY28tLXRpbnQzOiAjRDI3NEI0O1xuXG4vLyBUdXJ0bGVcbiR0dXJ0bGU6ICMyNjg3NDI7XG4kdHVydGxlLS1ob3ZlcjogIzFENjczMjtcblxuLy8gQnV0dGVyXG4kYnV0dGVyMDU6ICNGQUI3M0M7XG5cbi8vIENvbW1vbiBDb2xvcnNcbiR3aGl0ZTogI2ZmZjtcbiR3aGl0ZS0tc2VtaTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuJHdoaXRlLS1zaGVlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiR3aGl0ZS0tdHJhbnNwYXJlbnQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4kd2hpdGUtLW1pZDogcmdiYSgyNTUsMjU1LDI1NSwwLjU1KTtcbiRibGFjazogIzAwMDtcbiRvdmVybGF5LS1zZW1pOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4kYmxhY2stLXBpdGNoOiAjMDAwRTE5O1xuXG4vLyBHcmF5c1xuJGdyYXkwOiAjRUZFRkVGO1xuJGdyYXkxOiAjRDlEQURCO1xuJGdyYXkyOiAjQjhCQkJGO1xuJGdyYXkzOiAjN0E3Rjg1O1xuJGdyYXk0OiAjM0QzRjQyO1xuLy8gJGdyYXk0IDMwJSBvcGFjaXR5XG4kZ3JheTQtLXRyYW5zMzA6IHJnYmEoNjEsIDYzLCA2NiwgMC4zKTtcbiRncmF5NTogIzI3MjkyQTtcbiRncmF5NjogIzhEOTA5NTtcblxuLy8gQ29sb3IgVXNhZ2VzXG4kdGV4dC1jb2xvcjogJGdyYXk0O1xuJGxpbmstY29sb3I6ICRtYXJrZXQtYmx1ZTY7XG4kcGFnZS1oZWFkZXItY29sb3I6ICR3aGl0ZTtcbiRwYWdlLWZvb3Rlci1jb2xvcjogJGVic2NvLW5hdnk7XG5cbi8vIEJ1dHRvbiBTaGFkb3dzXG4kYnRuLXNoYWRvdzogcmdiYSgzOSwgNDEsIDQyLCAwLjI1KTtcbiRidG4tc2hhZG93LS1ob3ZlcjogcmdiYSgzOSwgNDEsIDQyLCAwLjM1KTtcblxuLy8gQm94IFNoYWRvd3NcbiRib3gtc2hhZG93OiAwIDJweCAycHggMCAkYnRuLXNoYWRvdztcbiRib3gtc2hhZG93LS1ob3ZlcjogMCAycHggNHB4IDJweCAkYnRuLXNoYWRvdy0taG92ZXI7XG4kYm94LXNoYWRvdy0taG92ZXIyOiAwIDEwcHggMTBweCAtNnB4ICRidG4tc2hhZG93LS1ob3ZlcjtcbiJdfQ== */
