@codecademy/brand 3.29.0-alpha.9e88d7b76a.0 → 3.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.d.ts +2 -1
  2. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.js +3 -3
  3. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.d.ts +1 -0
  4. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.js +3 -2
  5. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.d.ts +0 -1
  6. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.js +1 -2
  7. package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.js +0 -0
  8. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/AppHeaderSection.test.js +193 -0
  9. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.d.ts +25 -0
  10. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.js +13 -2
  11. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.d.ts +21 -0
  12. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.js +206 -0
  13. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.d.ts +1 -63
  14. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.js +16 -81
  15. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.d.ts +10 -16
  16. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.js +28 -89
  17. package/dist/DropdownButton/index.d.ts +1 -3
  18. package/dist/stories/Atoms/BetaSticker.stories.js +0 -1
  19. package/dist/stories/Molecules/AppBar.stories.d.ts +0 -1
  20. package/dist/stories/Molecules/AppBar.stories.js +1 -2
  21. package/dist/stories/Molecules/AppHeader/AppHeaderLink.stories.js +0 -2
  22. package/dist/stories/Molecules/AppHeader/AppHeaderLogo.stories.js +1 -2
  23. package/dist/stories/Molecules/Banner.stories.js +0 -3
  24. package/dist/stories/Molecules/CurriculumCard.stories.js +0 -7
  25. package/dist/stories/Molecules/EmptySection.stories.js +1 -2
  26. package/dist/stories/Molecules/EnhancedBanner.stories.js +1 -1
  27. package/dist/stories/Molecules/HubCard.stories.js +0 -1
  28. package/dist/stories/Molecules/NotificationList.stories.js +1 -2
  29. package/dist/stories/Molecules/Testimonial.stories.js +4 -8
  30. package/dist/stories/Organisms/GlobalFooter.stories.js +1 -2
  31. package/dist/stories/Organisms/GlobalHeader/About.stories.js +1 -2
  32. package/dist/stories/Organisms/GlobalHeader/Bootcamp.stories.js +1 -2
  33. package/dist/stories/Organisms/GlobalHeader/Enterprise.stories.js +1 -2
  34. package/dist/stories/Organisms/GlobalHeader/Simple.stories.js +1 -2
  35. package/dist/stories/Organisms/GlobalPage.stories.js +0 -2
  36. package/dist/stories/Organisms/LayoutMenu.stories.js +3 -6
  37. package/dist/stories/Organisms/LayoutMenuVariant.stories.js +2 -4
  38. package/dist/stories/Organisms/PageFeatures.stories.js +1 -9
  39. package/dist/stories/Organisms/PageHero.stories.js +10 -20
  40. package/dist/stories/Organisms/PagePrefooter.stories.js +4 -8
  41. package/dist/stories/Organisms/PageSingleFeature.stories.js +10 -20
  42. package/dist/stories/Organisms/PageVideoGallery.stories.js +5 -10
  43. package/dist/stories/Organisms/ScoreSummary.stories.js +4 -8
  44. package/dist/svg.d.ts +0 -1
  45. package/package.json +2 -1
  46. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.d.ts +0 -20
  47. package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.js +0 -144
@@ -1,6 +1,7 @@
1
- export type MarketingBannerProps = {
1
+ type MarketingBannerProps = {
2
2
  tabIndex: number;
3
3
  text: string;
4
4
  href: string;
5
5
  };
6
6
  export declare const MarketingBanner: React.FC<MarketingBannerProps>;
7
+ export {};
@@ -12,7 +12,7 @@ const MarketingBannerAnchor = /*#__PURE__*/_styled(Anchor, {
12
12
  styles: "display:flex;&:hover,&:focus-visible{outline:none;text-decoration:none;}"
13
13
  } : {
14
14
  name: "pdaf9u",
15
- styles: "display:flex;&:hover,&:focus-visible{outline:none;text-decoration:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTTRDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEJhZGdlLCBCb3gsIEZsZXhCb3gsIFRleHQgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBBcnJvd1JpZ2h0SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJBbmNob3IgPSBzdHlsZWQoQW5jaG9yKWBcbiAgZGlzcGxheTogZmxleDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJCb3ggPSBzdHlsZWQoRmxleEJveClgXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX0sXG4gICAgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCknO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxNDVkZWcsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktODAwJ119IDUwJSxcbiAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYmx1ZS00MDAnXX0gMTAwJVxuICApO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDE0NWRlZyxcbiAgICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTgwMCddfSA4NSUsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYmx1ZS00MDAnXX0gMTAwJVxuICAgICk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgfVxuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ3llbGxvdy01MDAnXX07XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQXJyb3dJY29uID0gc3R5bGVkKEFycm93UmlnaHRJY29uKWBcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmhvdmVyICYsICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpmb2N1cy12aXNpYmxlICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgTWFya2V0aW5nQmFubmVyUHJvcHMgPSB7XG4gIHRhYkluZGV4OiBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbiAgaHJlZjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IE1hcmtldGluZ0Jhbm5lcjogUmVhY3QuRkM8TWFya2V0aW5nQmFubmVyUHJvcHM+ID0gKHtcbiAgdGFiSW5kZXgsXG4gIHRleHQsXG4gIGhyZWYsXG59KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXJrZXRpbmdCYW5uZXJBbmNob3JcbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgaHJlZj17aHJlZn1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+XG4gICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwge1xuICAgICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgICBocmVmLFxuICAgICAgICAgIHRleHQsXG4gICAgICAgICAgaWQ6ICd0b3BuYXZfY2F0YWxvZ19iYW5uZXInLFxuICAgICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfYmFubmVyJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGRhdGEtdGVzdGlkPVwibWFya2V0aW5nLWJhbm5lclwiXG4gICAgPlxuICAgICAgPE1hcmtldGluZ0Jhbm5lckJveFxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBhbGlnbkl0ZW1zPXt7IF86ICdmbGV4LWVuZCcsIGxnOiAnY2VudGVyJyB9fVxuICAgICAgICBoZWlnaHQ9e3sgXzogJ2F1dG8nLCBsZzogJzQwcHgnIH19XG4gICAgICAgIGNvbG9yPVwid2hpdGVcIlxuICAgICAgICBteD17OH1cbiAgICAgICAgbXQ9ezh9XG4gICAgICAgIHB4PXsyNH1cbiAgICAgICAgcHk9e3sgXzogMTYsIGxnOiA4IH19XG4gICAgICAgIGJvcmRlclJhZGl1cz1cImxnXCJcbiAgICAgID5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPXt7IF86ICdmbGV4LXN0YXJ0JywgbGc6ICdjZW50ZXInIH19XG4gICAgICAgICAgZmxleERpcmVjdGlvbj17eyBfOiAnY29sdW1uJywgbGc6ICdyb3cnIH19XG4gICAgICAgICAgZ2FwPXt7IF86IDgsIGxnOiAwIH19XG4gICAgICAgICAgekluZGV4PXsxfVxuICAgICAgICA+XG4gICAgICAgICAgPEJhZGdlXG4gICAgICAgICAgICBiZz1cInllbGxvdy01MDBcIlxuICAgICAgICAgICAgY29sb3I9XCJuYXZ5LTgwMFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICBtcj17OH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBOZXdcbiAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLWJhc2VcIj57dGV4dH08L1RleHQ+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgPEJveCBoZWlnaHQ9ezE2fSB3aWR0aD17MTZ9IHpJbmRleD17MX0+XG4gICAgICAgICAgPE1hcmtldGluZ0Fycm93SWNvbiAvPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvTWFya2V0aW5nQmFubmVyQm94PlxuICAgIDwvTWFya2V0aW5nQmFubmVyQW5jaG9yPlxuICApO1xufTtcbiJdfQ== */",
15
+ styles: "display:flex;&:hover,&:focus-visible{outline:none;text-decoration:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTTRDIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEJhZGdlLCBCb3gsIEZsZXhCb3gsIFRleHQgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBBcnJvd1JpZ2h0SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJBbmNob3IgPSBzdHlsZWQoQW5jaG9yKWBcbiAgZGlzcGxheTogZmxleDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBNYXJrZXRpbmdCYW5uZXJCb3ggPSBzdHlsZWQoRmxleEJveClgXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX0sXG4gICAgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCknO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxNDVkZWcsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktODAwJ119IDUwJSxcbiAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYmx1ZS00MDAnXX0gMTAwJVxuICApO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDE0NWRlZyxcbiAgICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTgwMCddfSA4NSUsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYmx1ZS00MDAnXX0gMTAwJVxuICAgICk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgfVxuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ3llbGxvdy01MDAnXX07XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQXJyb3dJY29uID0gc3R5bGVkKEFycm93UmlnaHRJY29uKWBcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmhvdmVyICYsICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpmb2N1cy12aXNpYmxlICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuYDtcblxudHlwZSBNYXJrZXRpbmdCYW5uZXJQcm9wcyA9IHtcbiAgdGFiSW5kZXg6IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xuICBocmVmOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgTWFya2V0aW5nQmFubmVyOiBSZWFjdC5GQzxNYXJrZXRpbmdCYW5uZXJQcm9wcz4gPSAoe1xuICB0YWJJbmRleCxcbiAgdGV4dCxcbiAgaHJlZixcbn0pID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSA9IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljaygpO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcmtldGluZ0Jhbm5lckFuY2hvclxuICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT5cbiAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgIGhyZWYsXG4gICAgICAgICAgdGV4dCxcbiAgICAgICAgICBpZDogJ3RvcG5hdl9jYXRhbG9nX2Jhbm5lcicsXG4gICAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19iYW5uZXInLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgZGF0YS10ZXN0aWQ9XCJtYXJrZXRpbmctYmFubmVyXCJcbiAgICA+XG4gICAgICA8TWFya2V0aW5nQmFubmVyQm94XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgIGFsaWduSXRlbXM9e3sgXzogJ2ZsZXgtZW5kJywgbGc6ICdjZW50ZXInIH19XG4gICAgICAgIGhlaWdodD17eyBfOiAnYXV0bycsIGxnOiAnNDBweCcgfX1cbiAgICAgICAgY29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIG14PXs4fVxuICAgICAgICBtdD17OH1cbiAgICAgICAgcHg9ezI0fVxuICAgICAgICBweT17eyBfOiAxNiwgbGc6IDggfX1cbiAgICAgICAgYm9yZGVyUmFkaXVzPVwibGdcIlxuICAgICAgPlxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIGFsaWduSXRlbXM9e3sgXzogJ2ZsZXgtc3RhcnQnLCBsZzogJ2NlbnRlcicgfX1cbiAgICAgICAgICBmbGV4RGlyZWN0aW9uPXt7IF86ICdjb2x1bW4nLCBsZzogJ3JvdycgfX1cbiAgICAgICAgICBnYXA9e3sgXzogOCwgbGc6IDAgfX1cbiAgICAgICAgICB6SW5kZXg9ezF9XG4gICAgICAgID5cbiAgICAgICAgICA8QmFkZ2VcbiAgICAgICAgICAgIGJnPVwieWVsbG93LTUwMFwiXG4gICAgICAgICAgICBjb2xvcj1cIm5hdnktODAwXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJjdXN0b21cIlxuICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgIG1yPXs4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIE5ld1xuICAgICAgICAgIDwvQmFkZ2U+XG4gICAgICAgICAgPFRleHQgdmFyaWFudD1cInAtYmFzZVwiPnt0ZXh0fTwvVGV4dD5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8Qm94IGhlaWdodD17MTZ9IHdpZHRoPXsxNn0gekluZGV4PXsxfT5cbiAgICAgICAgICA8TWFya2V0aW5nQXJyb3dJY29uIC8+XG4gICAgICAgIDwvQm94PlxuICAgICAgPC9NYXJrZXRpbmdCYW5uZXJCb3g+XG4gICAgPC9NYXJrZXRpbmdCYW5uZXJBbmNob3I+XG4gICk7XG59O1xuIl19 */",
16
16
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
17
17
  });
18
18
  const MarketingBannerBox = /*#__PURE__*/_styled(FlexBox, {
@@ -30,11 +30,11 @@ const MarketingBannerBox = /*#__PURE__*/_styled(FlexBox, {
30
30
  theme
31
31
  }) => theme.colors['blue-400'], " 100%\n );opacity:0;transition:opacity 0.4s ease-in-out;border-radius:12px;}", MarketingBannerAnchor, ":hover &,", MarketingBannerAnchor, ":focus-visible &{box-shadow:0 0 0 2px ", ({
32
32
  theme
33
- }) => theme.colors['yellow-500'], ";&::after{opacity:1;}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0IwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9NYXJrZXRpbmdCYW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCYWRnZSwgQm94LCBGbGV4Qm94LCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dSaWdodEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQW5jaG9yID0gc3R5bGVkKEFuY2hvcilgXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQm94ID0gc3R5bGVkKEZsZXhCb3gpYFxuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYm9yZGVyLXRlcnRpYXJ5J119LFxuICAgICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjApJztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTQ1ZGVnLFxuICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTgwMCddfSA1MCUsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgKTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxNDVkZWcsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snbmF2eS04MDAnXX0gODUlLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgICApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIH1cblxuICAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06aG92ZXIgJiwgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmZvY3VzLXZpc2libGUgJiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyd5ZWxsb3ctNTAwJ119O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE1hcmtldGluZ0Fycm93SWNvbiA9IHN0eWxlZChBcnJvd1JpZ2h0SWNvbilgXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIE1hcmtldGluZ0Jhbm5lclByb3BzID0ge1xuICB0YWJJbmRleDogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBNYXJrZXRpbmdCYW5uZXI6IFJlYWN0LkZDPE1hcmtldGluZ0Jhbm5lclByb3BzPiA9ICh7XG4gIHRhYkluZGV4LFxuICB0ZXh0LFxuICBocmVmLFxufSkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFya2V0aW5nQmFubmVyQW5jaG9yXG4gICAgICB2YXJpYW50PVwiaW50ZXJmYWNlXCJcbiAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIHtcbiAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgaHJlZixcbiAgICAgICAgICB0ZXh0LFxuICAgICAgICAgIGlkOiAndG9wbmF2X2NhdGFsb2dfYmFubmVyJyxcbiAgICAgICAgICB0cmFja2luZ1RhcmdldDogJ3RvcG5hdl9jYXRhbG9nX2Jhbm5lcicsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBkYXRhLXRlc3RpZD1cIm1hcmtldGluZy1iYW5uZXJcIlxuICAgID5cbiAgICAgIDxNYXJrZXRpbmdCYW5uZXJCb3hcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgYWxpZ25JdGVtcz17eyBfOiAnZmxleC1lbmQnLCBsZzogJ2NlbnRlcicgfX1cbiAgICAgICAgaGVpZ2h0PXt7IF86ICdhdXRvJywgbGc6ICc0MHB4JyB9fVxuICAgICAgICBjb2xvcj1cIndoaXRlXCJcbiAgICAgICAgbXg9ezh9XG4gICAgICAgIG10PXs4fVxuICAgICAgICBweD17MjR9XG4gICAgICAgIHB5PXt7IF86IDE2LCBsZzogOCB9fVxuICAgICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICA+XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz17eyBfOiAnZmxleC1zdGFydCcsIGxnOiAnY2VudGVyJyB9fVxuICAgICAgICAgIGZsZXhEaXJlY3Rpb249e3sgXzogJ2NvbHVtbicsIGxnOiAncm93JyB9fVxuICAgICAgICAgIGdhcD17eyBfOiA4LCBsZzogMCB9fVxuICAgICAgICAgIHpJbmRleD17MX1cbiAgICAgICAgPlxuICAgICAgICAgIDxCYWRnZVxuICAgICAgICAgICAgYmc9XCJ5ZWxsb3ctNTAwXCJcbiAgICAgICAgICAgIGNvbG9yPVwibmF2eS04MDBcIlxuICAgICAgICAgICAgdmFyaWFudD1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgbXI9ezh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgTmV3XG4gICAgICAgICAgPC9CYWRnZT5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwicC1iYXNlXCI+e3RleHR9PC9UZXh0PlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDxCb3ggaGVpZ2h0PXsxNn0gd2lkdGg9ezE2fSB6SW5kZXg9ezF9PlxuICAgICAgICAgIDxNYXJrZXRpbmdBcnJvd0ljb24gLz5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L01hcmtldGluZ0Jhbm5lckJveD5cbiAgICA8L01hcmtldGluZ0Jhbm5lckFuY2hvcj5cbiAgKTtcbn07XG4iXX0= */"));
33
+ }) => theme.colors['yellow-500'], ";&::after{opacity:1;}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0IwQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9NYXJrZXRpbmdCYW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCYWRnZSwgQm94LCBGbGV4Qm94LCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dSaWdodEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQW5jaG9yID0gc3R5bGVkKEFuY2hvcilgXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQm94ID0gc3R5bGVkKEZsZXhCb3gpYFxuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYm9yZGVyLXRlcnRpYXJ5J119LFxuICAgICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjApJztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTQ1ZGVnLFxuICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTgwMCddfSA1MCUsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgKTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxNDVkZWcsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snbmF2eS04MDAnXX0gODUlLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgICApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIH1cblxuICAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06aG92ZXIgJiwgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmZvY3VzLXZpc2libGUgJiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyd5ZWxsb3ctNTAwJ119O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE1hcmtldGluZ0Fycm93SWNvbiA9IHN0eWxlZChBcnJvd1JpZ2h0SWNvbilgXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbnR5cGUgTWFya2V0aW5nQmFubmVyUHJvcHMgPSB7XG4gIHRhYkluZGV4OiBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbiAgaHJlZjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IE1hcmtldGluZ0Jhbm5lcjogUmVhY3QuRkM8TWFya2V0aW5nQmFubmVyUHJvcHM+ID0gKHtcbiAgdGFiSW5kZXgsXG4gIHRleHQsXG4gIGhyZWYsXG59KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXJrZXRpbmdCYW5uZXJBbmNob3JcbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgaHJlZj17aHJlZn1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+XG4gICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwge1xuICAgICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgICBocmVmLFxuICAgICAgICAgIHRleHQsXG4gICAgICAgICAgaWQ6ICd0b3BuYXZfY2F0YWxvZ19iYW5uZXInLFxuICAgICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfYmFubmVyJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGRhdGEtdGVzdGlkPVwibWFya2V0aW5nLWJhbm5lclwiXG4gICAgPlxuICAgICAgPE1hcmtldGluZ0Jhbm5lckJveFxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBhbGlnbkl0ZW1zPXt7IF86ICdmbGV4LWVuZCcsIGxnOiAnY2VudGVyJyB9fVxuICAgICAgICBoZWlnaHQ9e3sgXzogJ2F1dG8nLCBsZzogJzQwcHgnIH19XG4gICAgICAgIGNvbG9yPVwid2hpdGVcIlxuICAgICAgICBteD17OH1cbiAgICAgICAgbXQ9ezh9XG4gICAgICAgIHB4PXsyNH1cbiAgICAgICAgcHk9e3sgXzogMTYsIGxnOiA4IH19XG4gICAgICAgIGJvcmRlclJhZGl1cz1cImxnXCJcbiAgICAgID5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPXt7IF86ICdmbGV4LXN0YXJ0JywgbGc6ICdjZW50ZXInIH19XG4gICAgICAgICAgZmxleERpcmVjdGlvbj17eyBfOiAnY29sdW1uJywgbGc6ICdyb3cnIH19XG4gICAgICAgICAgZ2FwPXt7IF86IDgsIGxnOiAwIH19XG4gICAgICAgICAgekluZGV4PXsxfVxuICAgICAgICA+XG4gICAgICAgICAgPEJhZGdlXG4gICAgICAgICAgICBiZz1cInllbGxvdy01MDBcIlxuICAgICAgICAgICAgY29sb3I9XCJuYXZ5LTgwMFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICBtcj17OH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBOZXdcbiAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLWJhc2VcIj57dGV4dH08L1RleHQ+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgPEJveCBoZWlnaHQ9ezE2fSB3aWR0aD17MTZ9IHpJbmRleD17MX0+XG4gICAgICAgICAgPE1hcmtldGluZ0Fycm93SWNvbiAvPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvTWFya2V0aW5nQmFubmVyQm94PlxuICAgIDwvTWFya2V0aW5nQmFubmVyQW5jaG9yPlxuICApO1xufTtcbiJdfQ== */"));
34
34
  const MarketingArrowIcon = /*#__PURE__*/_styled(ArrowRightIcon, {
35
35
  target: "e11di3440",
36
36
  label: "MarketingArrowIcon"
37
- })("transition:transform 0.2s ease-in-out;", MarketingBannerAnchor, ":hover &,", MarketingBannerAnchor, ":focus-visible &{transform:translateX(10px);}@media (prefers-reduced-motion: reduce){transition:none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcURpRCIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9NYXJrZXRpbmdCYW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCYWRnZSwgQm94LCBGbGV4Qm94LCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dSaWdodEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQW5jaG9yID0gc3R5bGVkKEFuY2hvcilgXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQm94ID0gc3R5bGVkKEZsZXhCb3gpYFxuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYm9yZGVyLXRlcnRpYXJ5J119LFxuICAgICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjApJztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTQ1ZGVnLFxuICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTgwMCddfSA1MCUsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgKTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxNDVkZWcsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snbmF2eS04MDAnXX0gODUlLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgICApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIH1cblxuICAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06aG92ZXIgJiwgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmZvY3VzLXZpc2libGUgJiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyd5ZWxsb3ctNTAwJ119O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE1hcmtldGluZ0Fycm93SWNvbiA9IHN0eWxlZChBcnJvd1JpZ2h0SWNvbilgXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIE1hcmtldGluZ0Jhbm5lclByb3BzID0ge1xuICB0YWJJbmRleDogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBNYXJrZXRpbmdCYW5uZXI6IFJlYWN0LkZDPE1hcmtldGluZ0Jhbm5lclByb3BzPiA9ICh7XG4gIHRhYkluZGV4LFxuICB0ZXh0LFxuICBocmVmLFxufSkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFya2V0aW5nQmFubmVyQW5jaG9yXG4gICAgICB2YXJpYW50PVwiaW50ZXJmYWNlXCJcbiAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIHtcbiAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgaHJlZixcbiAgICAgICAgICB0ZXh0LFxuICAgICAgICAgIGlkOiAndG9wbmF2X2NhdGFsb2dfYmFubmVyJyxcbiAgICAgICAgICB0cmFja2luZ1RhcmdldDogJ3RvcG5hdl9jYXRhbG9nX2Jhbm5lcicsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBkYXRhLXRlc3RpZD1cIm1hcmtldGluZy1iYW5uZXJcIlxuICAgID5cbiAgICAgIDxNYXJrZXRpbmdCYW5uZXJCb3hcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgYWxpZ25JdGVtcz17eyBfOiAnZmxleC1lbmQnLCBsZzogJ2NlbnRlcicgfX1cbiAgICAgICAgaGVpZ2h0PXt7IF86ICdhdXRvJywgbGc6ICc0MHB4JyB9fVxuICAgICAgICBjb2xvcj1cIndoaXRlXCJcbiAgICAgICAgbXg9ezh9XG4gICAgICAgIG10PXs4fVxuICAgICAgICBweD17MjR9XG4gICAgICAgIHB5PXt7IF86IDE2LCBsZzogOCB9fVxuICAgICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICA+XG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgYWxpZ25JdGVtcz17eyBfOiAnZmxleC1zdGFydCcsIGxnOiAnY2VudGVyJyB9fVxuICAgICAgICAgIGZsZXhEaXJlY3Rpb249e3sgXzogJ2NvbHVtbicsIGxnOiAncm93JyB9fVxuICAgICAgICAgIGdhcD17eyBfOiA4LCBsZzogMCB9fVxuICAgICAgICAgIHpJbmRleD17MX1cbiAgICAgICAgPlxuICAgICAgICAgIDxCYWRnZVxuICAgICAgICAgICAgYmc9XCJ5ZWxsb3ctNTAwXCJcbiAgICAgICAgICAgIGNvbG9yPVwibmF2eS04MDBcIlxuICAgICAgICAgICAgdmFyaWFudD1cImN1c3RvbVwiXG4gICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgbXI9ezh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgTmV3XG4gICAgICAgICAgPC9CYWRnZT5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwicC1iYXNlXCI+e3RleHR9PC9UZXh0PlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDxCb3ggaGVpZ2h0PXsxNn0gd2lkdGg9ezE2fSB6SW5kZXg9ezF9PlxuICAgICAgICAgIDxNYXJrZXRpbmdBcnJvd0ljb24gLz5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L01hcmtldGluZ0Jhbm5lckJveD5cbiAgICA8L01hcmtldGluZ0Jhbm5lckFuY2hvcj5cbiAgKTtcbn07XG4iXX0= */"));
37
+ })("transition:transform 0.2s ease-in-out;", MarketingBannerAnchor, ":hover &,", MarketingBannerAnchor, ":focus-visible &{transform:translateX(10px);}@media (prefers-reduced-motion: reduce){transition:none;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL01hcmtldGluZ0Jhbm5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcURpRCIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9NYXJrZXRpbmdCYW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCYWRnZSwgQm94LCBGbGV4Qm94LCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dSaWdodEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQW5jaG9yID0gc3R5bGVkKEFuY2hvcilgXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgTWFya2V0aW5nQmFubmVyQm94ID0gc3R5bGVkKEZsZXhCb3gpYFxuICBib3JkZXI6IDFweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snYm9yZGVyLXRlcnRpYXJ5J119LFxuICAgICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjApJztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTQ1ZGVnLFxuICAgICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTgwMCddfSA1MCUsXG4gICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgKTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxNDVkZWcsXG4gICAgICAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yc1snbmF2eS04MDAnXX0gODUlLFxuICAgICAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JsdWUtNDAwJ119IDEwMCVcbiAgICApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIH1cblxuICAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06aG92ZXIgJiwgJHtNYXJrZXRpbmdCYW5uZXJBbmNob3J9OmZvY3VzLXZpc2libGUgJiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyd5ZWxsb3ctNTAwJ119O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE1hcmtldGluZ0Fycm93SWNvbiA9IHN0eWxlZChBcnJvd1JpZ2h0SWNvbilgXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICR7TWFya2V0aW5nQmFubmVyQW5jaG9yfTpob3ZlciAmLCAke01hcmtldGluZ0Jhbm5lckFuY2hvcn06Zm9jdXMtdmlzaWJsZSAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbnR5cGUgTWFya2V0aW5nQmFubmVyUHJvcHMgPSB7XG4gIHRhYkluZGV4OiBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbiAgaHJlZjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IE1hcmtldGluZ0Jhbm5lcjogUmVhY3QuRkM8TWFya2V0aW5nQmFubmVyUHJvcHM+ID0gKHtcbiAgdGFiSW5kZXgsXG4gIHRleHQsXG4gIGhyZWYsXG59KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXJrZXRpbmdCYW5uZXJBbmNob3JcbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgaHJlZj17aHJlZn1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+XG4gICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwge1xuICAgICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgICBocmVmLFxuICAgICAgICAgIHRleHQsXG4gICAgICAgICAgaWQ6ICd0b3BuYXZfY2F0YWxvZ19iYW5uZXInLFxuICAgICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfYmFubmVyJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGRhdGEtdGVzdGlkPVwibWFya2V0aW5nLWJhbm5lclwiXG4gICAgPlxuICAgICAgPE1hcmtldGluZ0Jhbm5lckJveFxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICBhbGlnbkl0ZW1zPXt7IF86ICdmbGV4LWVuZCcsIGxnOiAnY2VudGVyJyB9fVxuICAgICAgICBoZWlnaHQ9e3sgXzogJ2F1dG8nLCBsZzogJzQwcHgnIH19XG4gICAgICAgIGNvbG9yPVwid2hpdGVcIlxuICAgICAgICBteD17OH1cbiAgICAgICAgbXQ9ezh9XG4gICAgICAgIHB4PXsyNH1cbiAgICAgICAgcHk9e3sgXzogMTYsIGxnOiA4IH19XG4gICAgICAgIGJvcmRlclJhZGl1cz1cImxnXCJcbiAgICAgID5cbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICBhbGlnbkl0ZW1zPXt7IF86ICdmbGV4LXN0YXJ0JywgbGc6ICdjZW50ZXInIH19XG4gICAgICAgICAgZmxleERpcmVjdGlvbj17eyBfOiAnY29sdW1uJywgbGc6ICdyb3cnIH19XG4gICAgICAgICAgZ2FwPXt7IF86IDgsIGxnOiAwIH19XG4gICAgICAgICAgekluZGV4PXsxfVxuICAgICAgICA+XG4gICAgICAgICAgPEJhZGdlXG4gICAgICAgICAgICBiZz1cInllbGxvdy01MDBcIlxuICAgICAgICAgICAgY29sb3I9XCJuYXZ5LTgwMFwiXG4gICAgICAgICAgICB2YXJpYW50PVwiY3VzdG9tXCJcbiAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICBtcj17OH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBOZXdcbiAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJwLWJhc2VcIj57dGV4dH08L1RleHQ+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgPEJveCBoZWlnaHQ9ezE2fSB3aWR0aD17MTZ9IHpJbmRleD17MX0+XG4gICAgICAgICAgPE1hcmtldGluZ0Fycm93SWNvbiAvPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvTWFya2V0aW5nQmFubmVyQm94PlxuICAgIDwvTWFya2V0aW5nQmFubmVyQW5jaG9yPlxuICApO1xufTtcbiJdfQ== */"));
38
38
  export const MarketingBanner = ({
39
39
  tabIndex,
40
40
  text,
@@ -4,5 +4,6 @@ export declare const DietCardGrid: ({ children }: {
4
4
  }) => import("react/jsx-runtime").JSX.Element;
5
5
  export declare const CareerPathsPanel: () => import("react/jsx-runtime").JSX.Element;
6
6
  export declare const SkillPathsPanel: () => import("react/jsx-runtime").JSX.Element;
7
+ export declare const getCertificationProviderLogoUrl: (fileName: string) => string;
7
8
  export declare const CertificationPathsPanel: () => import("react/jsx-runtime").JSX.Element;
8
9
  export declare const LiveLearningPanel: () => import("react/jsx-runtime").JSX.Element;
@@ -162,6 +162,7 @@ export const SkillPathsPanel = () => {
162
162
  })
163
163
  });
164
164
  };
165
+ export const getCertificationProviderLogoUrl = fileName => `https://static-assets.codecademy.com/assets/certification-provider-logos/catalog-dropdown/v2/${fileName}`;
165
166
  const Image = Box.withComponent('img', {
166
167
  target: "eqfnvo2",
167
168
  label: "Image"
@@ -177,7 +178,7 @@ const GrayscaleToColorHoverLink = /*#__PURE__*/_styled(Anchor, {
177
178
  theme
178
179
  }) => theme.colors.hyper, ";background-color:", ({
179
180
  theme
180
- }) => theme.colors['navy-100'], ";img{filter:brightness(1);}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMk1FIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEJveCwgQ2FyZCwgRmxleEJveCwgR3JpZEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IExldmVsSWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQ291cnNlRGlmZmljdWx0eSB9IGZyb20gJy4uLy4uLy4uL0NvbnRlbnRHcm91cEJhc2VDYXJkL3R5cGVzJztcbmltcG9ydCB7XG4gIHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCxcbiAgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrLFxuICB1c2VIaWdobGlnaHRMaXZlTGVhcm5pbmdDb250ZXh0LFxufSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXIvY29udGV4dCc7XG5pbXBvcnQgeyBsaXZlTGVhcm5pbmdOYXZQYW5lbEl0ZW1zIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NhdGFsb2dMaXN0JztcbmltcG9ydCB7IEFwcEhlYWRlckRpZXRDYXJkIH0gZnJvbSAnLi4vQXBwSGVhZGVyRGlldENhcmQnO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0IH0gZnJvbSAnLi4vQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcic7XG5pbXBvcnQgeyB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlclNlY3Rpb24vQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQnO1xuaW1wb3J0IHsgUGFuZWxMYXlvdXQgfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uL1BhbmVsTGF5b3V0JztcbmltcG9ydCB7IFNraWxsVGlsZSB9IGZyb20gJy4uL0FwcEhlYWRlclNraWxsVGlsZSc7XG5pbXBvcnQge1xuICBDRVJUSUZJQ0FUSU9OX1BST1ZJREVSUyxcbiAgcG9wdWxhckxhbmd1YWdlcyxcbiAgcG9wdWxhclN1YmplY3RzLFxufSBmcm9tICcuL2NvbnN0cyc7XG5cbmV4cG9ydCBjb25zdCBDb3Vyc2VUb3BpY3NQYW5lbCA9ICgpID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSA9IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljaygpO1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuXG4gIGNvbnN0IGRlc2NyaXB0aW9uID0gKFxuICAgIDw+XG4gICAgICBFeHBsb3JlIGZyZWUgb3IgcGFpZCBjb3Vyc2VzIGluIGEgd2lkZSB2YXJpZXR5IG9mIHRvcGljcy4gV2l0aCBzb21ldGhpbmdcbiAgICAgIGZvciBldmVyeSBza2lsbCBsZXZlbCwgaXQmYXBvcztzIGVhc3kgdG8gZmluZCBhIGNvdXJzZSB0aGF0IGZpdHMgeW91clxuICAgICAgZ29hbHMuIE5vdCBzdXJlIHdoZXJlIHRvIHN0YXJ0PyAmbmJzcDtcbiAgICAgIDxBbmNob3JcbiAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICBocmVmPVwiL3dlbGNvbWUvZmluZC1hLWNvdXJzZVwiXG4gICAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+XG4gICAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgICBocmVmOiAnL3dlbGNvbWUvZmluZC1hLWNvdXJzZScsXG4gICAgICAgICAgICB0ZXh0OiAnVGFrZSB0aGUgcXVpeicsXG4gICAgICAgICAgICBpZDogJ3Rha2UtdGhlLXF1aXonLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgVGFrZSB0aGUgcXVpelxuICAgICAgPC9BbmNob3I+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJDb3Vyc2UgdG9waWNzXCJcbiAgICAgIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn1cbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nJyxcbiAgICAgICAgdGV4dDogJ0V4cGxvcmUgdGhlIGZ1bGwgY2F0YWxvZycsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2cnLFxuICAgICAgICBpZDogJ2V4cGxvcmUtYWxsLWNvdXJzZXMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8VGV4dCB2YXJpYW50PVwicC1sYXJnZVwiIGZvbnRXZWlnaHQ9ezcwMH0gYXM9XCJoM1wiPlxuICAgICAgICBQb3B1bGFyIGxhbmd1YWdlc1xuICAgICAgPC9UZXh0PlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17eyBfOiAnMWZyJywgeHM6ICcxZnIgMWZyJywgbWQ6ICcxZnIgMWZyIDFmcicgfX1cbiAgICAgICAgZ2FwPXs4fVxuICAgICAgICBwbD17MH1cbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgICBtYj17MjR9XG4gICAgICA+XG4gICAgICAgIHtwb3B1bGFyTGFuZ3VhZ2VzLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e2l0ZW0uaWR9PlxuICAgICAgICAgICAgPFNraWxsVGlsZSBpdGVtPXtpdGVtfSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuXG4gICAgICA8VGV4dCB2YXJpYW50PVwicC1sYXJnZVwiIGZvbnRXZWlnaHQ9ezcwMH0gYXM9XCJoM1wiPlxuICAgICAgICBQb3B1bGFyIHN1YmplY3RzXG4gICAgICA8L1RleHQ+XG4gICAgICA8R3JpZEJveFxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7IF86ICcxZnInLCB4czogJzFmciAxZnInLCBtZDogJzFmciAxZnIgMWZyJyB9fVxuICAgICAgICBnYXA9ezh9XG4gICAgICAgIHBsPXswfVxuICAgICAgICBhcz1cInVsXCJcbiAgICAgICAgbGlzdFN0eWxlPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIHtwb3B1bGFyU3ViamVjdHMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgPGxpIGtleT17aXRlbS5pZH0+XG4gICAgICAgICAgICA8U2tpbGxUaWxlIGl0ZW09e2l0ZW19IC8+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKSl9XG4gICAgICA8L0dyaWRCb3g+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBEaWV0Q2FyZEdyaWQgPSAoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxHcmlkQm94XG4gICAgICBhcz1cInVsXCJcbiAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3tcbiAgICAgICAgXzogJzFmcicsXG4gICAgICAgIHNtOiAncmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKScsXG4gICAgICAgIG1kOiAncmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKScsXG4gICAgICB9fVxuICAgICAgZ2FwPXsxNn1cbiAgICAgIG09ezB9XG4gICAgICBwPXswfVxuICAgICAgbGlzdFN0eWxlVHlwZT1cIm5vbmVcIlxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0dyaWRCb3g+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZWVyUGF0aHNQYW5lbCA9ICgpID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YSB9ID0gdXNlR2xvYmFsSGVhZGVyRHluYW1pY0RhdGFDb250ZXh0KCk7XG4gIGNvbnN0IHRvdGFsQ2FyZWVyUGF0aENvdW50ID1cbiAgICBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YT8uY2F0YWxvZ0Ryb3Bkb3duLmNhcmVlclBhdGhzLnRvdGFsQ2FyZWVyUGF0aENvdW50O1xuICBjb25zdCBsaW5rVGV4dCA9IGBFeHBsb3JlIGFsbCR7XG4gICAgdG90YWxDYXJlZXJQYXRoQ291bnQgPyBgICR7dG90YWxDYXJlZXJQYXRoQ291bnR9YCA6ICcnXG4gIH0gY2FyZWVyIHBhdGhzYDtcblxuICByZXR1cm4gKFxuICAgIDxQYW5lbExheW91dFxuICAgICAgaGVhZGluZz1cIkNhcmVlciBwYXRoc1wiXG4gICAgICBkZXNjcmlwdGlvbj1cIkNob29zZSB5b3VyIGNhcmVlciBhbmQgd2UnbGwgdGVhY2ggeW91IHRoZSBza2lsbHMgdG8gZ2V0IGpvYi1yZWFkeS4gRWFjaCBDYXJlZXIgUGF0aCBjb250YWlucyBhIGN1cmF0ZWQgbGlzdCBvZiBsZXNzb25zLCBxdWl6emVzLCB2aWRlb3MsIGFuZCBwcm9qZWN0cyB0byBoZWxwIHlvdSBsZWFybiBhbmQgcHJhY3RpY2UgcmVhbC13b3JsZCBza2lsbHMuXCJcbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nP3R5cGU9Y2FyZWVyLXBhdGgnLFxuICAgICAgICB0ZXh0OiBsaW5rVGV4dCxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfY2FyZWVyX3BhdGhzJyxcbiAgICAgICAgaWQ6ICdleHBsb3JlLWFsbC1jYXJlZXItcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8RGlldENhcmRHcmlkPlxuICAgICAgICB7Z2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5jYXJlZXJQYXRocy5wcm9tb3RlZENhcmVlclBhdGhzLm1hcChcbiAgICAgICAgICAocGF0aCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPEFwcEhlYWRlckRpZXRDYXJkXG4gICAgICAgICAgICAgICAga2V5PXtgJHtwYXRoLnRpdGxlfS1jYXJkYH1cbiAgICAgICAgICAgICAgICB0aXRsZT17cGF0aC50aXRsZX1cbiAgICAgICAgICAgICAgICBob3Vycz17cGF0aC5kdXJhdGlvbkhvdXJzfVxuICAgICAgICAgICAgICAgIGljb249ezxMZXZlbEljb24gLz59XG4gICAgICAgICAgICAgICAgZGlmZmljdWx0eT17cGF0aC5kaWZmaWN1bHR5IGFzIENvdXJzZURpZmZpY3VsdHl9XG4gICAgICAgICAgICAgICAgaHJlZj17cGF0aC51cmxQYXRofVxuICAgICAgICAgICAgICAgIHRyYWNraW5nVGFyZ2V0PXtgY2FyZWVycGF0aF8ke3BhdGgudGl0bGV9YH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICApfVxuICAgICAgPC9EaWV0Q2FyZEdyaWQ+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBTa2lsbFBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGEgfSA9IHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCgpO1xuICBjb25zdCB0b3RhbFNraWxsUGF0aENvdW50ID1cbiAgICBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YT8uY2F0YWxvZ0Ryb3Bkb3duLnNraWxsUGF0aHMudG90YWxTa2lsbFBhdGhDb3VudDtcbiAgY29uc3QgbGlua1RleHQgPSBgRXhwbG9yZSBhbGwke1xuICAgIHRvdGFsU2tpbGxQYXRoQ291bnQgPyBgICR7dG90YWxTa2lsbFBhdGhDb3VudH1gIDogJydcbiAgfSBza2lsbCBwYXRoc2A7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJTa2lsbCBwYXRoc1wiXG4gICAgICBkZXNjcmlwdGlvbj1cIkJ1aWxkIGluIGRlbWFuZCBza2lsbHMgZmFzdCB3aXRoIGEgc2hvcnQsIGN1cmF0ZWQgcGF0aC4gRWFjaCBvbmUgaW5jbHVkZXMgaW50ZXJhY3RpdmUgY29udGVudCB0byBoZWxwIHlvdSBsZWFybiBhbmQgYXBwbHkgeW91ciBuZXcgc2tpbGwgaW4ganVzdCBhIGZldyBtb250aHMuXCJcbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nP3R5cGU9c2tpbGwtcGF0aCcsXG4gICAgICAgIHRleHQ6IGxpbmtUZXh0LFxuICAgICAgICB0cmFja2luZ1RhcmdldDogJ3RvcG5hdl9jYXRhbG9nX2hlYWRlcl9leHBsb3JlX2FsbF9za2lsbF9wYXRocycsXG4gICAgICAgIGlkOiAnZXhwbG9yZS1hbGwtc2tpbGwtcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8RGlldENhcmRHcmlkPlxuICAgICAgICB7Z2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5za2lsbFBhdGhzLnByb21vdGVkU2tpbGxQYXRocy5tYXAoXG4gICAgICAgICAgKHBhdGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBIZWFkZXJEaWV0Q2FyZFxuICAgICAgICAgICAgICAgIGtleT17YCR7cGF0aC50aXRsZX0tY2FyZGB9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3BhdGgudGl0bGV9XG4gICAgICAgICAgICAgICAgaG91cnM9e3BhdGguZHVyYXRpb25Ib3Vyc31cbiAgICAgICAgICAgICAgICBpY29uPXs8TGV2ZWxJY29uIC8+fVxuICAgICAgICAgICAgICAgIGRpZmZpY3VsdHk9e3BhdGguZGlmZmljdWx0eSBhcyBDb3Vyc2VEaWZmaWN1bHR5fVxuICAgICAgICAgICAgICAgIGhyZWY9e3BhdGgudXJsUGF0aH1cbiAgICAgICAgICAgICAgICB0cmFja2luZ1RhcmdldD17YHNraWxsXyR7cGF0aC50aXRsZX1gfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICl9XG4gICAgICA8L0RpZXRDYXJkR3JpZD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcblxuY29uc3QgSW1hZ2UgPSBCb3gud2l0aENvbXBvbmVudCgnaW1nJyk7XG5cbmNvbnN0IEdyYXlzY2FsZVRvQ29sb3JIb3ZlckxpbmsgPSBzdHlsZWQoQW5jaG9yKTx7XG4gIG92ZXJyaWRlSW1nRmlsdGVycz86IGJvb2xlYW47XG59PmBcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JvcmRlci10ZXJ0aWFyeSddfTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1vdXQ7XG4gIGltZyB7XG4gICAgZmlsdGVyOiAkeyh7IG92ZXJyaWRlSW1nRmlsdGVycyB9KSA9PlxuICAgICAgb3ZlcnJpZGVJbWdGaWx0ZXJzID8gJ2NvbnRyYXN0KDUpJyA6ICdicmlnaHRuZXNzKDAuMjUpJ307XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1vdXQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgaW1nIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxKTtcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5oeXBlcn07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ119O1xuICB9XG5gO1xuXG5jb25zdCBQcm92aWRlclRpbGUgPSAoe1xuICBuYW1lLFxuICBocmVmLFxuICBpbWdTcmMsXG4gIHRhYkluZGV4LFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbiAgaW1nU3JjOiBzdHJpbmc7XG4gIHRhYkluZGV4OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgeyBoYW5kbGVDbG9zZSB9ID0gdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0KCk7XG5cbiAgY29uc3QgbG93ZXJjYXNlZFByb3ZpZGVyTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmF5c2NhbGVUb0NvbG9ySG92ZXJMaW5rXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICBrZXk9e25hbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgaGVpZ2h0PXs0OH1cbiAgICAgIHA9ezh9XG4gICAgICBkaXNwbGF5PVwiYmxvY2tcIlxuICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIHtcbiAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgaWQ6IGB0b3BuYXZfY2F0YWxvZ19jZXJ0XyR7bG93ZXJjYXNlZFByb3ZpZGVyTmFtZX1gLFxuICAgICAgICAgIGhyZWYsXG4gICAgICAgICAgdGV4dDogbmFtZSxcbiAgICAgICAgICB0cmFja2luZ1RhcmdldDogYHRvcG5hdl9jYXRhbG9nX2NlcnRfJHtsb3dlcmNhc2VkUHJvdmlkZXJOYW1lfWAsXG4gICAgICAgIH0pO1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfX1cbiAgICAgIG92ZXJyaWRlSW1nRmlsdGVycz17bmFtZS50b0xvd2VyQ2FzZSgpID09PSAna3ViZXJuZXRlcyd9XG4gICAgPlxuICAgICAgPEltYWdlIHNyYz17aW1nU3JjfSBhbHQ9e25hbWV9IGRpc3BsYXk9XCJibG9ja1wiIG09XCJhdXRvXCIgLz5cbiAgICA8L0dyYXlzY2FsZVRvQ29sb3JIb3Zlckxpbms+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ2VydGlmaWNhdGlvblBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGEgfSA9IHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCgpO1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuICBjb25zdCB0b3RhbENlcnRpZmljYXRpb25QYXRoQ291bnQgPVxuICAgIGdsb2JhbEhlYWRlckR5bmFtaWNEYXRhPy5jYXRhbG9nRHJvcGRvd24uY2VydGlmaWNhdGlvblBhdGhzXG4gICAgICAudG90YWxDZXJ0aWZpY2F0aW9uUGF0aENvdW50O1xuICBjb25zdCBsaW5rVGV4dCA9IGBFeHBsb3JlIGFsbCR7XG4gICAgdG90YWxDZXJ0aWZpY2F0aW9uUGF0aENvdW50ID8gYCAke3RvdGFsQ2VydGlmaWNhdGlvblBhdGhDb3VudH1gIDogJydcbiAgfSBjZXJ0aWZpY2F0aW9uIHBhdGhzYDtcblxuICByZXR1cm4gKFxuICAgIDxQYW5lbExheW91dFxuICAgICAgaGVhZGluZz1cIkNlcnRpZmljYXRpb24gcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJQcmVwYXJlIGZvciB0b3AgaW5kdXN0cnkgY2VydGlmaWNhdGlvbnMgd2l0aCBhIGd1aWRlZCBwYXRoLiBFYWNoIG9uZSBpbmNsdWRlcyBleHBlcnQtcmV2aWV3ZWQgbGVzc29ucywgaGFuZHMtb24gcHJvamVjdHMsIGFuZCBwcmFjdGljZSB0ZXN0cyB0byBoZWxwIHlvdSBwYXNzIHRoZSBleGFtLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZy9jZXJ0aWZpY2F0aW9uLXByZXAnLFxuICAgICAgICB0ZXh0OiBsaW5rVGV4dCxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfY2VydGlmaWNhdGlvbl9wYXRocycsXG4gICAgICAgIGlkOiAnZXhwbG9yZS1hbGwtY2VydGlmaWNhdGlvbi1wYXRocycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxUZXh0IGFzPVwiaDNcIiBmb250U2l6ZT17MTh9IGZvbnRXZWlnaHQ9XCJib2xkXCI+XG4gICAgICAgIFByb3ZpZGVyc1xuICAgICAgPC9UZXh0PlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17e1xuICAgICAgICAgIF86ICcxZnInLFxuICAgICAgICAgIHhzOiAncmVwZWF0KDIsIDFmciknLFxuICAgICAgICAgIHNtOiAncmVwZWF0KDMsIDFmciknLFxuICAgICAgICAgIG1kOiAncmVwZWF0KDQsIDFmciknLFxuICAgICAgICB9fVxuICAgICAgICBnYXA9ezE2fVxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBhcz1cInVsXCJcbiAgICAgICAgbGlzdFN0eWxlPVwibm9uZVwiXG4gICAgICAgIHA9ezB9XG4gICAgICAgIG09ezB9XG4gICAgICA+XG4gICAgICAgIHtDRVJUSUZJQ0FUSU9OX1BST1ZJREVSUy5tYXAoKHsgbmFtZSwgbG9nb1VybCwgaHViVHlwZSB9KSA9PiAoXG4gICAgICAgICAgPEJveCBhcz1cImxpXCIga2V5PXtuYW1lfSB3aWR0aD1cIjEwMCVcIj5cbiAgICAgICAgICAgIDxQcm92aWRlclRpbGVcbiAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgaHJlZj17XG4gICAgICAgICAgICAgICAgaHViVHlwZSA9PT0gJ3N1Ymh1YidcbiAgICAgICAgICAgICAgICAgID8gYC9zZWFyY2g/cXVlcnk9JHtuYW1lfSBjZXJ0aWZpY2F0aW9uc2BcbiAgICAgICAgICAgICAgICAgIDogYC9jYXRhbG9nL2NlcnRpZmljYXRpb24tcHJlcD9wcm92aWRlcj0ke25hbWUudG9Mb3dlckNhc2UoKX1gXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaW1nU3JjPXtsb2dvVXJsfVxuICAgICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcblxuY29uc3QgTGl2ZUxlYXJuaW5nSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgTGl2ZUxlYXJuaW5nUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgZ2V0SW1hZ2VVcmwgPSAoaWQ6IHN0cmluZykgPT5cbiAgICBgaHR0cHM6Ly9zdGF0aWMtYXNzZXRzLmNvZGVjYWRlbXkuY29tL2Fzc2V0cy9jb21wb25lbnRzL2NhcmRzL2dsb2JhbC1oZWFkZXIvbGl2ZS1sZWFybmluZy92MS8ke2lkfS53ZWJwYDtcbiAgY29uc3QgeyBoYW5kbGVDbG9zZSB9ID0gdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0KCk7XG4gIGNvbnN0IHsgdGFiSW5kZXggfSA9IHVzZUFwcEhlYWRlclNlY3Rpb25Db250ZXh0KCk7XG4gIGNvbnN0IGRpc3BsYXlIaWdobGlnaHRMaXZlTGVhcm5pbmcgPSB1c2VIaWdobGlnaHRMaXZlTGVhcm5pbmdDb250ZXh0KCk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJMaXZlIGxlYXJuaW5nXCJcbiAgICAgIGRlc2NyaXB0aW9uPXtsaXZlTGVhcm5pbmdOYXZQYW5lbEl0ZW1zLmRlc2NyaXB0aW9ufVxuICAgICAgbGlua0l0ZW09e3tcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICBocmVmOiAnL2xpdmUtbGVhcm5pbmcnLFxuICAgICAgICB0ZXh0OiAnTGVhcm4gbW9yZSBhYm91dCBsaXZlIGxlYXJuaW5nJyxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfbGl2ZV9sZWFybmluZycsXG4gICAgICAgIGlkOiAnbGVhcm4tbW9yZS1hYm91dC1saXZlLWxlYXJuaW5nJyxcbiAgICAgIH19XG4gICAgICBzaG93UG9wdWxhckJhZGdlPXtkaXNwbGF5SGlnaGxpZ2h0TGl2ZUxlYXJuaW5nfVxuICAgID5cbiAgICAgIDxHcmlkQm94XG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3sgXzogJzFmcicsIG1kOiAncmVwZWF0KDIsIDFmciknIH19XG4gICAgICAgIGdhcD17MTZ9XG4gICAgICA+XG4gICAgICAgIHtsaXZlTGVhcm5pbmdOYXZQYW5lbEl0ZW1zLmRhdGEubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgPEFuY2hvclxuICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoXG4gICAgICAgICAgICAgIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PlxuICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDYXJkXG4gICAgICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICAgICAgYm9yZGVyPXsxfVxuICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cImxnXCJcbiAgICAgICAgICAgICAgaXNJbnRlcmFjdGl2ZVxuICAgICAgICAgICAgICBwPXswfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TGl2ZUxlYXJuaW5nSW1hZ2VcbiAgICAgICAgICAgICAgICBzcmM9e2dldEltYWdlVXJsKGl0ZW0uaWQpfVxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RmxleEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXs4fSBwPXsxNn0+XG4gICAgICAgICAgICAgICAgPFRleHQgdmFyaWFudD1cInRpdGxlLXhzXCI+e2l0ZW0udGV4dH08L1RleHQ+XG4gICAgICAgICAgICAgICAgeydkZXNjcmlwdGlvbicgaW4gaXRlbSAmJiA8VGV4dD57aXRlbS5kZXNjcmlwdGlvbn08L1RleHQ+fVxuICAgICAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9BbmNob3I+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuIl19 */"));
181
+ }) => theme.colors['navy-100'], ";img{filter:brightness(1);}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOE1FIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEJveCwgQ2FyZCwgRmxleEJveCwgR3JpZEJveCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IExldmVsSWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgQ291cnNlRGlmZmljdWx0eSB9IGZyb20gJy4uLy4uLy4uL0NvbnRlbnRHcm91cEJhc2VDYXJkL3R5cGVzJztcbmltcG9ydCB7XG4gIHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCxcbiAgdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrLFxuICB1c2VIaWdobGlnaHRMaXZlTGVhcm5pbmdDb250ZXh0LFxufSBmcm9tICcuLi8uLi8uLi9HbG9iYWxIZWFkZXIvY29udGV4dCc7XG5pbXBvcnQgeyBsaXZlTGVhcm5pbmdOYXZQYW5lbEl0ZW1zIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NhdGFsb2dMaXN0JztcbmltcG9ydCB7IEFwcEhlYWRlckRpZXRDYXJkIH0gZnJvbSAnLi4vQXBwSGVhZGVyRGlldENhcmQnO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0IH0gZnJvbSAnLi4vQXBwSGVhZGVyRHJvcGRvd25Qcm92aWRlcic7XG5pbXBvcnQgeyB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlclNlY3Rpb24vQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQnO1xuaW1wb3J0IHsgUGFuZWxMYXlvdXQgfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uL1BhbmVsTGF5b3V0JztcbmltcG9ydCB7IFNraWxsVGlsZSB9IGZyb20gJy4uL0FwcEhlYWRlclNraWxsVGlsZSc7XG5pbXBvcnQge1xuICBDRVJUSUZJQ0FUSU9OX1BST1ZJREVSUyxcbiAgcG9wdWxhckxhbmd1YWdlcyxcbiAgcG9wdWxhclN1YmplY3RzLFxufSBmcm9tICcuL2NvbnN0cyc7XG5cbmV4cG9ydCBjb25zdCBDb3Vyc2VUb3BpY3NQYW5lbCA9ICgpID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSA9IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljaygpO1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuXG4gIGNvbnN0IGRlc2NyaXB0aW9uID0gKFxuICAgIDw+XG4gICAgICBFeHBsb3JlIGZyZWUgb3IgcGFpZCBjb3Vyc2VzIGluIGEgd2lkZSB2YXJpZXR5IG9mIHRvcGljcy4gV2l0aCBzb21ldGhpbmdcbiAgICAgIGZvciBldmVyeSBza2lsbCBsZXZlbCwgaXQmYXBvcztzIGVhc3kgdG8gZmluZCBhIGNvdXJzZSB0aGF0IGZpdHMgeW91clxuICAgICAgZ29hbHMuIE5vdCBzdXJlIHdoZXJlIHRvIHN0YXJ0PyAmbmJzcDtcbiAgICAgIDxBbmNob3JcbiAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICBocmVmPVwiL3dlbGNvbWUvZmluZC1hLWNvdXJzZVwiXG4gICAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+XG4gICAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgICBocmVmOiAnL3dlbGNvbWUvZmluZC1hLWNvdXJzZScsXG4gICAgICAgICAgICB0ZXh0OiAnVGFrZSB0aGUgcXVpeicsXG4gICAgICAgICAgICBpZDogJ3Rha2UtdGhlLXF1aXonLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgVGFrZSB0aGUgcXVpelxuICAgICAgPC9BbmNob3I+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJDb3Vyc2UgdG9waWNzXCJcbiAgICAgIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn1cbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nJyxcbiAgICAgICAgdGV4dDogJ0V4cGxvcmUgdGhlIGZ1bGwgY2F0YWxvZycsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2cnLFxuICAgICAgICBpZDogJ2V4cGxvcmUtYWxsLWNvdXJzZXMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8VGV4dCB2YXJpYW50PVwicC1sYXJnZVwiIGZvbnRXZWlnaHQ9ezcwMH0gYXM9XCJoM1wiPlxuICAgICAgICBQb3B1bGFyIGxhbmd1YWdlc1xuICAgICAgPC9UZXh0PlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17eyBfOiAnMWZyJywgeHM6ICcxZnIgMWZyJywgbWQ6ICcxZnIgMWZyIDFmcicgfX1cbiAgICAgICAgZ2FwPXs4fVxuICAgICAgICBwbD17MH1cbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgICBtYj17MjR9XG4gICAgICA+XG4gICAgICAgIHtwb3B1bGFyTGFuZ3VhZ2VzLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e2l0ZW0uaWR9PlxuICAgICAgICAgICAgPFNraWxsVGlsZSBpdGVtPXtpdGVtfSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuXG4gICAgICA8VGV4dCB2YXJpYW50PVwicC1sYXJnZVwiIGZvbnRXZWlnaHQ9ezcwMH0gYXM9XCJoM1wiPlxuICAgICAgICBQb3B1bGFyIHN1YmplY3RzXG4gICAgICA8L1RleHQ+XG4gICAgICA8R3JpZEJveFxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7IF86ICcxZnInLCB4czogJzFmciAxZnInLCBtZDogJzFmciAxZnIgMWZyJyB9fVxuICAgICAgICBnYXA9ezh9XG4gICAgICAgIHBsPXswfVxuICAgICAgICBhcz1cInVsXCJcbiAgICAgICAgbGlzdFN0eWxlPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIHtwb3B1bGFyU3ViamVjdHMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgPGxpIGtleT17aXRlbS5pZH0+XG4gICAgICAgICAgICA8U2tpbGxUaWxlIGl0ZW09e2l0ZW19IC8+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKSl9XG4gICAgICA8L0dyaWRCb3g+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBEaWV0Q2FyZEdyaWQgPSAoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxHcmlkQm94XG4gICAgICBhcz1cInVsXCJcbiAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3tcbiAgICAgICAgXzogJzFmcicsXG4gICAgICAgIHNtOiAncmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKScsXG4gICAgICAgIG1kOiAncmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKScsXG4gICAgICB9fVxuICAgICAgZ2FwPXsxNn1cbiAgICAgIG09ezB9XG4gICAgICBwPXswfVxuICAgICAgbGlzdFN0eWxlVHlwZT1cIm5vbmVcIlxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0dyaWRCb3g+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZWVyUGF0aHNQYW5lbCA9ICgpID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YSB9ID0gdXNlR2xvYmFsSGVhZGVyRHluYW1pY0RhdGFDb250ZXh0KCk7XG4gIGNvbnN0IHRvdGFsQ2FyZWVyUGF0aENvdW50ID1cbiAgICBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YT8uY2F0YWxvZ0Ryb3Bkb3duLmNhcmVlclBhdGhzLnRvdGFsQ2FyZWVyUGF0aENvdW50O1xuICBjb25zdCBsaW5rVGV4dCA9IGBFeHBsb3JlIGFsbCR7XG4gICAgdG90YWxDYXJlZXJQYXRoQ291bnQgPyBgICR7dG90YWxDYXJlZXJQYXRoQ291bnR9YCA6ICcnXG4gIH0gY2FyZWVyIHBhdGhzYDtcblxuICByZXR1cm4gKFxuICAgIDxQYW5lbExheW91dFxuICAgICAgaGVhZGluZz1cIkNhcmVlciBwYXRoc1wiXG4gICAgICBkZXNjcmlwdGlvbj1cIkNob29zZSB5b3VyIGNhcmVlciBhbmQgd2UnbGwgdGVhY2ggeW91IHRoZSBza2lsbHMgdG8gZ2V0IGpvYi1yZWFkeS4gRWFjaCBDYXJlZXIgUGF0aCBjb250YWlucyBhIGN1cmF0ZWQgbGlzdCBvZiBsZXNzb25zLCBxdWl6emVzLCB2aWRlb3MsIGFuZCBwcm9qZWN0cyB0byBoZWxwIHlvdSBsZWFybiBhbmQgcHJhY3RpY2UgcmVhbC13b3JsZCBza2lsbHMuXCJcbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nP3R5cGU9Y2FyZWVyLXBhdGgnLFxuICAgICAgICB0ZXh0OiBsaW5rVGV4dCxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfY2FyZWVyX3BhdGhzJyxcbiAgICAgICAgaWQ6ICdleHBsb3JlLWFsbC1jYXJlZXItcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8RGlldENhcmRHcmlkPlxuICAgICAgICB7Z2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5jYXJlZXJQYXRocy5wcm9tb3RlZENhcmVlclBhdGhzLm1hcChcbiAgICAgICAgICAocGF0aCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPEFwcEhlYWRlckRpZXRDYXJkXG4gICAgICAgICAgICAgICAga2V5PXtgJHtwYXRoLnRpdGxlfS1jYXJkYH1cbiAgICAgICAgICAgICAgICB0aXRsZT17cGF0aC50aXRsZX1cbiAgICAgICAgICAgICAgICBob3Vycz17cGF0aC5kdXJhdGlvbkhvdXJzfVxuICAgICAgICAgICAgICAgIGljb249ezxMZXZlbEljb24gLz59XG4gICAgICAgICAgICAgICAgZGlmZmljdWx0eT17cGF0aC5kaWZmaWN1bHR5IGFzIENvdXJzZURpZmZpY3VsdHl9XG4gICAgICAgICAgICAgICAgaHJlZj17cGF0aC51cmxQYXRofVxuICAgICAgICAgICAgICAgIHRyYWNraW5nVGFyZ2V0PXtgY2FyZWVycGF0aF8ke3BhdGgudGl0bGV9YH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICApfVxuICAgICAgPC9EaWV0Q2FyZEdyaWQ+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBTa2lsbFBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGEgfSA9IHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCgpO1xuICBjb25zdCB0b3RhbFNraWxsUGF0aENvdW50ID1cbiAgICBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YT8uY2F0YWxvZ0Ryb3Bkb3duLnNraWxsUGF0aHMudG90YWxTa2lsbFBhdGhDb3VudDtcbiAgY29uc3QgbGlua1RleHQgPSBgRXhwbG9yZSBhbGwke1xuICAgIHRvdGFsU2tpbGxQYXRoQ291bnQgPyBgICR7dG90YWxTa2lsbFBhdGhDb3VudH1gIDogJydcbiAgfSBza2lsbCBwYXRoc2A7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJTa2lsbCBwYXRoc1wiXG4gICAgICBkZXNjcmlwdGlvbj1cIkJ1aWxkIGluIGRlbWFuZCBza2lsbHMgZmFzdCB3aXRoIGEgc2hvcnQsIGN1cmF0ZWQgcGF0aC4gRWFjaCBvbmUgaW5jbHVkZXMgaW50ZXJhY3RpdmUgY29udGVudCB0byBoZWxwIHlvdSBsZWFybiBhbmQgYXBwbHkgeW91ciBuZXcgc2tpbGwgaW4ganVzdCBhIGZldyBtb250aHMuXCJcbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9jYXRhbG9nP3R5cGU9c2tpbGwtcGF0aCcsXG4gICAgICAgIHRleHQ6IGxpbmtUZXh0LFxuICAgICAgICB0cmFja2luZ1RhcmdldDogJ3RvcG5hdl9jYXRhbG9nX2hlYWRlcl9leHBsb3JlX2FsbF9za2lsbF9wYXRocycsXG4gICAgICAgIGlkOiAnZXhwbG9yZS1hbGwtc2tpbGwtcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8RGlldENhcmRHcmlkPlxuICAgICAgICB7Z2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5za2lsbFBhdGhzLnByb21vdGVkU2tpbGxQYXRocy5tYXAoXG4gICAgICAgICAgKHBhdGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBIZWFkZXJEaWV0Q2FyZFxuICAgICAgICAgICAgICAgIGtleT17YCR7cGF0aC50aXRsZX0tY2FyZGB9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3BhdGgudGl0bGV9XG4gICAgICAgICAgICAgICAgaG91cnM9e3BhdGguZHVyYXRpb25Ib3Vyc31cbiAgICAgICAgICAgICAgICBpY29uPXs8TGV2ZWxJY29uIC8+fVxuICAgICAgICAgICAgICAgIGRpZmZpY3VsdHk9e3BhdGguZGlmZmljdWx0eSBhcyBDb3Vyc2VEaWZmaWN1bHR5fVxuICAgICAgICAgICAgICAgIGhyZWY9e3BhdGgudXJsUGF0aH1cbiAgICAgICAgICAgICAgICB0cmFja2luZ1RhcmdldD17YHNraWxsXyR7cGF0aC50aXRsZX1gfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICl9XG4gICAgICA8L0RpZXRDYXJkR3JpZD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENlcnRpZmljYXRpb25Qcm92aWRlckxvZ29VcmwgPSAoZmlsZU5hbWU6IHN0cmluZykgPT5cbiAgYGh0dHBzOi8vc3RhdGljLWFzc2V0cy5jb2RlY2FkZW15LmNvbS9hc3NldHMvY2VydGlmaWNhdGlvbi1wcm92aWRlci1sb2dvcy9jYXRhbG9nLWRyb3Bkb3duL3YyLyR7ZmlsZU5hbWV9YDtcblxuY29uc3QgSW1hZ2UgPSBCb3gud2l0aENvbXBvbmVudCgnaW1nJyk7XG5cbmNvbnN0IEdyYXlzY2FsZVRvQ29sb3JIb3ZlckxpbmsgPSBzdHlsZWQoQW5jaG9yKTx7XG4gIG92ZXJyaWRlSW1nRmlsdGVycz86IGJvb2xlYW47XG59PmBcbiAgYm9yZGVyOiAxcHggc29saWQgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ2JvcmRlci10ZXJ0aWFyeSddfTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1vdXQ7XG4gIGltZyB7XG4gICAgZmlsdGVyOiAkeyh7IG92ZXJyaWRlSW1nRmlsdGVycyB9KSA9PlxuICAgICAgb3ZlcnJpZGVJbWdGaWx0ZXJzID8gJ2NvbnRyYXN0KDUpJyA6ICdicmlnaHRuZXNzKDAuMjUpJ307XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1vdXQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMCk7XG4gICAgaW1nIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxKTtcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5oeXBlcn07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnNbJ25hdnktMTAwJ119O1xuICB9XG5gO1xuXG5jb25zdCBQcm92aWRlclRpbGUgPSAoe1xuICBuYW1lLFxuICBocmVmLFxuICBpbWdTcmMsXG4gIHRhYkluZGV4LFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIGhyZWY6IHN0cmluZztcbiAgaW1nU3JjOiBzdHJpbmc7XG4gIHRhYkluZGV4OiBudW1iZXI7XG59KSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgeyBoYW5kbGVDbG9zZSB9ID0gdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0KCk7XG5cbiAgY29uc3QgbG93ZXJjYXNlZFByb3ZpZGVyTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmF5c2NhbGVUb0NvbG9ySG92ZXJMaW5rXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICBrZXk9e25hbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgaGVpZ2h0PXs0OH1cbiAgICAgIHA9ezh9XG4gICAgICBkaXNwbGF5PVwiYmxvY2tcIlxuICAgICAgb25DbGljaz17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIHtcbiAgICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgICAgaWQ6IGB0b3BuYXZfY2F0YWxvZ19jZXJ0XyR7bG93ZXJjYXNlZFByb3ZpZGVyTmFtZX1gLFxuICAgICAgICAgIGhyZWYsXG4gICAgICAgICAgdGV4dDogbmFtZSxcbiAgICAgICAgICB0cmFja2luZ1RhcmdldDogYHRvcG5hdl9jYXRhbG9nX2NlcnRfJHtsb3dlcmNhc2VkUHJvdmlkZXJOYW1lfWAsXG4gICAgICAgIH0pO1xuICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgfX1cbiAgICAgIG92ZXJyaWRlSW1nRmlsdGVycz17bmFtZS50b0xvd2VyQ2FzZSgpID09PSAna3ViZXJuZXRlcyd9XG4gICAgPlxuICAgICAgPEltYWdlIHNyYz17aW1nU3JjfSBhbHQ9e25hbWV9IGRpc3BsYXk9XCJibG9ja1wiIG09XCJhdXRvXCIgLz5cbiAgICA8L0dyYXlzY2FsZVRvQ29sb3JIb3Zlckxpbms+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQ2VydGlmaWNhdGlvblBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGEgfSA9IHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCgpO1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuICBjb25zdCB0b3RhbENlcnRpZmljYXRpb25QYXRoQ291bnQgPVxuICAgIGdsb2JhbEhlYWRlckR5bmFtaWNEYXRhPy5jYXRhbG9nRHJvcGRvd24uY2VydGlmaWNhdGlvblBhdGhzXG4gICAgICAudG90YWxDZXJ0aWZpY2F0aW9uUGF0aENvdW50O1xuICBjb25zdCBsaW5rVGV4dCA9IGBFeHBsb3JlIGFsbCR7XG4gICAgdG90YWxDZXJ0aWZpY2F0aW9uUGF0aENvdW50ID8gYCAke3RvdGFsQ2VydGlmaWNhdGlvblBhdGhDb3VudH1gIDogJydcbiAgfSBjZXJ0aWZpY2F0aW9uIHBhdGhzYDtcblxuICByZXR1cm4gKFxuICAgIDxQYW5lbExheW91dFxuICAgICAgaGVhZGluZz1cIkNlcnRpZmljYXRpb24gcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJQcmVwYXJlIGZvciB0b3AgaW5kdXN0cnkgY2VydGlmaWNhdGlvbnMgd2l0aCBhIGd1aWRlZCBwYXRoLiBFYWNoIG9uZSBpbmNsdWRlcyBleHBlcnQtcmV2aWV3ZWQgbGVzc29ucywgaGFuZHMtb24gcHJvamVjdHMsIGFuZCBwcmFjdGljZSB0ZXN0cyB0byBoZWxwIHlvdSBwYXNzIHRoZSBleGFtLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZy9jZXJ0aWZpY2F0aW9uLXByZXAnLFxuICAgICAgICB0ZXh0OiBsaW5rVGV4dCxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfY2VydGlmaWNhdGlvbl9wYXRocycsXG4gICAgICAgIGlkOiAnZXhwbG9yZS1hbGwtY2VydGlmaWNhdGlvbi1wYXRocycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxUZXh0IGFzPVwiaDNcIiBmb250U2l6ZT17MTh9IGZvbnRXZWlnaHQ9XCJib2xkXCI+XG4gICAgICAgIFByb3ZpZGVyc1xuICAgICAgPC9UZXh0PlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17e1xuICAgICAgICAgIF86ICcxZnInLFxuICAgICAgICAgIHhzOiAncmVwZWF0KDIsIDFmciknLFxuICAgICAgICAgIHNtOiAncmVwZWF0KDMsIDFmciknLFxuICAgICAgICAgIG1kOiAncmVwZWF0KDQsIDFmciknLFxuICAgICAgICB9fVxuICAgICAgICBnYXA9ezE2fVxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBhcz1cInVsXCJcbiAgICAgICAgbGlzdFN0eWxlPVwibm9uZVwiXG4gICAgICAgIHA9ezB9XG4gICAgICAgIG09ezB9XG4gICAgICA+XG4gICAgICAgIHtDRVJUSUZJQ0FUSU9OX1BST1ZJREVSUy5tYXAoKHsgbmFtZSwgbG9nb1VybCwgaHViVHlwZSB9KSA9PiAoXG4gICAgICAgICAgPEJveCBhcz1cImxpXCIga2V5PXtuYW1lfSB3aWR0aD1cIjEwMCVcIj5cbiAgICAgICAgICAgIDxQcm92aWRlclRpbGVcbiAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgaHJlZj17XG4gICAgICAgICAgICAgICAgaHViVHlwZSA9PT0gJ3N1Ymh1YidcbiAgICAgICAgICAgICAgICAgID8gYC9zZWFyY2g/cXVlcnk9JHtuYW1lfSBjZXJ0aWZpY2F0aW9uc2BcbiAgICAgICAgICAgICAgICAgIDogYC9jYXRhbG9nL2NlcnRpZmljYXRpb24tcHJlcD9wcm92aWRlcj0ke25hbWUudG9Mb3dlckNhc2UoKX1gXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaW1nU3JjPXtsb2dvVXJsfVxuICAgICAgICAgICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQm94PlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcblxuY29uc3QgTGl2ZUxlYXJuaW5nSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgTGl2ZUxlYXJuaW5nUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgZ2V0SW1hZ2VVcmwgPSAoaWQ6IHN0cmluZykgPT5cbiAgICBgaHR0cHM6Ly9zdGF0aWMtYXNzZXRzLmNvZGVjYWRlbXkuY29tL2Fzc2V0cy9jb21wb25lbnRzL2NhcmRzL2dsb2JhbC1oZWFkZXIvbGl2ZS1sZWFybmluZy92MS8ke2lkfS53ZWJwYDtcbiAgY29uc3QgeyBoYW5kbGVDbG9zZSB9ID0gdXNlQXBwSGVhZGVyRHJvcGRvd25Db250ZXh0KCk7XG4gIGNvbnN0IHsgdGFiSW5kZXggfSA9IHVzZUFwcEhlYWRlclNlY3Rpb25Db250ZXh0KCk7XG4gIGNvbnN0IGRpc3BsYXlIaWdobGlnaHRMaXZlTGVhcm5pbmcgPSB1c2VIaWdobGlnaHRMaXZlTGVhcm5pbmdDb250ZXh0KCk7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJMaXZlIGxlYXJuaW5nXCJcbiAgICAgIGRlc2NyaXB0aW9uPXtsaXZlTGVhcm5pbmdOYXZQYW5lbEl0ZW1zLmRlc2NyaXB0aW9ufVxuICAgICAgbGlua0l0ZW09e3tcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICBocmVmOiAnL2xpdmUtbGVhcm5pbmcnLFxuICAgICAgICB0ZXh0OiAnTGVhcm4gbW9yZSBhYm91dCBsaXZlIGxlYXJuaW5nJyxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfbGl2ZV9sZWFybmluZycsXG4gICAgICAgIGlkOiAnbGVhcm4tbW9yZS1hYm91dC1saXZlLWxlYXJuaW5nJyxcbiAgICAgIH19XG4gICAgICBzaG93UG9wdWxhckJhZGdlPXtkaXNwbGF5SGlnaGxpZ2h0TGl2ZUxlYXJuaW5nfVxuICAgID5cbiAgICAgIDxHcmlkQm94XG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3sgXzogJzFmcicsIG1kOiAncmVwZWF0KDIsIDFmciknIH19XG4gICAgICAgIGdhcD17MTZ9XG4gICAgICA+XG4gICAgICAgIHtsaXZlTGVhcm5pbmdOYXZQYW5lbEl0ZW1zLmRhdGEubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgPEFuY2hvclxuICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoXG4gICAgICAgICAgICAgIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50LCBNb3VzZUV2ZW50PlxuICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwgaXRlbSk7XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDYXJkXG4gICAgICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICAgICAgYm9yZGVyPXsxfVxuICAgICAgICAgICAgICBib3JkZXJDb2xvcj1cImJvcmRlci10ZXJ0aWFyeVwiXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cImxnXCJcbiAgICAgICAgICAgICAgaXNJbnRlcmFjdGl2ZVxuICAgICAgICAgICAgICBwPXswfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TGl2ZUxlYXJuaW5nSW1hZ2VcbiAgICAgICAgICAgICAgICBzcmM9e2dldEltYWdlVXJsKGl0ZW0uaWQpfVxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8RmxleEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXs4fSBwPXsxNn0+XG4gICAgICAgICAgICAgICAgPFRleHQgdmFyaWFudD1cInRpdGxlLXhzXCI+e2l0ZW0udGV4dH08L1RleHQ+XG4gICAgICAgICAgICAgICAgeydkZXNjcmlwdGlvbicgaW4gaXRlbSAmJiA8VGV4dD57aXRlbS5kZXNjcmlwdGlvbn08L1RleHQ+fVxuICAgICAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9BbmNob3I+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuIl19 */"));
181
182
  const ProviderTile = ({
182
183
  name,
183
184
  href,
@@ -280,7 +281,7 @@ const LiveLearningImage = /*#__PURE__*/_styled("img", {
280
281
  styles: "object-fit:cover;width:100%"
281
282
  } : {
282
283
  name: "1okoyo9",
283
- styles: "object-fit:cover;width:100%/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcVVvQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9OYXZQYW5lbHMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCb3gsIENhcmQsIEZsZXhCb3gsIEdyaWRCb3gsIFRleHQgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBMZXZlbEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IENvdXJzZURpZmZpY3VsdHkgfSBmcm9tICcuLi8uLi8uLi9Db250ZW50R3JvdXBCYXNlQ2FyZC90eXBlcyc7XG5pbXBvcnQge1xuICB1c2VHbG9iYWxIZWFkZXJEeW5hbWljRGF0YUNvbnRleHQsXG4gIHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayxcbiAgdXNlSGlnaGxpZ2h0TGl2ZUxlYXJuaW5nQ29udGV4dCxcbn0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuaW1wb3J0IHsgbGl2ZUxlYXJuaW5nTmF2UGFuZWxJdGVtcyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jYXRhbG9nTGlzdCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJEaWV0Q2FyZCB9IGZyb20gJy4uL0FwcEhlYWRlckRpZXRDYXJkJztcbmltcG9ydCB7IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlckRyb3Bkb3duUHJvdmlkZXInO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uL0FwcEhlYWRlclNlY3Rpb25Db250ZXh0JztcbmltcG9ydCB7IFBhbmVsTGF5b3V0IH0gZnJvbSAnLi4vQXBwSGVhZGVyU2VjdGlvbi9QYW5lbExheW91dCc7XG5pbXBvcnQgeyBTa2lsbFRpbGUgfSBmcm9tICcuLi9BcHBIZWFkZXJTa2lsbFRpbGUnO1xuaW1wb3J0IHtcbiAgQ0VSVElGSUNBVElPTl9QUk9WSURFUlMsXG4gIHBvcHVsYXJMYW5ndWFnZXMsXG4gIHBvcHVsYXJTdWJqZWN0cyxcbn0gZnJvbSAnLi9jb25zdHMnO1xuXG5leHBvcnQgY29uc3QgQ291cnNlVG9waWNzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgeyB0YWJJbmRleCB9ID0gdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQoKTtcblxuICBjb25zdCBkZXNjcmlwdGlvbiA9IChcbiAgICA8PlxuICAgICAgRXhwbG9yZSBmcmVlIG9yIHBhaWQgY291cnNlcyBpbiBhIHdpZGUgdmFyaWV0eSBvZiB0b3BpY3MuIFdpdGggc29tZXRoaW5nXG4gICAgICBmb3IgZXZlcnkgc2tpbGwgbGV2ZWwsIGl0JmFwb3M7cyBlYXN5IHRvIGZpbmQgYSBjb3Vyc2UgdGhhdCBmaXRzIHlvdXJcbiAgICAgIGdvYWxzLiBOb3Qgc3VyZSB3aGVyZSB0byBzdGFydD8gJm5ic3A7XG4gICAgICA8QW5jaG9yXG4gICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgaHJlZj1cIi93ZWxjb21lL2ZpbmQtYS1jb3Vyc2VcIlxuICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwge1xuICAgICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgICAgaHJlZjogJy93ZWxjb21lL2ZpbmQtYS1jb3Vyc2UnLFxuICAgICAgICAgICAgdGV4dDogJ1Rha2UgdGhlIHF1aXonLFxuICAgICAgICAgICAgaWQ6ICd0YWtlLXRoZS1xdWl6JyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIFRha2UgdGhlIHF1aXpcbiAgICAgIDwvQW5jaG9yPlxuICAgIDwvPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiQ291cnNlIHRvcGljc1wiXG4gICAgICBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259XG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZycsXG4gICAgICAgIHRleHQ6ICdFeHBsb3JlIHRoZSBmdWxsIGNhdGFsb2cnLFxuICAgICAgICB0cmFja2luZ1RhcmdldDogJ3RvcG5hdl9jYXRhbG9nJyxcbiAgICAgICAgaWQ6ICdleHBsb3JlLWFsbC1jb3Vyc2VzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFRleHQgdmFyaWFudD1cInAtbGFyZ2VcIiBmb250V2VpZ2h0PXs3MDB9IGFzPVwiaDNcIj5cbiAgICAgICAgUG9wdWxhciBsYW5ndWFnZXNcbiAgICAgIDwvVGV4dD5cbiAgICAgIDxHcmlkQm94XG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3sgXzogJzFmcicsIHhzOiAnMWZyIDFmcicsIG1kOiAnMWZyIDFmciAxZnInIH19XG4gICAgICAgIGdhcD17OH1cbiAgICAgICAgcGw9ezB9XG4gICAgICAgIGFzPVwidWxcIlxuICAgICAgICBsaXN0U3R5bGU9XCJub25lXCJcbiAgICAgICAgbWI9ezI0fVxuICAgICAgPlxuICAgICAgICB7cG9wdWxhckxhbmd1YWdlcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICA8bGkga2V5PXtpdGVtLmlkfT5cbiAgICAgICAgICAgIDxTa2lsbFRpbGUgaXRlbT17aXRlbX0gLz5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cblxuICAgICAgPFRleHQgdmFyaWFudD1cInAtbGFyZ2VcIiBmb250V2VpZ2h0PXs3MDB9IGFzPVwiaDNcIj5cbiAgICAgICAgUG9wdWxhciBzdWJqZWN0c1xuICAgICAgPC9UZXh0PlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17eyBfOiAnMWZyJywgeHM6ICcxZnIgMWZyJywgbWQ6ICcxZnIgMWZyIDFmcicgfX1cbiAgICAgICAgZ2FwPXs4fVxuICAgICAgICBwbD17MH1cbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICB7cG9wdWxhclN1YmplY3RzLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e2l0ZW0uaWR9PlxuICAgICAgICAgICAgPFNraWxsVGlsZSBpdGVtPXtpdGVtfSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgRGlldENhcmRHcmlkID0gKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8R3JpZEJveFxuICAgICAgYXM9XCJ1bFwiXG4gICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7XG4gICAgICAgIF86ICcxZnInLFxuICAgICAgICBzbTogJ3JlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSknLFxuICAgICAgICBtZDogJ3JlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSknLFxuICAgICAgfX1cbiAgICAgIGdhcD17MTZ9XG4gICAgICBtPXswfVxuICAgICAgcD17MH1cbiAgICAgIGxpc3RTdHlsZVR5cGU9XCJub25lXCJcbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9HcmlkQm94PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENhcmVlclBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGEgfSA9IHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCgpO1xuICBjb25zdCB0b3RhbENhcmVlclBhdGhDb3VudCA9XG4gICAgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5jYXJlZXJQYXRocy50b3RhbENhcmVlclBhdGhDb3VudDtcbiAgY29uc3QgbGlua1RleHQgPSBgRXhwbG9yZSBhbGwke1xuICAgIHRvdGFsQ2FyZWVyUGF0aENvdW50ID8gYCAke3RvdGFsQ2FyZWVyUGF0aENvdW50fWAgOiAnJ1xuICB9IGNhcmVlciBwYXRoc2A7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJDYXJlZXIgcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJDaG9vc2UgeW91ciBjYXJlZXIgYW5kIHdlJ2xsIHRlYWNoIHlvdSB0aGUgc2tpbGxzIHRvIGdldCBqb2ItcmVhZHkuIEVhY2ggQ2FyZWVyIFBhdGggY29udGFpbnMgYSBjdXJhdGVkIGxpc3Qgb2YgbGVzc29ucywgcXVpenplcywgdmlkZW9zLCBhbmQgcHJvamVjdHMgdG8gaGVscCB5b3UgbGVhcm4gYW5kIHByYWN0aWNlIHJlYWwtd29ybGQgc2tpbGxzLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPWNhcmVlci1wYXRoJyxcbiAgICAgICAgdGV4dDogbGlua1RleHQsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfaGVhZGVyX2V4cGxvcmVfYWxsX2NhcmVlcl9wYXRocycsXG4gICAgICAgIGlkOiAnZXhwbG9yZS1hbGwtY2FyZWVyLXBhdGhzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPERpZXRDYXJkR3JpZD5cbiAgICAgICAge2dsb2JhbEhlYWRlckR5bmFtaWNEYXRhPy5jYXRhbG9nRHJvcGRvd24uY2FyZWVyUGF0aHMucHJvbW90ZWRDYXJlZXJQYXRocy5tYXAoXG4gICAgICAgICAgKHBhdGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBIZWFkZXJEaWV0Q2FyZFxuICAgICAgICAgICAgICAgIGtleT17YCR7cGF0aC50aXRsZX0tY2FyZGB9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3BhdGgudGl0bGV9XG4gICAgICAgICAgICAgICAgaG91cnM9e3BhdGguZHVyYXRpb25Ib3Vyc31cbiAgICAgICAgICAgICAgICBpY29uPXs8TGV2ZWxJY29uIC8+fVxuICAgICAgICAgICAgICAgIGRpZmZpY3VsdHk9e3BhdGguZGlmZmljdWx0eSBhcyBDb3Vyc2VEaWZmaWN1bHR5fVxuICAgICAgICAgICAgICAgIGhyZWY9e3BhdGgudXJsUGF0aH1cbiAgICAgICAgICAgICAgICB0cmFja2luZ1RhcmdldD17YGNhcmVlcnBhdGhfJHtwYXRoLnRpdGxlfWB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgKX1cbiAgICAgIDwvRGlldENhcmRHcmlkPlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgU2tpbGxQYXRoc1BhbmVsID0gKCkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckR5bmFtaWNEYXRhIH0gPSB1c2VHbG9iYWxIZWFkZXJEeW5hbWljRGF0YUNvbnRleHQoKTtcbiAgY29uc3QgdG90YWxTa2lsbFBhdGhDb3VudCA9XG4gICAgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5za2lsbFBhdGhzLnRvdGFsU2tpbGxQYXRoQ291bnQ7XG4gIGNvbnN0IGxpbmtUZXh0ID0gYEV4cGxvcmUgYWxsJHtcbiAgICB0b3RhbFNraWxsUGF0aENvdW50ID8gYCAke3RvdGFsU2tpbGxQYXRoQ291bnR9YCA6ICcnXG4gIH0gc2tpbGwgcGF0aHNgO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiU2tpbGwgcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJCdWlsZCBpbiBkZW1hbmQgc2tpbGxzIGZhc3Qgd2l0aCBhIHNob3J0LCBjdXJhdGVkIHBhdGguIEVhY2ggb25lIGluY2x1ZGVzIGludGVyYWN0aXZlIGNvbnRlbnQgdG8gaGVscCB5b3UgbGVhcm4gYW5kIGFwcGx5IHlvdXIgbmV3IHNraWxsIGluIGp1c3QgYSBmZXcgbW9udGhzLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPXNraWxsLXBhdGgnLFxuICAgICAgICB0ZXh0OiBsaW5rVGV4dCxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfc2tpbGxfcGF0aHMnLFxuICAgICAgICBpZDogJ2V4cGxvcmUtYWxsLXNraWxsLXBhdGhzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPERpZXRDYXJkR3JpZD5cbiAgICAgICAge2dsb2JhbEhlYWRlckR5bmFtaWNEYXRhPy5jYXRhbG9nRHJvcGRvd24uc2tpbGxQYXRocy5wcm9tb3RlZFNraWxsUGF0aHMubWFwKFxuICAgICAgICAgIChwYXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8QXBwSGVhZGVyRGlldENhcmRcbiAgICAgICAgICAgICAgICBrZXk9e2Ake3BhdGgudGl0bGV9LWNhcmRgfVxuICAgICAgICAgICAgICAgIHRpdGxlPXtwYXRoLnRpdGxlfVxuICAgICAgICAgICAgICAgIGhvdXJzPXtwYXRoLmR1cmF0aW9uSG91cnN9XG4gICAgICAgICAgICAgICAgaWNvbj17PExldmVsSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBkaWZmaWN1bHR5PXtwYXRoLmRpZmZpY3VsdHkgYXMgQ291cnNlRGlmZmljdWx0eX1cbiAgICAgICAgICAgICAgICBocmVmPXtwYXRoLnVybFBhdGh9XG4gICAgICAgICAgICAgICAgdHJhY2tpbmdUYXJnZXQ9e2Bza2lsbF8ke3BhdGgudGl0bGV9YH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICApfVxuICAgICAgPC9EaWV0Q2FyZEdyaWQ+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmNvbnN0IEltYWdlID0gQm94LndpdGhDb21wb25lbnQoJ2ltZycpO1xuXG5jb25zdCBHcmF5c2NhbGVUb0NvbG9ySG92ZXJMaW5rID0gc3R5bGVkKEFuY2hvcik8e1xuICBvdmVycmlkZUltZ0ZpbHRlcnM/OiBib29sZWFuO1xufT5gXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2Utb3V0O1xuICBpbWcge1xuICAgIGZpbHRlcjogJHsoeyBvdmVycmlkZUltZ0ZpbHRlcnMgfSkgPT5cbiAgICAgIG92ZXJyaWRlSW1nRmlsdGVycyA/ICdjb250cmFzdCg1KScgOiAnYnJpZ2h0bmVzcygwLjI1KSd9O1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2Utb3V0O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgIGltZyB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMSk7XG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuaHlwZXJ9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTEwMCddfTtcbiAgfVxuYDtcblxuY29uc3QgUHJvdmlkZXJUaWxlID0gKHtcbiAgbmFtZSxcbiAgaHJlZixcbiAgaW1nU3JjLFxuICB0YWJJbmRleCxcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBocmVmOiBzdHJpbmc7XG4gIGltZ1NyYzogc3RyaW5nO1xuICB0YWJJbmRleDogbnVtYmVyO1xufSkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG4gIGNvbnN0IHsgaGFuZGxlQ2xvc2UgfSA9IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCgpO1xuXG4gIGNvbnN0IGxvd2VyY2FzZWRQcm92aWRlck5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JheXNjYWxlVG9Db2xvckhvdmVyTGlua1xuICAgICAgaHJlZj17aHJlZn1cbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAga2V5PXtuYW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIGhlaWdodD17NDh9XG4gICAgICBwPXs4fVxuICAgICAgZGlzcGxheT1cImJsb2NrXCJcbiAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgIGlkOiBgdG9wbmF2X2NhdGFsb2dfY2VydF8ke2xvd2VyY2FzZWRQcm92aWRlck5hbWV9YCxcbiAgICAgICAgICBocmVmLFxuICAgICAgICAgIHRleHQ6IG5hbWUsXG4gICAgICAgICAgdHJhY2tpbmdUYXJnZXQ6IGB0b3BuYXZfY2F0YWxvZ19jZXJ0XyR7bG93ZXJjYXNlZFByb3ZpZGVyTmFtZX1gLFxuICAgICAgICB9KTtcbiAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgIH19XG4gICAgICBvdmVycmlkZUltZ0ZpbHRlcnM9e25hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2t1YmVybmV0ZXMnfVxuICAgID5cbiAgICAgIDxJbWFnZSBzcmM9e2ltZ1NyY30gYWx0PXtuYW1lfSBkaXNwbGF5PVwiYmxvY2tcIiBtPVwiYXV0b1wiIC8+XG4gICAgPC9HcmF5c2NhbGVUb0NvbG9ySG92ZXJMaW5rPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENlcnRpZmljYXRpb25QYXRoc1BhbmVsID0gKCkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckR5bmFtaWNEYXRhIH0gPSB1c2VHbG9iYWxIZWFkZXJEeW5hbWljRGF0YUNvbnRleHQoKTtcbiAgY29uc3QgeyB0YWJJbmRleCB9ID0gdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQoKTtcbiAgY29uc3QgdG90YWxDZXJ0aWZpY2F0aW9uUGF0aENvdW50ID1cbiAgICBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YT8uY2F0YWxvZ0Ryb3Bkb3duLmNlcnRpZmljYXRpb25QYXRoc1xuICAgICAgLnRvdGFsQ2VydGlmaWNhdGlvblBhdGhDb3VudDtcbiAgY29uc3QgbGlua1RleHQgPSBgRXhwbG9yZSBhbGwke1xuICAgIHRvdGFsQ2VydGlmaWNhdGlvblBhdGhDb3VudCA/IGAgJHt0b3RhbENlcnRpZmljYXRpb25QYXRoQ291bnR9YCA6ICcnXG4gIH0gY2VydGlmaWNhdGlvbiBwYXRoc2A7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJDZXJ0aWZpY2F0aW9uIHBhdGhzXCJcbiAgICAgIGRlc2NyaXB0aW9uPVwiUHJlcGFyZSBmb3IgdG9wIGluZHVzdHJ5IGNlcnRpZmljYXRpb25zIHdpdGggYSBndWlkZWQgcGF0aC4gRWFjaCBvbmUgaW5jbHVkZXMgZXhwZXJ0LXJldmlld2VkIGxlc3NvbnMsIGhhbmRzLW9uIHByb2plY3RzLCBhbmQgcHJhY3RpY2UgdGVzdHMgdG8gaGVscCB5b3UgcGFzcyB0aGUgZXhhbS5cIlxuICAgICAgbGlua0l0ZW09e3tcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICBocmVmOiAnL2NhdGFsb2cvY2VydGlmaWNhdGlvbi1wcmVwJyxcbiAgICAgICAgdGV4dDogbGlua1RleHQsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfaGVhZGVyX2V4cGxvcmVfYWxsX2NlcnRpZmljYXRpb25fcGF0aHMnLFxuICAgICAgICBpZDogJ2V4cGxvcmUtYWxsLWNlcnRpZmljYXRpb24tcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8VGV4dCBhcz1cImgzXCIgZm9udFNpemU9ezE4fSBmb250V2VpZ2h0PVwiYm9sZFwiPlxuICAgICAgICBQcm92aWRlcnNcbiAgICAgIDwvVGV4dD5cbiAgICAgIDxHcmlkQm94XG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3tcbiAgICAgICAgICBfOiAnMWZyJyxcbiAgICAgICAgICB4czogJ3JlcGVhdCgyLCAxZnIpJyxcbiAgICAgICAgICBzbTogJ3JlcGVhdCgzLCAxZnIpJyxcbiAgICAgICAgICBtZDogJ3JlcGVhdCg0LCAxZnIpJyxcbiAgICAgICAgfX1cbiAgICAgICAgZ2FwPXsxNn1cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgICBwPXswfVxuICAgICAgICBtPXswfVxuICAgICAgPlxuICAgICAgICB7Q0VSVElGSUNBVElPTl9QUk9WSURFUlMubWFwKCh7IG5hbWUsIGxvZ29VcmwsIGh1YlR5cGUgfSkgPT4gKFxuICAgICAgICAgIDxCb3ggYXM9XCJsaVwiIGtleT17bmFtZX0gd2lkdGg9XCIxMDAlXCI+XG4gICAgICAgICAgICA8UHJvdmlkZXJUaWxlXG4gICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgIGhyZWY9e1xuICAgICAgICAgICAgICAgIGh1YlR5cGUgPT09ICdzdWJodWInXG4gICAgICAgICAgICAgICAgICA/IGAvc2VhcmNoP3F1ZXJ5PSR7bmFtZX0gY2VydGlmaWNhdGlvbnNgXG4gICAgICAgICAgICAgICAgICA6IGAvY2F0YWxvZy9jZXJ0aWZpY2F0aW9uLXByZXA/cHJvdmlkZXI9JHtuYW1lLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGltZ1NyYz17bG9nb1VybH1cbiAgICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKSl9XG4gICAgICA8L0dyaWRCb3g+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmNvbnN0IExpdmVMZWFybmluZ0ltYWdlID0gc3R5bGVkLmltZ2BcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuZXhwb3J0IGNvbnN0IExpdmVMZWFybmluZ1BhbmVsID0gKCkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG4gIGNvbnN0IGdldEltYWdlVXJsID0gKGlkOiBzdHJpbmcpID0+XG4gICAgYGh0dHBzOi8vc3RhdGljLWFzc2V0cy5jb2RlY2FkZW15LmNvbS9hc3NldHMvY29tcG9uZW50cy9jYXJkcy9nbG9iYWwtaGVhZGVyL2xpdmUtbGVhcm5pbmcvdjEvJHtpZH0ud2VicGA7XG4gIGNvbnN0IHsgaGFuZGxlQ2xvc2UgfSA9IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCgpO1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuICBjb25zdCBkaXNwbGF5SGlnaGxpZ2h0TGl2ZUxlYXJuaW5nID0gdXNlSGlnaGxpZ2h0TGl2ZUxlYXJuaW5nQ29udGV4dCgpO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiTGl2ZSBsZWFybmluZ1wiXG4gICAgICBkZXNjcmlwdGlvbj17bGl2ZUxlYXJuaW5nTmF2UGFuZWxJdGVtcy5kZXNjcmlwdGlvbn1cbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9saXZlLWxlYXJuaW5nJyxcbiAgICAgICAgdGV4dDogJ0xlYXJuIG1vcmUgYWJvdXQgbGl2ZSBsZWFybmluZycsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfaGVhZGVyX2V4cGxvcmVfYWxsX2xpdmVfbGVhcm5pbmcnLFxuICAgICAgICBpZDogJ2xlYXJuLW1vcmUtYWJvdXQtbGl2ZS1sZWFybmluZycsXG4gICAgICB9fVxuICAgICAgc2hvd1BvcHVsYXJCYWRnZT17ZGlzcGxheUhpZ2hsaWdodExpdmVMZWFybmluZ31cbiAgICA+XG4gICAgICA8R3JpZEJveFxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7IF86ICcxZnInLCBtZDogJ3JlcGVhdCgyLCAxZnIpJyB9fVxuICAgICAgICBnYXA9ezE2fVxuICAgICAgPlxuICAgICAgICB7bGl2ZUxlYXJuaW5nTmF2UGFuZWxJdGVtcy5kYXRhLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxBbmNob3JcbiAgICAgICAgICAgIGhyZWY9e2l0ZW0uaHJlZn1cbiAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgICAgb25DbGljaz17KFxuICAgICAgICAgICAgICBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD5cbiAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIGl0ZW0pO1xuICAgICAgICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2FyZFxuICAgICAgICAgICAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gICAgICAgICAgICAgIGJvcmRlcj17MX1cbiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I9XCJib3JkZXItdGVydGlhcnlcIlxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICAgICAgICAgIGlzSW50ZXJhY3RpdmVcbiAgICAgICAgICAgICAgcD17MH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPExpdmVMZWFybmluZ0ltYWdlXG4gICAgICAgICAgICAgICAgc3JjPXtnZXRJbWFnZVVybChpdGVtLmlkKX1cbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEZsZXhCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17OH0gcD17MTZ9PlxuICAgICAgICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPntpdGVtLnRleHR9PC9UZXh0PlxuICAgICAgICAgICAgICAgIHsnZGVzY3JpcHRpb24nIGluIGl0ZW0gJiYgPFRleHQ+e2l0ZW0uZGVzY3JpcHRpb259PC9UZXh0Pn1cbiAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQW5jaG9yPlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcbiJdfQ== */",
284
+ styles: "object-fit:cover;width:100%/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyQ2F0YWxvZ0Ryb3Bkb3duL05hdlBhbmVscy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd1VvQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvQXBwSGVhZGVyL0FwcEhlYWRlckVsZW1lbnRzL0FwcEhlYWRlckNhdGFsb2dEcm9wZG93bi9OYXZQYW5lbHMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jaG9yLCBCb3gsIENhcmQsIEZsZXhCb3gsIEdyaWRCb3gsIFRleHQgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dCc7XG5pbXBvcnQgeyBMZXZlbEljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7IENvdXJzZURpZmZpY3VsdHkgfSBmcm9tICcuLi8uLi8uLi9Db250ZW50R3JvdXBCYXNlQ2FyZC90eXBlcyc7XG5pbXBvcnQge1xuICB1c2VHbG9iYWxIZWFkZXJEeW5hbWljRGF0YUNvbnRleHQsXG4gIHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayxcbiAgdXNlSGlnaGxpZ2h0TGl2ZUxlYXJuaW5nQ29udGV4dCxcbn0gZnJvbSAnLi4vLi4vLi4vR2xvYmFsSGVhZGVyL2NvbnRleHQnO1xuaW1wb3J0IHsgbGl2ZUxlYXJuaW5nTmF2UGFuZWxJdGVtcyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jYXRhbG9nTGlzdCc7XG5pbXBvcnQgeyBBcHBIZWFkZXJEaWV0Q2FyZCB9IGZyb20gJy4uL0FwcEhlYWRlckRpZXRDYXJkJztcbmltcG9ydCB7IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCB9IGZyb20gJy4uL0FwcEhlYWRlckRyb3Bkb3duUHJvdmlkZXInO1xuaW1wb3J0IHsgdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9BcHBIZWFkZXJTZWN0aW9uL0FwcEhlYWRlclNlY3Rpb25Db250ZXh0JztcbmltcG9ydCB7IFBhbmVsTGF5b3V0IH0gZnJvbSAnLi4vQXBwSGVhZGVyU2VjdGlvbi9QYW5lbExheW91dCc7XG5pbXBvcnQgeyBTa2lsbFRpbGUgfSBmcm9tICcuLi9BcHBIZWFkZXJTa2lsbFRpbGUnO1xuaW1wb3J0IHtcbiAgQ0VSVElGSUNBVElPTl9QUk9WSURFUlMsXG4gIHBvcHVsYXJMYW5ndWFnZXMsXG4gIHBvcHVsYXJTdWJqZWN0cyxcbn0gZnJvbSAnLi9jb25zdHMnO1xuXG5leHBvcnQgY29uc3QgQ291cnNlVG9waWNzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVySXRlbUNsaWNrIH0gPSB1c2VHbG9iYWxIZWFkZXJJdGVtQ2xpY2soKTtcbiAgY29uc3QgeyB0YWJJbmRleCB9ID0gdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQoKTtcblxuICBjb25zdCBkZXNjcmlwdGlvbiA9IChcbiAgICA8PlxuICAgICAgRXhwbG9yZSBmcmVlIG9yIHBhaWQgY291cnNlcyBpbiBhIHdpZGUgdmFyaWV0eSBvZiB0b3BpY3MuIFdpdGggc29tZXRoaW5nXG4gICAgICBmb3IgZXZlcnkgc2tpbGwgbGV2ZWwsIGl0JmFwb3M7cyBlYXN5IHRvIGZpbmQgYSBjb3Vyc2UgdGhhdCBmaXRzIHlvdXJcbiAgICAgIGdvYWxzLiBOb3Qgc3VyZSB3aGVyZSB0byBzdGFydD8gJm5ic3A7XG4gICAgICA8QW5jaG9yXG4gICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgaHJlZj1cIi93ZWxjb21lL2ZpbmQtYS1jb3Vyc2VcIlxuICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PlxuICAgICAgICAgIGdsb2JhbEhlYWRlckl0ZW1DbGljayhldmVudCwge1xuICAgICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgICAgaHJlZjogJy93ZWxjb21lL2ZpbmQtYS1jb3Vyc2UnLFxuICAgICAgICAgICAgdGV4dDogJ1Rha2UgdGhlIHF1aXonLFxuICAgICAgICAgICAgaWQ6ICd0YWtlLXRoZS1xdWl6JyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIFRha2UgdGhlIHF1aXpcbiAgICAgIDwvQW5jaG9yPlxuICAgIDwvPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiQ291cnNlIHRvcGljc1wiXG4gICAgICBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259XG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZycsXG4gICAgICAgIHRleHQ6ICdFeHBsb3JlIHRoZSBmdWxsIGNhdGFsb2cnLFxuICAgICAgICB0cmFja2luZ1RhcmdldDogJ3RvcG5hdl9jYXRhbG9nJyxcbiAgICAgICAgaWQ6ICdleHBsb3JlLWFsbC1jb3Vyc2VzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFRleHQgdmFyaWFudD1cInAtbGFyZ2VcIiBmb250V2VpZ2h0PXs3MDB9IGFzPVwiaDNcIj5cbiAgICAgICAgUG9wdWxhciBsYW5ndWFnZXNcbiAgICAgIDwvVGV4dD5cbiAgICAgIDxHcmlkQm94XG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3sgXzogJzFmcicsIHhzOiAnMWZyIDFmcicsIG1kOiAnMWZyIDFmciAxZnInIH19XG4gICAgICAgIGdhcD17OH1cbiAgICAgICAgcGw9ezB9XG4gICAgICAgIGFzPVwidWxcIlxuICAgICAgICBsaXN0U3R5bGU9XCJub25lXCJcbiAgICAgICAgbWI9ezI0fVxuICAgICAgPlxuICAgICAgICB7cG9wdWxhckxhbmd1YWdlcy5tYXAoKGl0ZW0pID0+IChcbiAgICAgICAgICA8bGkga2V5PXtpdGVtLmlkfT5cbiAgICAgICAgICAgIDxTa2lsbFRpbGUgaXRlbT17aXRlbX0gLz5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cblxuICAgICAgPFRleHQgdmFyaWFudD1cInAtbGFyZ2VcIiBmb250V2VpZ2h0PXs3MDB9IGFzPVwiaDNcIj5cbiAgICAgICAgUG9wdWxhciBzdWJqZWN0c1xuICAgICAgPC9UZXh0PlxuICAgICAgPEdyaWRCb3hcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucz17eyBfOiAnMWZyJywgeHM6ICcxZnIgMWZyJywgbWQ6ICcxZnIgMWZyIDFmcicgfX1cbiAgICAgICAgZ2FwPXs4fVxuICAgICAgICBwbD17MH1cbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICB7cG9wdWxhclN1YmplY3RzLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxsaSBrZXk9e2l0ZW0uaWR9PlxuICAgICAgICAgICAgPFNraWxsVGlsZSBpdGVtPXtpdGVtfSAvPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC9HcmlkQm94PlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgRGlldENhcmRHcmlkID0gKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8R3JpZEJveFxuICAgICAgYXM9XCJ1bFwiXG4gICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7XG4gICAgICAgIF86ICcxZnInLFxuICAgICAgICBzbTogJ3JlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSknLFxuICAgICAgICBtZDogJ3JlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSknLFxuICAgICAgfX1cbiAgICAgIGdhcD17MTZ9XG4gICAgICBtPXswfVxuICAgICAgcD17MH1cbiAgICAgIGxpc3RTdHlsZVR5cGU9XCJub25lXCJcbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9HcmlkQm94PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENhcmVlclBhdGhzUGFuZWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGEgfSA9IHVzZUdsb2JhbEhlYWRlckR5bmFtaWNEYXRhQ29udGV4dCgpO1xuICBjb25zdCB0b3RhbENhcmVlclBhdGhDb3VudCA9XG4gICAgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5jYXJlZXJQYXRocy50b3RhbENhcmVlclBhdGhDb3VudDtcbiAgY29uc3QgbGlua1RleHQgPSBgRXhwbG9yZSBhbGwke1xuICAgIHRvdGFsQ2FyZWVyUGF0aENvdW50ID8gYCAke3RvdGFsQ2FyZWVyUGF0aENvdW50fWAgOiAnJ1xuICB9IGNhcmVlciBwYXRoc2A7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJDYXJlZXIgcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJDaG9vc2UgeW91ciBjYXJlZXIgYW5kIHdlJ2xsIHRlYWNoIHlvdSB0aGUgc2tpbGxzIHRvIGdldCBqb2ItcmVhZHkuIEVhY2ggQ2FyZWVyIFBhdGggY29udGFpbnMgYSBjdXJhdGVkIGxpc3Qgb2YgbGVzc29ucywgcXVpenplcywgdmlkZW9zLCBhbmQgcHJvamVjdHMgdG8gaGVscCB5b3UgbGVhcm4gYW5kIHByYWN0aWNlIHJlYWwtd29ybGQgc2tpbGxzLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPWNhcmVlci1wYXRoJyxcbiAgICAgICAgdGV4dDogbGlua1RleHQsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfaGVhZGVyX2V4cGxvcmVfYWxsX2NhcmVlcl9wYXRocycsXG4gICAgICAgIGlkOiAnZXhwbG9yZS1hbGwtY2FyZWVyLXBhdGhzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPERpZXRDYXJkR3JpZD5cbiAgICAgICAge2dsb2JhbEhlYWRlckR5bmFtaWNEYXRhPy5jYXRhbG9nRHJvcGRvd24uY2FyZWVyUGF0aHMucHJvbW90ZWRDYXJlZXJQYXRocy5tYXAoXG4gICAgICAgICAgKHBhdGgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBIZWFkZXJEaWV0Q2FyZFxuICAgICAgICAgICAgICAgIGtleT17YCR7cGF0aC50aXRsZX0tY2FyZGB9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3BhdGgudGl0bGV9XG4gICAgICAgICAgICAgICAgaG91cnM9e3BhdGguZHVyYXRpb25Ib3Vyc31cbiAgICAgICAgICAgICAgICBpY29uPXs8TGV2ZWxJY29uIC8+fVxuICAgICAgICAgICAgICAgIGRpZmZpY3VsdHk9e3BhdGguZGlmZmljdWx0eSBhcyBDb3Vyc2VEaWZmaWN1bHR5fVxuICAgICAgICAgICAgICAgIGhyZWY9e3BhdGgudXJsUGF0aH1cbiAgICAgICAgICAgICAgICB0cmFja2luZ1RhcmdldD17YGNhcmVlcnBhdGhfJHtwYXRoLnRpdGxlfWB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgKX1cbiAgICAgIDwvRGlldENhcmRHcmlkPlxuICAgIDwvUGFuZWxMYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgU2tpbGxQYXRoc1BhbmVsID0gKCkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckR5bmFtaWNEYXRhIH0gPSB1c2VHbG9iYWxIZWFkZXJEeW5hbWljRGF0YUNvbnRleHQoKTtcbiAgY29uc3QgdG90YWxTa2lsbFBhdGhDb3VudCA9XG4gICAgZ2xvYmFsSGVhZGVyRHluYW1pY0RhdGE/LmNhdGFsb2dEcm9wZG93bi5za2lsbFBhdGhzLnRvdGFsU2tpbGxQYXRoQ291bnQ7XG4gIGNvbnN0IGxpbmtUZXh0ID0gYEV4cGxvcmUgYWxsJHtcbiAgICB0b3RhbFNraWxsUGF0aENvdW50ID8gYCAke3RvdGFsU2tpbGxQYXRoQ291bnR9YCA6ICcnXG4gIH0gc2tpbGwgcGF0aHNgO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiU2tpbGwgcGF0aHNcIlxuICAgICAgZGVzY3JpcHRpb249XCJCdWlsZCBpbiBkZW1hbmQgc2tpbGxzIGZhc3Qgd2l0aCBhIHNob3J0LCBjdXJhdGVkIHBhdGguIEVhY2ggb25lIGluY2x1ZGVzIGludGVyYWN0aXZlIGNvbnRlbnQgdG8gaGVscCB5b3UgbGVhcm4gYW5kIGFwcGx5IHlvdXIgbmV3IHNraWxsIGluIGp1c3QgYSBmZXcgbW9udGhzLlwiXG4gICAgICBsaW5rSXRlbT17e1xuICAgICAgICB0eXBlOiAnbGluaycsXG4gICAgICAgIGhyZWY6ICcvY2F0YWxvZz90eXBlPXNraWxsLXBhdGgnLFxuICAgICAgICB0ZXh0OiBsaW5rVGV4dCxcbiAgICAgICAgdHJhY2tpbmdUYXJnZXQ6ICd0b3BuYXZfY2F0YWxvZ19oZWFkZXJfZXhwbG9yZV9hbGxfc2tpbGxfcGF0aHMnLFxuICAgICAgICBpZDogJ2V4cGxvcmUtYWxsLXNraWxsLXBhdGhzJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPERpZXRDYXJkR3JpZD5cbiAgICAgICAge2dsb2JhbEhlYWRlckR5bmFtaWNEYXRhPy5jYXRhbG9nRHJvcGRvd24uc2tpbGxQYXRocy5wcm9tb3RlZFNraWxsUGF0aHMubWFwKFxuICAgICAgICAgIChwYXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8QXBwSGVhZGVyRGlldENhcmRcbiAgICAgICAgICAgICAgICBrZXk9e2Ake3BhdGgudGl0bGV9LWNhcmRgfVxuICAgICAgICAgICAgICAgIHRpdGxlPXtwYXRoLnRpdGxlfVxuICAgICAgICAgICAgICAgIGhvdXJzPXtwYXRoLmR1cmF0aW9uSG91cnN9XG4gICAgICAgICAgICAgICAgaWNvbj17PExldmVsSWNvbiAvPn1cbiAgICAgICAgICAgICAgICBkaWZmaWN1bHR5PXtwYXRoLmRpZmZpY3VsdHkgYXMgQ291cnNlRGlmZmljdWx0eX1cbiAgICAgICAgICAgICAgICBocmVmPXtwYXRoLnVybFBhdGh9XG4gICAgICAgICAgICAgICAgdHJhY2tpbmdUYXJnZXQ9e2Bza2lsbF8ke3BhdGgudGl0bGV9YH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICApfVxuICAgICAgPC9EaWV0Q2FyZEdyaWQ+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDZXJ0aWZpY2F0aW9uUHJvdmlkZXJMb2dvVXJsID0gKGZpbGVOYW1lOiBzdHJpbmcpID0+XG4gIGBodHRwczovL3N0YXRpYy1hc3NldHMuY29kZWNhZGVteS5jb20vYXNzZXRzL2NlcnRpZmljYXRpb24tcHJvdmlkZXItbG9nb3MvY2F0YWxvZy1kcm9wZG93bi92Mi8ke2ZpbGVOYW1lfWA7XG5cbmNvbnN0IEltYWdlID0gQm94LndpdGhDb21wb25lbnQoJ2ltZycpO1xuXG5jb25zdCBHcmF5c2NhbGVUb0NvbG9ySG92ZXJMaW5rID0gc3R5bGVkKEFuY2hvcik8e1xuICBvdmVycmlkZUltZ0ZpbHRlcnM/OiBib29sZWFuO1xufT5gXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWydib3JkZXItdGVydGlhcnknXX07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2Utb3V0O1xuICBpbWcge1xuICAgIGZpbHRlcjogJHsoeyBvdmVycmlkZUltZ0ZpbHRlcnMgfSkgPT5cbiAgICAgIG92ZXJyaWRlSW1nRmlsdGVycyA/ICdjb250cmFzdCg1KScgOiAnYnJpZ2h0bmVzcygwLjI1KSd9O1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAwLjJzIGVhc2Utb3V0O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgIGltZyB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMSk7XG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMuaHlwZXJ9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTEwMCddfTtcbiAgfVxuYDtcblxuY29uc3QgUHJvdmlkZXJUaWxlID0gKHtcbiAgbmFtZSxcbiAgaHJlZixcbiAgaW1nU3JjLFxuICB0YWJJbmRleCxcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBocmVmOiBzdHJpbmc7XG4gIGltZ1NyYzogc3RyaW5nO1xuICB0YWJJbmRleDogbnVtYmVyO1xufSkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG4gIGNvbnN0IHsgaGFuZGxlQ2xvc2UgfSA9IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCgpO1xuXG4gIGNvbnN0IGxvd2VyY2FzZWRQcm92aWRlck5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8R3JheXNjYWxlVG9Db2xvckhvdmVyTGlua1xuICAgICAgaHJlZj17aHJlZn1cbiAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAga2V5PXtuYW1lfVxuICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIGhlaWdodD17NDh9XG4gICAgICBwPXs4fVxuICAgICAgZGlzcGxheT1cImJsb2NrXCJcbiAgICAgIG9uQ2xpY2s9eyhldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICAgIGlkOiBgdG9wbmF2X2NhdGFsb2dfY2VydF8ke2xvd2VyY2FzZWRQcm92aWRlck5hbWV9YCxcbiAgICAgICAgICBocmVmLFxuICAgICAgICAgIHRleHQ6IG5hbWUsXG4gICAgICAgICAgdHJhY2tpbmdUYXJnZXQ6IGB0b3BuYXZfY2F0YWxvZ19jZXJ0XyR7bG93ZXJjYXNlZFByb3ZpZGVyTmFtZX1gLFxuICAgICAgICB9KTtcbiAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgIH19XG4gICAgICBvdmVycmlkZUltZ0ZpbHRlcnM9e25hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2t1YmVybmV0ZXMnfVxuICAgID5cbiAgICAgIDxJbWFnZSBzcmM9e2ltZ1NyY30gYWx0PXtuYW1lfSBkaXNwbGF5PVwiYmxvY2tcIiBtPVwiYXV0b1wiIC8+XG4gICAgPC9HcmF5c2NhbGVUb0NvbG9ySG92ZXJMaW5rPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IENlcnRpZmljYXRpb25QYXRoc1BhbmVsID0gKCkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckR5bmFtaWNEYXRhIH0gPSB1c2VHbG9iYWxIZWFkZXJEeW5hbWljRGF0YUNvbnRleHQoKTtcbiAgY29uc3QgeyB0YWJJbmRleCB9ID0gdXNlQXBwSGVhZGVyU2VjdGlvbkNvbnRleHQoKTtcbiAgY29uc3QgdG90YWxDZXJ0aWZpY2F0aW9uUGF0aENvdW50ID1cbiAgICBnbG9iYWxIZWFkZXJEeW5hbWljRGF0YT8uY2F0YWxvZ0Ryb3Bkb3duLmNlcnRpZmljYXRpb25QYXRoc1xuICAgICAgLnRvdGFsQ2VydGlmaWNhdGlvblBhdGhDb3VudDtcbiAgY29uc3QgbGlua1RleHQgPSBgRXhwbG9yZSBhbGwke1xuICAgIHRvdGFsQ2VydGlmaWNhdGlvblBhdGhDb3VudCA/IGAgJHt0b3RhbENlcnRpZmljYXRpb25QYXRoQ291bnR9YCA6ICcnXG4gIH0gY2VydGlmaWNhdGlvbiBwYXRoc2A7XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZWxMYXlvdXRcbiAgICAgIGhlYWRpbmc9XCJDZXJ0aWZpY2F0aW9uIHBhdGhzXCJcbiAgICAgIGRlc2NyaXB0aW9uPVwiUHJlcGFyZSBmb3IgdG9wIGluZHVzdHJ5IGNlcnRpZmljYXRpb25zIHdpdGggYSBndWlkZWQgcGF0aC4gRWFjaCBvbmUgaW5jbHVkZXMgZXhwZXJ0LXJldmlld2VkIGxlc3NvbnMsIGhhbmRzLW9uIHByb2plY3RzLCBhbmQgcHJhY3RpY2UgdGVzdHMgdG8gaGVscCB5b3UgcGFzcyB0aGUgZXhhbS5cIlxuICAgICAgbGlua0l0ZW09e3tcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgICBocmVmOiAnL2NhdGFsb2cvY2VydGlmaWNhdGlvbi1wcmVwJyxcbiAgICAgICAgdGV4dDogbGlua1RleHQsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfaGVhZGVyX2V4cGxvcmVfYWxsX2NlcnRpZmljYXRpb25fcGF0aHMnLFxuICAgICAgICBpZDogJ2V4cGxvcmUtYWxsLWNlcnRpZmljYXRpb24tcGF0aHMnLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8VGV4dCBhcz1cImgzXCIgZm9udFNpemU9ezE4fSBmb250V2VpZ2h0PVwiYm9sZFwiPlxuICAgICAgICBQcm92aWRlcnNcbiAgICAgIDwvVGV4dD5cbiAgICAgIDxHcmlkQm94XG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM9e3tcbiAgICAgICAgICBfOiAnMWZyJyxcbiAgICAgICAgICB4czogJ3JlcGVhdCgyLCAxZnIpJyxcbiAgICAgICAgICBzbTogJ3JlcGVhdCgzLCAxZnIpJyxcbiAgICAgICAgICBtZDogJ3JlcGVhdCg0LCAxZnIpJyxcbiAgICAgICAgfX1cbiAgICAgICAgZ2FwPXsxNn1cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGxpc3RTdHlsZT1cIm5vbmVcIlxuICAgICAgICBwPXswfVxuICAgICAgICBtPXswfVxuICAgICAgPlxuICAgICAgICB7Q0VSVElGSUNBVElPTl9QUk9WSURFUlMubWFwKCh7IG5hbWUsIGxvZ29VcmwsIGh1YlR5cGUgfSkgPT4gKFxuICAgICAgICAgIDxCb3ggYXM9XCJsaVwiIGtleT17bmFtZX0gd2lkdGg9XCIxMDAlXCI+XG4gICAgICAgICAgICA8UHJvdmlkZXJUaWxlXG4gICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgIGhyZWY9e1xuICAgICAgICAgICAgICAgIGh1YlR5cGUgPT09ICdzdWJodWInXG4gICAgICAgICAgICAgICAgICA/IGAvc2VhcmNoP3F1ZXJ5PSR7bmFtZX0gY2VydGlmaWNhdGlvbnNgXG4gICAgICAgICAgICAgICAgICA6IGAvY2F0YWxvZy9jZXJ0aWZpY2F0aW9uLXByZXA/cHJvdmlkZXI9JHtuYW1lLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGltZ1NyYz17bG9nb1VybH1cbiAgICAgICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKSl9XG4gICAgICA8L0dyaWRCb3g+XG4gICAgPC9QYW5lbExheW91dD5cbiAgKTtcbn07XG5cbmNvbnN0IExpdmVMZWFybmluZ0ltYWdlID0gc3R5bGVkLmltZ2BcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuZXhwb3J0IGNvbnN0IExpdmVMZWFybmluZ1BhbmVsID0gKCkgPT4ge1xuICBjb25zdCB7IGdsb2JhbEhlYWRlckl0ZW1DbGljayB9ID0gdXNlR2xvYmFsSGVhZGVySXRlbUNsaWNrKCk7XG4gIGNvbnN0IGdldEltYWdlVXJsID0gKGlkOiBzdHJpbmcpID0+XG4gICAgYGh0dHBzOi8vc3RhdGljLWFzc2V0cy5jb2RlY2FkZW15LmNvbS9hc3NldHMvY29tcG9uZW50cy9jYXJkcy9nbG9iYWwtaGVhZGVyL2xpdmUtbGVhcm5pbmcvdjEvJHtpZH0ud2VicGA7XG4gIGNvbnN0IHsgaGFuZGxlQ2xvc2UgfSA9IHVzZUFwcEhlYWRlckRyb3Bkb3duQ29udGV4dCgpO1xuICBjb25zdCB7IHRhYkluZGV4IH0gPSB1c2VBcHBIZWFkZXJTZWN0aW9uQ29udGV4dCgpO1xuICBjb25zdCBkaXNwbGF5SGlnaGxpZ2h0TGl2ZUxlYXJuaW5nID0gdXNlSGlnaGxpZ2h0TGl2ZUxlYXJuaW5nQ29udGV4dCgpO1xuXG4gIHJldHVybiAoXG4gICAgPFBhbmVsTGF5b3V0XG4gICAgICBoZWFkaW5nPVwiTGl2ZSBsZWFybmluZ1wiXG4gICAgICBkZXNjcmlwdGlvbj17bGl2ZUxlYXJuaW5nTmF2UGFuZWxJdGVtcy5kZXNjcmlwdGlvbn1cbiAgICAgIGxpbmtJdGVtPXt7XG4gICAgICAgIHR5cGU6ICdsaW5rJyxcbiAgICAgICAgaHJlZjogJy9saXZlLWxlYXJuaW5nJyxcbiAgICAgICAgdGV4dDogJ0xlYXJuIG1vcmUgYWJvdXQgbGl2ZSBsZWFybmluZycsXG4gICAgICAgIHRyYWNraW5nVGFyZ2V0OiAndG9wbmF2X2NhdGFsb2dfaGVhZGVyX2V4cGxvcmVfYWxsX2xpdmVfbGVhcm5pbmcnLFxuICAgICAgICBpZDogJ2xlYXJuLW1vcmUtYWJvdXQtbGl2ZS1sZWFybmluZycsXG4gICAgICB9fVxuICAgICAgc2hvd1BvcHVsYXJCYWRnZT17ZGlzcGxheUhpZ2hsaWdodExpdmVMZWFybmluZ31cbiAgICA+XG4gICAgICA8R3JpZEJveFxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zPXt7IF86ICcxZnInLCBtZDogJ3JlcGVhdCgyLCAxZnIpJyB9fVxuICAgICAgICBnYXA9ezE2fVxuICAgICAgPlxuICAgICAgICB7bGl2ZUxlYXJuaW5nTmF2UGFuZWxJdGVtcy5kYXRhLm1hcCgoaXRlbSkgPT4gKFxuICAgICAgICAgIDxBbmNob3JcbiAgICAgICAgICAgIGhyZWY9e2l0ZW0uaHJlZn1cbiAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgICAgb25DbGljaz17KFxuICAgICAgICAgICAgICBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD5cbiAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICBnbG9iYWxIZWFkZXJJdGVtQ2xpY2soZXZlbnQsIGl0ZW0pO1xuICAgICAgICAgICAgICBoYW5kbGVDbG9zZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2FyZFxuICAgICAgICAgICAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gICAgICAgICAgICAgIGJvcmRlcj17MX1cbiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I9XCJib3JkZXItdGVydGlhcnlcIlxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9XCJsZ1wiXG4gICAgICAgICAgICAgIGlzSW50ZXJhY3RpdmVcbiAgICAgICAgICAgICAgcD17MH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPExpdmVMZWFybmluZ0ltYWdlXG4gICAgICAgICAgICAgICAgc3JjPXtnZXRJbWFnZVVybChpdGVtLmlkKX1cbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEZsZXhCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17OH0gcD17MTZ9PlxuICAgICAgICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPntpdGVtLnRleHR9PC9UZXh0PlxuICAgICAgICAgICAgICAgIHsnZGVzY3JpcHRpb24nIGluIGl0ZW0gJiYgPFRleHQ+e2l0ZW0uZGVzY3JpcHRpb259PC9UZXh0Pn1cbiAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQW5jaG9yPlxuICAgICAgICApKX1cbiAgICAgIDwvR3JpZEJveD5cbiAgICA8L1BhbmVsTGF5b3V0PlxuICApO1xufTtcbiJdfQ== */",
284
285
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
285
286
  });
286
287
  export const LiveLearningPanel = () => {
@@ -6,7 +6,6 @@ export type NavSectionConfig = {
6
6
  tabIndex?: number;
7
7
  }>;
8
8
  };
9
- export declare const getCertificationProviderLogoUrl: (fileName: string) => string;
10
9
  export declare const CATALOG_NAV_SECTIONS: NavSectionConfig[];
11
10
  export declare const HIGHLIGHT_LIVE_LEARNING_CATALOG_NAV_SECTIONS: NavSectionConfig[];
12
11
  export declare const getCatalogNavSections: (displayHighlightLiveLearning: boolean) => NavSectionConfig[];
@@ -1,6 +1,5 @@
1
1
  import { ArtificialIntelligenceIcon, BookLibraryIcon, BriefcaseIcon, CIcon, CloudComputingIcon, CPlusIcon, CSharpIcon, CybersecurityIcon, DataEngineeringIcon, DataScienceIcon, GrowthIcon, HtmlCssIcon, JavaIcon, JavascriptIcon, OnlineClassStudentIcon, PhpIcon, ProfessionalCertificateIcon, ProgrammingBrowserIcon, PythonIcon, SqlIcon, StudyBookIcon, WebDesignIcon, WebDevelopmentIcon } from '@codecademy/gamut-icons';
2
- import { CareerPathsPanel, CertificationPathsPanel, CourseTopicsPanel, LiveLearningPanel, SkillPathsPanel } from './NavPanels';
3
- export const getCertificationProviderLogoUrl = fileName => `https://static-assets.codecademy.com/assets/certification-provider-logos/catalog-dropdown/v2/${fileName}`;
2
+ import { CareerPathsPanel, CertificationPathsPanel, CourseTopicsPanel, getCertificationProviderLogoUrl, LiveLearningPanel, SkillPathsPanel } from './NavPanels';
4
3
  export const CATALOG_NAV_SECTIONS = [{
5
4
  item: {
6
5
  icon: StudyBookIcon,
@@ -0,0 +1,193 @@
1
+ import { setupRtl } from '@codecademy/gamut-tests';
2
+ import userEvent from '@testing-library/user-event';
3
+ import React from 'react';
4
+ import { GlobalHeaderDynamicDataContext, GlobalHeaderItemClickContext } from '../../../GlobalHeader/context';
5
+ import { CATALOG_NAV_SECTIONS } from '../AppHeaderCatalogDropdown/consts';
6
+ import { MarketingBanner } from '../AppHeaderCatalogDropdown/MarketingBanner';
7
+ import { AppHeaderSection } from '.';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const mockOnClick = jest.fn();
10
+ const mockKeyDownEvents = jest.fn();
11
+ const mockItem = {
12
+ text: 'catalog',
13
+ id: 'the-catalog',
14
+ type: 'catalog-dropdown',
15
+ trackingTarget: 'catalog-dropdown'
16
+ };
17
+ const defaultProps = {
18
+ item: mockItem,
19
+ isOpen: true,
20
+ keyDownEvents: mockKeyDownEvents
21
+ };
22
+ const mockContextValue = {
23
+ globalHeaderItemClick: mockOnClick
24
+ };
25
+ const mockDataContextValue = {
26
+ globalHeaderDynamicData: {
27
+ catalogDropdown: {
28
+ banner: {
29
+ href: 'https://example.com',
30
+ text: 'Test banner text'
31
+ },
32
+ skillPaths: {
33
+ totalSkillPathCount: 0,
34
+ promotedSkillPaths: []
35
+ },
36
+ careerPaths: {
37
+ totalCareerPathCount: 0,
38
+ promotedCareerPaths: []
39
+ },
40
+ certificationPaths: {
41
+ totalCertificationPathCount: 0
42
+ }
43
+ }
44
+ }
45
+ };
46
+ describe('AppHeaderSection', () => {
47
+ const createWrapper = (dataContextValue = mockDataContextValue) => ({
48
+ children
49
+ }) => /*#__PURE__*/_jsx(GlobalHeaderDynamicDataContext.Provider, {
50
+ value: dataContextValue,
51
+ children: /*#__PURE__*/_jsx(GlobalHeaderItemClickContext.Provider, {
52
+ value: mockContextValue,
53
+ children: children
54
+ })
55
+ });
56
+ const renderView = setupRtl(AppHeaderSection, defaultProps).options({
57
+ wrapper: createWrapper()
58
+ });
59
+ it('renders the component ', () => {
60
+ const {
61
+ view
62
+ } = renderView({
63
+ navSections: CATALOG_NAV_SECTIONS,
64
+ handleClose: jest.fn(),
65
+ type: 'catalog-dropdown'
66
+ });
67
+ expect(view.getByRole('heading', {
68
+ name: 'Course topics'
69
+ })).toBeInTheDocument();
70
+ });
71
+ describe('marketing banner', () => {
72
+ const createRenderView = bannerData => setupRtl(AppHeaderSection, defaultProps).options({
73
+ wrapper: createWrapper({
74
+ globalHeaderDynamicData: {
75
+ catalogDropdown: {
76
+ banner: bannerData,
77
+ skillPaths: {
78
+ totalSkillPathCount: 0,
79
+ promotedSkillPaths: []
80
+ },
81
+ careerPaths: {
82
+ totalCareerPathCount: 0,
83
+ promotedCareerPaths: []
84
+ },
85
+ certificationPaths: {
86
+ totalCertificationPathCount: 0
87
+ }
88
+ }
89
+ }
90
+ })
91
+ });
92
+ it('renders the marketing banner when the banner text and href are present', () => {
93
+ const {
94
+ view
95
+ } = renderView({
96
+ navSections: CATALOG_NAV_SECTIONS,
97
+ handleClose: jest.fn(),
98
+ type: 'catalog-dropdown',
99
+ MarketingBanner
100
+ });
101
+ expect(view.getByText('Test banner text')).toBeInTheDocument();
102
+ });
103
+ it('does not render the marketing banner when the banner href is empty', () => {
104
+ const {
105
+ view
106
+ } = createRenderView({
107
+ href: '',
108
+ text: 'Test banner text'
109
+ })({
110
+ navSections: CATALOG_NAV_SECTIONS,
111
+ handleClose: jest.fn(),
112
+ type: 'catalog-dropdown',
113
+ MarketingBanner
114
+ });
115
+ expect(view.queryByText('Test banner text')).not.toBeInTheDocument();
116
+ expect(view.queryByTestId('marketing-banner')).not.toBeInTheDocument();
117
+ });
118
+ it('does not render the marketing banner when the banner text is empty', () => {
119
+ const {
120
+ view
121
+ } = createRenderView({
122
+ href: 'https://example.com',
123
+ text: ''
124
+ })({
125
+ navSections: CATALOG_NAV_SECTIONS,
126
+ handleClose: jest.fn(),
127
+ type: 'catalog-dropdown',
128
+ MarketingBanner
129
+ });
130
+ expect(view.queryByTestId('marketing-banner')).not.toBeInTheDocument();
131
+ });
132
+ it('does not render the marketing banner when the banner text is empty', () => {
133
+ const {
134
+ view
135
+ } = createRenderView({
136
+ href: 'https://example.com',
137
+ text: ''
138
+ })({
139
+ navSections: CATALOG_NAV_SECTIONS,
140
+ handleClose: jest.fn(),
141
+ type: 'catalog-dropdown',
142
+ MarketingBanner
143
+ });
144
+ expect(view.queryByText('Test banner text')).not.toBeInTheDocument();
145
+ });
146
+ });
147
+ describe('tab navigation', () => {
148
+ it('starts with the first tab active by default', () => {
149
+ const {
150
+ view
151
+ } = renderView({
152
+ navSections: CATALOG_NAV_SECTIONS,
153
+ handleClose: jest.fn(),
154
+ type: 'catalog-dropdown'
155
+ });
156
+ const courseTopicsButton = view.getByTestId('nav-section-course-topics');
157
+ expect(courseTopicsButton).toHaveAttribute('aria-expanded', 'true');
158
+ });
159
+ it('switches active tab when clicking on different sections', async () => {
160
+ const {
161
+ view
162
+ } = renderView({
163
+ navSections: CATALOG_NAV_SECTIONS,
164
+ handleClose: jest.fn(),
165
+ type: 'catalog-dropdown'
166
+ });
167
+ const careerPathsButton = view.getByTestId('nav-section-career-paths');
168
+ await userEvent.click(careerPathsButton);
169
+ expect(careerPathsButton).toHaveAttribute('aria-expanded', 'true');
170
+ const courseTopicsButton = view.getByTestId('nav-section-course-topics');
171
+ expect(courseTopicsButton).toHaveAttribute('aria-expanded', 'false');
172
+ });
173
+ it('calls tracking with correct parameters when clicking nav section', async () => {
174
+ const {
175
+ view
176
+ } = renderView({
177
+ navSections: CATALOG_NAV_SECTIONS,
178
+ handleClose: jest.fn(),
179
+ type: 'catalog-dropdown'
180
+ });
181
+ const careerPathsButton = view.getByTestId('nav-section-career-paths');
182
+ await userEvent.click(careerPathsButton);
183
+ expect(mockOnClick).toHaveBeenCalledTimes(1);
184
+ expect(mockOnClick).toHaveBeenCalledWith(expect.anything(),
185
+ // event object
186
+ expect.objectContaining({
187
+ id: 'career-paths',
188
+ type: 'catalog-dropdown'
189
+ }) // tracking parameters
190
+ );
191
+ });
192
+ });
193
+ });
@@ -1,4 +1,29 @@
1
1
  import React from 'react';
2
+ export declare const NavIconButton: import("@emotion/styled").StyledComponent<((Omit<Omit<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
+ } & {
6
+ theme?: import("@emotion/react").Theme | undefined;
7
+ } & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "disabled" | "content" | "translate" | "property" | "hidden" | "form" | "slot" | "style" | "title" | "suppressHydrationWarning" | "className" | "id" | "lang" | "name" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | keyof React.ClassAttributes<HTMLButtonElement> | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value">, "ref"> & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement> & {
8
+ theme?: import("@emotion/react").Theme | undefined;
9
+ } & import("@codecademy/gamut/dist/Button/shared").ButtonBaseProps & import("@codecademy/gamut").IconComponentType & {
10
+ 'aria-label'?: string | undefined;
11
+ tip: string;
12
+ tipProps?: Omit<import("@codecademy/gamut").ToolTipProps, "children" | "info"> | undefined;
13
+ }, "ref"> | Omit<Omit<{
14
+ theme?: import("@emotion/react").Theme | undefined;
15
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
16
+ } & {
17
+ theme?: import("@emotion/react").Theme | undefined;
18
+ } & Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "disabled" | "content" | "translate" | "property" | "hidden" | "form" | "slot" | "style" | "title" | "suppressHydrationWarning" | "className" | "id" | "lang" | "name" | "type" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | keyof React.ClassAttributes<HTMLButtonElement> | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value"> & Pick<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "content" | "translate" | "property" | "hidden" | "slot" | "style" | "title" | "suppressHydrationWarning" | "className" | "id" | "lang" | "media" | "target" | "type" | "role" | "tabIndex" | "href" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | keyof React.ClassAttributes<HTMLAnchorElement> | "download" | "hrefLang" | "ping" | "referrerPolicy">, "ref"> & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement> & {
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ } & import("@codecademy/gamut/dist/Button/shared").ButtonBaseProps & import("@codecademy/gamut").IconComponentType & {
21
+ 'aria-label'?: string | undefined;
22
+ tip: string;
23
+ tipProps?: Omit<import("@codecademy/gamut").ToolTipProps, "children" | "info"> | undefined;
24
+ }, "ref">) & React.RefAttributes<import("@codecademy/gamut").ButtonBaseElements>) & {
25
+ theme?: import("@emotion/react").Theme;
26
+ }, {}, {}>;
2
27
  export type MobileBackButtonProps = {
3
28
  handleClose: () => void;
4
29
  type: 'catalog-dropdown' | 'resources-dropdown';
@@ -1,9 +1,19 @@
1
- import { Box, FlexBox, Text } from '@codecademy/gamut';
1
+ import _styled from "@emotion/styled/base";
2
+ import { Box, FlexBox, IconButton, Text } from '@codecademy/gamut';
2
3
  import { ArrowLeftIcon } from '@codecademy/gamut-icons';
3
4
  import React from 'react';
4
5
  import { useGlobalHeaderItemClick } from '../../../GlobalHeader/context';
5
- import { NavIconButton, NavigationButton, SmallMenuButton } from './elements';
6
+ import { SmallMenuButton } from './elements';
7
+ import { NavigationButton } from './NavSection';
6
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ export const NavIconButton = /*#__PURE__*/_styled(IconButton, {
10
+ target: "ew664c00",
11
+ label: "NavIconButton"
12
+ })("&:hover,&:focus svg{&:hover,&:focus{color:", ({
13
+ theme
14
+ }) => theme.colors.primary, ";background-color:", ({
15
+ theme
16
+ }) => theme.colors['navy-100'], ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BcHBIZWFkZXIvQXBwSGVhZGVyRWxlbWVudHMvQXBwSGVhZGVyU2VjdGlvbi9Nb2JpbGVCYWNrQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL0FwcEhlYWRlci9BcHBIZWFkZXJFbGVtZW50cy9BcHBIZWFkZXJTZWN0aW9uL01vYmlsZUJhY2tCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm94LCBGbGV4Qm94LCBJY29uQnV0dG9uLCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgQXJyb3dMZWZ0SWNvbiB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0LWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljayB9IGZyb20gJy4uLy4uLy4uL0dsb2JhbEhlYWRlci9jb250ZXh0JztcbmltcG9ydCB7IFNtYWxsTWVudUJ1dHRvbiB9IGZyb20gJy4vZWxlbWVudHMnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkJ1dHRvbiB9IGZyb20gJy4vTmF2U2VjdGlvbic7XG5cbmV4cG9ydCBjb25zdCBOYXZJY29uQnV0dG9uID0gc3R5bGVkKEljb25CdXR0b24pYFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHN2ZyB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5fTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzWyduYXZ5LTEwMCddfTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIE1vYmlsZUJhY2tCdXR0b25Qcm9wcyA9IHtcbiAgaGFuZGxlQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIHR5cGU6ICdjYXRhbG9nLWRyb3Bkb3duJyB8ICdyZXNvdXJjZXMtZHJvcGRvd24nO1xufTtcblxuZXhwb3J0IGNvbnN0IE1vYmlsZUJhY2tCdXR0b246IFJlYWN0LkZDPE1vYmlsZUJhY2tCdXR0b25Qcm9wcz4gPSAoe1xuICBoYW5kbGVDbG9zZSxcbiAgdHlwZSxcbn0pID0+IHtcbiAgY29uc3QgeyBnbG9iYWxIZWFkZXJJdGVtQ2xpY2sgfSA9IHVzZUdsb2JhbEhlYWRlckl0ZW1DbGljaygpO1xuXG4gIGNvbnN0IGhhbmRsZUJhY2tCdXR0b25DbGljayA9IChcbiAgICBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD5cbiAgKSA9PiB7XG4gICAgZ2xvYmFsSGVhZGVySXRlbUNsaWNrKGV2ZW50LCB7XG4gICAgICBpZDogJ2JhY2snLFxuICAgICAgdGV4dDogJ0JhY2snLFxuICAgICAgdHlwZSxcbiAgICB9KTtcbiAgICBoYW5kbGVDbG9zZSgpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxCb3ggZGlzcGxheT17eyBfOiAnbm9uZScsIHNtOiAnYmxvY2snIH19PlxuICAgICAgICA8TmF2aWdhdGlvbkJ1dHRvblxuICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICBpbmRleD17MH1cbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVCYWNrQnV0dG9uQ2xpY2t9XG4gICAgICAgID5cbiAgICAgICAgICA8RmxleEJveCBnYXA9ezh9IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxCb3ggaGVpZ2h0PXsyNH0gd2lkdGg9ezI0fT5cbiAgICAgICAgICAgICAgPEFycm93TGVmdEljb24gc2l6ZT17MjR9IC8+XG4gICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgIDxUZXh0PkJhY2s8L1RleHQ+XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8L05hdmlnYXRpb25CdXR0b24+XG4gICAgICA8L0JveD5cbiAgICAgIDxCb3hcbiAgICAgICAgZGlzcGxheT17eyBfOiAnbm9uZScsIHhzOiAnZ3JpZCcsIHNtOiAnbm9uZScgfX1cbiAgICAgICAgbWw9ezh9XG4gICAgICAgIGdyaWRDb2x1bW49XCIxXCJcbiAgICAgICAgZ3JpZFJvdz1cIjFcIlxuICAgICAgPlxuICAgICAgICA8TmF2SWNvbkJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUJhY2tCdXR0b25DbGlja31cbiAgICAgICAgICBpY29uPXtBcnJvd0xlZnRJY29ufVxuICAgICAgICAgIHRpcD1cIkJhY2sgdG8gbWFpbiBuYXZpZ2F0aW9uXCJcbiAgICAgICAgICB0aXBQcm9wcz17e1xuICAgICAgICAgICAgYWxpZ25tZW50OiAncmlnaHQtY2VudGVyJyxcbiAgICAgICAgICAgIG5hcnJvdzogZmFsc2UsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdmbG9hdGluZycsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQmFjayB0byBtYWluIG5hdmlnYXRpb25cIlxuICAgICAgICAvPlxuICAgICAgPC9Cb3g+XG4gICAgICA8Qm94IGRpc3BsYXk9e3sgXzogJ2ZsZXgnLCB4czogJ25vbmUnIH19PlxuICAgICAgICA8U21hbGxNZW51QnV0dG9uIGluZGV4PXswfSBvbkNsaWNrPXtoYW5kbGVCYWNrQnV0dG9uQ2xpY2t9PlxuICAgICAgICAgIDxGbGV4Qm94IGdhcD17OH0gYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgPEJveCBoZWlnaHQ9ezI0fSB3aWR0aD17MjR9PlxuICAgICAgICAgICAgICA8QXJyb3dMZWZ0SWNvbiBzaXplPXsyNH0gLz5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgPFRleHQ+QmFjazwvVGV4dD5cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDwvU21hbGxNZW51QnV0dG9uPlxuICAgICAgPC9Cb3g+XG4gICAgPC8+XG4gICk7XG59O1xuIl19 */"));
7
17
  export const MobileBackButton = ({
8
18
  handleClose,
9
19
  type
@@ -27,6 +37,7 @@ export const MobileBackButton = ({
27
37
  },
28
38
  children: /*#__PURE__*/_jsx(NavigationButton, {
29
39
  isActive: false,
40
+ index: 0,
30
41
  onClick: handleBackButtonClick,
31
42
  children: /*#__PURE__*/_jsxs(FlexBox, {
32
43
  gap: 8,