{"version":3,"sources":["webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/regenerator/index.js","webpack://gatsby-starter-default/./node_modules/@gumgum/react-script-tag/dist/react-script-tag.m.js","webpack://gatsby-starter-default/./node_modules/@mapbox/point-geometry/index.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaAngleDown.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaAngleUp.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaArrowRight.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaArrowUp.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaChevronLeft.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaChevronRight.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaFilePdf.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaGraduationCap.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaMapMarkerAlt.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaSearch.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/fa/FaUser.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/lib/esm/iconsManifest.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/lib/esm/iconContext.js","webpack://gatsby-starter-default/./node_modules/@react-icons/all-files/lib/esm/iconBase.js","webpack://gatsby-starter-default/./node_modules/any-base/index.js","webpack://gatsby-starter-default/./node_modules/any-base/src/converter.js","webpack://gatsby-starter-default/./node_modules/bail/index.js","webpack://gatsby-starter-default/./node_modules/classnames/index.js","webpack://gatsby-starter-default/./node_modules/comma-separated-tokens/index.js","webpack://gatsby-starter-default/./node_modules/eventemitter3/index.js","webpack://gatsby-starter-default/./node_modules/extend/index.js","webpack://gatsby-starter-default/./node_modules/filter-invalid-dom-props/dist/index.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://gatsby-starter-default/./node_modules/gbimage-bridge/dist/index.modern.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://gatsby-starter-default/./node_modules/html-attributes/lib/html-attributes.js","webpack://gatsby-starter-default/./node_modules/inline-style-parser/index.js","webpack://gatsby-starter-default/./node_modules/is-buffer/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-definitions/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-from-markdown/dist/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-from-markdown/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/all.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/footer.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/footnote.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/index.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/one.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/revert.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-hast/lib/wrap.js","webpack://gatsby-starter-default/./node_modules/mdast-util-to-string/index.js","webpack://gatsby-starter-default/./node_modules/mdurl/encode.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-alpha.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-alphanumeric.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-atext.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-control.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-digit.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-hex-digit.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/ascii-punctuation.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/markdown-line-ending-or-space.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/markdown-line-ending.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/markdown-space.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/unicode-punctuation.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/character/unicode-whitespace.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/assign.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/from-char-code.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/has-own-property.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/html-block-names.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/html-raw-names.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/splice.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constant/unicode-punctuation-regex.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/constructs.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/initialize/content.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/initialize/document.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/initialize/flow.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/initialize/text.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/parse.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/postprocess.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/preprocess.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/attention.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/autolink.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/block-quote.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/character-escape.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/character-reference.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/code-fenced.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/code-indented.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/code-text.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/content.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/definition.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/factory-destination.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/factory-label.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/factory-space.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/factory-title.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/factory-whitespace.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/hard-break-escape.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/heading-atx.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/html-flow.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/html-text.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/label-end.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/label-start-image.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/label-start-link.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/line-ending.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/list.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/partial-blank-line.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/setext-underline.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/tokenize/thematic-break.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/chunked-push.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/chunked-splice.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/classify-character.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/combine-extensions.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/create-tokenizer.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/miniflat.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/move-point.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/normalize-identifier.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/prefix-size.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/regex-check.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/resolve-all.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/safe-from-int.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/serialize-chunks.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/shallow.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/size-chunks.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/slice-chunks.js","webpack://gatsby-starter-default/./node_modules/micromark/dist/util/subtokenize.js","webpack://gatsby-starter-default/./node_modules/parse-entities/decode-entity.browser.js","webpack://gatsby-starter-default/./node_modules/prop-types-extra/lib/isRequiredForA11y.js","webpack://gatsby-starter-default/./node_modules/property-information/find.js","webpack://gatsby-starter-default/./node_modules/property-information/html.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/aria.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/html.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/svg.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/case-insensitive-transform.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/case-sensitive-transform.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/create.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/defined-info.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/info.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/merge.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/schema.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/util/types.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/xlink.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/xml.js","webpack://gatsby-starter-default/./node_modules/property-information/lib/xmlns.js","webpack://gatsby-starter-default/./node_modules/property-information/normalize.js","webpack://gatsby-starter-default/./node_modules/property-information/svg.js","webpack://gatsby-starter-default/./node_modules/react-easy-swipe/lib/index.js","webpack://gatsby-starter-default/./node_modules/react-easy-swipe/lib/react-swipe.js","webpack://gatsby-starter-default/./node_modules/react-fast-compare/index.js","webpack://gatsby-starter-default/./node_modules/react-helmet/es/Helmet.js","webpack://gatsby-starter-default/./node_modules/react-hubspot-form/dist/index.js","webpack://gatsby-starter-default/./node_modules/react-markdown/node_modules/react-is/cjs/react-is.production.min.js","webpack://gatsby-starter-default/./node_modules/react-markdown/node_modules/react-is/index.js","webpack://gatsby-starter-default/./node_modules/react-markdown/src/ast-to-react.js","webpack://gatsby-starter-default/./node_modules/react-markdown/src/react-markdown.js","webpack://gatsby-starter-default/./node_modules/react-markdown/src/rehype-filter.js","webpack://gatsby-starter-default/./node_modules/react-markdown/src/uri-transformer.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/CSSTranslate.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/components/Carousel/animations.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/components/Carousel/index.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/components/Carousel/utils.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/components/Thumbs.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/cssClasses.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/dimensions.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/index.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/shims/document.js","webpack://gatsby-starter-default/./node_modules/react-responsive-carousel/lib/js/shims/window.js","webpack://gatsby-starter-default/./node_modules/react-side-effect/lib/index.js","webpack://gatsby-starter-default/./node_modules/remark-parse/index.js","webpack://gatsby-starter-default/./node_modules/remark-rehype/index.js","webpack://gatsby-starter-default/./node_modules/short-uuid/index.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/rng.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/regex.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/stringify.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/validate.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v1.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/parse.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v35.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/md5.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v3.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v4.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/sha1.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/v5.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/nil.js","webpack://gatsby-starter-default/./node_modules/short-uuid/node_modules/uuid/dist/esm-browser/version.js","webpack://gatsby-starter-default/./node_modules/sort-media-queries/lib/index.js","webpack://gatsby-starter-default/./node_modules/space-separated-tokens/index.js","webpack://gatsby-starter-default/./node_modules/style-to-object/index.js","webpack://gatsby-starter-default/./node_modules/trough/index.js","webpack://gatsby-starter-default/./node_modules/trough/wrap.js","webpack://gatsby-starter-default/./node_modules/unified/index.js","webpack://gatsby-starter-default/./node_modules/unified/node_modules/is-plain-obj/index.js","webpack://gatsby-starter-default/./node_modules/unist-builder/index.js","webpack://gatsby-starter-default/./node_modules/unist-util-generated/index.js","webpack://gatsby-starter-default/./node_modules/unist-util-is/convert.js","webpack://gatsby-starter-default/./node_modules/unist-util-position/index.js","webpack://gatsby-starter-default/./node_modules/unist-util-stringify-position/index.js","webpack://gatsby-starter-default/./node_modules/unist-util-visit-parents/color.browser.js","webpack://gatsby-starter-default/./node_modules/unist-util-visit-parents/index.js","webpack://gatsby-starter-default/./node_modules/unist-util-visit/index.js","webpack://gatsby-starter-default/./node_modules/vfile-message/index.js","webpack://gatsby-starter-default/./node_modules/vfile/index.js","webpack://gatsby-starter-default/./node_modules/vfile/lib/core.js","webpack://gatsby-starter-default/./node_modules/vfile/lib/index.js","webpack://gatsby-starter-default/./node_modules/vfile/lib/minpath.browser.js","webpack://gatsby-starter-default/./node_modules/vfile/lib/minproc.browser.js","webpack://gatsby-starter-default/./node_modules/xtend/immutable.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/BackgroundUtils.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/ClassCache.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/HelperUtils.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/ImageCache.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/ImageHandling.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/ImageRef.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/ImageUtils.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/IntersectionObserverUtils.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/MediaUtils.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/SimpleUtils.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/StyleCreation.js","webpack://gatsby-starter-default/./node_modules/gatsby-background-image/lib/StyleUtils.js","webpack://gatsby-starter-default/./src/components/Article/article.component.js","webpack://gatsby-starter-default/./src/components/BlogSection/blogSection.component.js","webpack://gatsby-starter-default/./src/components/Card/card.component.js","webpack://gatsby-starter-default/./src/components/Button/button.component.js","webpack://gatsby-starter-default/./src/components/LoadButton/loadButton.component.js","webpack://gatsby-starter-default/./src/components/Footer/footer.component.js","webpack://gatsby-starter-default/./src/components/Header/Navbar/dropdown.component.js","webpack://gatsby-starter-default/./src/components/Header/academicOfferMenuData.js","webpack://gatsby-starter-default/./src/components/Header/Navbar/menu.component.js","webpack://gatsby-starter-default/./src/components/Header/externalServiceLink.component.js","webpack://gatsby-starter-default/./src/components/Header/externalServices.component.js","webpack://gatsby-starter-default/./src/components/Header/enroll.component.js","webpack://gatsby-starter-default/./src/components/Header/header.component.js","webpack://gatsby-starter-default/./src/components/Home/home.page.js","webpack://gatsby-starter-default/./src/components/Metricas/metricas.component.js","webpack://gatsby-starter-default/./src/components/Numbers/numbers.component.js","webpack://gatsby-starter-default/./src/components/ProfileCard/profileCard.component.js","webpack://gatsby-starter-default/./src/constants/config.js","webpack://gatsby-starter-default/./src/components/Seo/seo.component.js","webpack://gatsby-starter-default/./src/components/SocialMedia/socialMedia.component.js","webpack://gatsby-starter-default/./src/components/SocialMediaIcons/SocialMediaIcons.component.js","webpack://gatsby-starter-default/./src/components/Testimony/testimony.component.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://gatsby-starter-default/./src/components/ContactForm/contactForm.js","webpack://gatsby-starter-default/./src/components/Aside/aside.component.js","webpack://gatsby-starter-default/./src/components/Image/image.component.js","webpack://gatsby-starter-default/./src/components/TextBlock/textBlock.component.js","webpack://gatsby-starter-default/./src/components/Content/content.component.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/ThemeProvider.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/PopoverTitle.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/PopoverContent.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/Popover.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/createChainedFunction.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/SafeAnchor.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/Button.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/contains.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useMounted.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useWillUnmount.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useUpdatedRef.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useTimeout.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/safeFindDOMNode.js","webpack://gatsby-starter-default/./node_modules/uncontrollable/lib/esm/utils.js","webpack://gatsby-starter-default/./node_modules/uncontrollable/lib/esm/hook.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useCallbackRef.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useMergedRefs.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/enums.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useSafeState.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/math.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/within.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/createPopper.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/popper.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/usePopper.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/canUseDOM.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/addEventListener.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/removeEventListener.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/listen.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useCommittedRef.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useEventCallback.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/ownerDocument.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/ownerDocument.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/useRootClose.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/useWaitForDOMRef.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/mergeOptionsWithPopperConfig.js","webpack://gatsby-starter-default/./node_modules/react-overlays/esm/Overlay.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/hasClass.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/usePopperMarginModifiers.js","webpack://gatsby-starter-default/./node_modules/react-transition-group/esm/config.js","webpack://gatsby-starter-default/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://gatsby-starter-default/./node_modules/react-transition-group/esm/Transition.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/getComputedStyle.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/ownerWindow.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/hyphenate.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/hyphenateStyle.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/isTransform.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/css.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/transitionEnd.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/triggerEvent.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/transitionEndListener.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/triggerBrowserReflow.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/Fade.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/Overlay.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/OverlayTrigger.js","webpack://gatsby-starter-default/./src/components/HeaderPage/headerPage.component.js","webpack://gatsby-starter-default/./src/components/Breadcrumb/breadcrumb.component.js","webpack://gatsby-starter-default/./src/components/NewsSection/newsSection.js","webpack://gatsby-starter-default/./src/images/whatsapp.png","webpack://gatsby-starter-default/./src/components/FloatingWhatsapp/FloatingWhatsapp.component.js","webpack://gatsby-starter-default/./src/components/AcademicOfferFilter/AcademicOfferFilter.component.js","webpack://gatsby-starter-default/./src/components/CustomSection/customSection.component.js","webpack://gatsby-starter-default/./src/components/AcademicOffer/academicOffer.component.js","webpack://gatsby-starter-default/./src/components/SearchInput/searchInput.component.js","webpack://gatsby-starter-default/./src/components/CareerCard/careerCard.component.js","webpack://gatsby-starter-default/./src/components/CheckBoxFilters/checkBoxFilters.components.js","webpack://gatsby-starter-default/./src/components/CheckBoxList/checkBoxList.component.js","webpack://gatsby-starter-default/./src/components/Accordion/accordion.component.js","webpack://gatsby-starter-default/./src/components/Video/videoYoutube.component.js","webpack://gatsby-starter-default/./src/components/Video/videoVimeo.component.js","webpack://gatsby-starter-default/./src/components/Navegation/navegation.component.js","webpack://gatsby-starter-default/./src/components/CustomMenu/customMenu.component.js","webpack://gatsby-starter-default/./src/components/ChildrenMenu/childrenMenu.component.js","webpack://gatsby-starter-default/./src/components/LinkStudyClasses/linkStudyClasses.component.js","webpack://gatsby-starter-default/./src/components/AcademicOfferCard/academicOfferCard.component.js","webpack://gatsby-starter-default/./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack://gatsby-starter-default/./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","webpack://gatsby-starter-default/./src/components/icons/fontawesome.js","webpack://gatsby-starter-default/./src/components/icon/icon.component.js","webpack://gatsby-starter-default/./src/components/ChildPagesSection/childPagesSection.js","webpack://gatsby-starter-default/./src/components/ChildPageCard/childPageCard.component.js","webpack://gatsby-starter-default/./src/components/Video/video.component.js","webpack://gatsby-starter-default/./src/components/VideoBlock/videoBlock.component.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/helpers/elementTypes.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/helpers/childrenDeepMap.js","webpack://gatsby-starter-default/./node_modules/clsx/dist/clsx.m.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/helpers/uuid.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/components/UncontrolledTabs.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/helpers/count.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/components/Tabs.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/components/TabList.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/components/Tab.js","webpack://gatsby-starter-default/./node_modules/react-tabs/esm/components/TabPanel.js","webpack://gatsby-starter-default/./src/components/Tab/Tab.component.js","webpack://gatsby-starter-default/./src/components/TabContent/TabContent.component.js","webpack://gatsby-starter-default/./src/components/RelatedPrograms/RelatedPrograms.component.js","webpack://gatsby-starter-default/./src/components/ArticlePage/articlePage.component.js","webpack://gatsby-starter-default/./src/components/newsCard/newsCard.js","webpack://gatsby-starter-default/./src/components/ArticleSearchInput/articleSearchInput.component.js","webpack://gatsby-starter-default/./node_modules/@restart/hooks/esm/useUpdateEffect.js","webpack://gatsby-starter-default/./node_modules/dom-helpers/esm/camelize.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/createWithBsPrefix.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/CarouselCaption.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/CarouselItem.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/ElementChildren.js","webpack://gatsby-starter-default/./node_modules/react-bootstrap/esm/Carousel.js","webpack://gatsby-starter-default/./src/components/Carousel/carousel.component.js","webpack://gatsby-starter-default/./src/components/Pagination/pagination.component.js","webpack://gatsby-starter-default/./src/components/InternalLink/oneInternalLink.component.js","webpack://gatsby-starter-default/./src/components/Banner/bannerLink.component.js","webpack://gatsby-starter-default/./src/components/Banner/bannerItem.component.js","webpack://gatsby-starter-default/./src/components/Banner/bannerItemDestacado.component.js","webpack://gatsby-starter-default/./src/components/Banner/bannerCarousel.component.js","webpack://gatsby-starter-default/./src/components/Banner/bannerDesktopLayout.js","webpack://gatsby-starter-default/./src/components/Banner/banner.component.js","webpack://gatsby-starter-default/./src/components/AsideNews/asideNews.component.js","webpack://gatsby-starter-default/./src/components/PrevNext/prevNext.component.js","webpack://gatsby-starter-default/./src/components/EventsCard/eventsCard.component.js","webpack://gatsby-starter-default/./src/components/Events/events.components.js","webpack://gatsby-starter-default/./src/components/EventsSearchInput/eventsSearchInput.component.js","webpack://gatsby-starter-default/./src/components/EventsCheckBoxList/eventCheckBoxList.component.js","webpack://gatsby-starter-default/./src/components/EventsCheckBoxFilters/eventsCheckBoxFilters.component.js","webpack://gatsby-starter-default/./src/components/BenefitsVideo/benefitsVideo.component.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://gatsby-starter-default/./node_modules/@googlemaps/js-api-loader/dist/index.esm.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://gatsby-starter-default/./node_modules/google-map-react/dist/index.modern.js","webpack://gatsby-starter-default/./src/components/Map/map.component.js","webpack://gatsby-starter-default/./src/components/MapMarker/mapMarker.component.js","webpack://gatsby-starter-default/./src/components/ArticleNewsPage/articleNewsPage.component.js","webpack://gatsby-starter-default/./src/components/EventSection/eventSection.component.js","webpack://gatsby-starter-default/./src/components/CarouselEvents/carouselEvents.component.js","webpack://gatsby-starter-default/./src/components/Calendar/calendar.component.js","webpack://gatsby-starter-default/./src/components/Footer/linksBlock.component.js","webpack://gatsby-starter-default/./src/components/Footer/imagesBlock.component.js","webpack://gatsby-starter-default/./src/components/Footer/contactsBlock.component.js","webpack://gatsby-starter-default/./src/components/Footer/FiscalData.component.js","webpack://gatsby-starter-default/./src/components/InternalLink/internalLink.component.js","webpack://gatsby-starter-default/./src/components/Sites/sites.component.js","webpack://gatsby-starter-default/./src/components/Sites/sitesBlock.component.js","webpack://gatsby-starter-default/./src/components/MapSites/mapSites.component.js","webpack://gatsby-starter-default/./src/components/BannerSimple/bannerSimple.component.js","webpack://gatsby-starter-default/./src/components/SubMenu/subMenu.component.js","webpack://gatsby-starter-default/./src/components/Contact/contact.component.js","webpack://gatsby-starter-default/./src/components/EmbebedMap/embebedMap.component.js","webpack://gatsby-starter-default/./src/components/Slider/slider.component.js","webpack://gatsby-starter-default/./src/components/ButtonPage/buttonPage.component.js","webpack://gatsby-starter-default/./src/components/CardsList/cardsList.component.js","webpack://gatsby-starter-default/./src/components/PdfCard/pdfCard.component.js","webpack://gatsby-starter-default/./src/components/SelectOptions/selectOptions.component.js","webpack://gatsby-starter-default/./src/components/SearchCareer/searchCareer.component.js","webpack://gatsby-starter-default/./src/components/Gallery/galleryItem.component.js","webpack://gatsby-starter-default/./src/components/Gallery/gallery.component.js","webpack://gatsby-starter-default/./src/components/HorizontalCardsList/horizontalCardsList.component.js","webpack://gatsby-starter-default/./src/context/useAppContext.js","webpack://gatsby-starter-default/./src/functions/academicOffer.functions.js","webpack://gatsby-starter-default/./src/functions/event.functions.js","webpack://gatsby-starter-default/./src/hooks/useWindowSize.js","webpack://gatsby-starter-default/./src/hooks/useBlogArticles.js","webpack://gatsby-starter-default/./src/hooks/useNews.js","webpack://gatsby-starter-default/./src/hooks/useSocialMedia.js","webpack://gatsby-starter-default/./src/hooks/useTestimonies.js","webpack://gatsby-starter-default/./src/hooks/useMetrics.js","webpack://gatsby-starter-default/./src/hooks/useMenuSections.js","webpack://gatsby-starter-default/./src/hooks/useAttendanceModes.js","webpack://gatsby-starter-default/./src/hooks/useProgramTypes.js","webpack://gatsby-starter-default/./src/hooks/useCareerStudyClass.js","webpack://gatsby-starter-default/./src/hooks/usePages.js","webpack://gatsby-starter-default/./src/hooks/useAcademicOffer.js","webpack://gatsby-starter-default/./src/hooks/useExternalServiceLinks.js","webpack://gatsby-starter-default/./src/hooks/useGlobalSeo.js","webpack://gatsby-starter-default/./src/hooks/useAcademicOfferMain.js","webpack://gatsby-starter-default/./src/hooks/useHome.js","webpack://gatsby-starter-default/./src/hooks/useBlogPage.js","webpack://gatsby-starter-default/./src/hooks/useBlogCategories.js","webpack://gatsby-starter-default/./src/hooks/useBanner.js","webpack://gatsby-starter-default/./src/hooks/useNewsPage.js","webpack://gatsby-starter-default/./src/hooks/useEvents.js","webpack://gatsby-starter-default/./src/hooks/useEventCategories.js","webpack://gatsby-starter-default/./src/hooks/useEventTypes.js","webpack://gatsby-starter-default/./src/hooks/useSites.js","webpack://gatsby-starter-default/./src/hooks/useGlobalConfig.js","webpack://gatsby-starter-default/./src/hooks/useEventPage.js","webpack://gatsby-starter-default/./src/hooks/useFooter.js","webpack://gatsby-starter-default/./src/hooks/useContact.js","webpack://gatsby-starter-default/./src/hooks/useFilteredSites.js","webpack://gatsby-starter-default/./src/hooks/useScript.js","webpack://gatsby-starter-default/./src/hooks/useLinkTag.js","webpack://gatsby-starter-default/./src/hooks/useEventsLatest.js","webpack://gatsby-starter-default/./src/hooks/useGallery.js","webpack://gatsby-starter-default/./src/hooks/useCareers.js","webpack://gatsby-starter-default/./src/hooks/useVideoBlock.js","webpack://gatsby-starter-default/./src/components/BackToTop/backToTop.component.js","webpack://gatsby-starter-default/./src/templates/layout.template.js","webpack://gatsby-starter-default/./node_modules/react-easy-swipe/node_modules/prop-types/factoryWithThrowingShims.js","webpack://gatsby-starter-default/./node_modules/react-easy-swipe/node_modules/prop-types/index.js","webpack://gatsby-starter-default/./node_modules/react-easy-swipe/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://gatsby-starter-default/./node_modules/regenerator-runtime/runtime.js","webpack://gatsby-starter-default/./node_modules/warning/warning.js"],"names":["module","exports","arr","len","length","i","arr2","Array","__esModule","arrayLikeToArray","isArray","obj","key","value","Object","defineProperty","enumerable","configurable","writable","iter","Symbol","iterator","from","TypeError","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","o","minLen","n","prototype","toString","call","slice","constructor","name","test","createCommonjsModule","a","b","_core","version","__e","_global","window","Math","self","Function","__g","_shared","c","push","mode","copyright","id","px","random","_uid","concat","_wks","d","store","_isObject","_anObject","_fails","_descriptors","get","document$1","document","is","createElement","_domCreate","_ie8DomDefine","dP","_objectDp","f","valueOf","_toPrimitive","_propertyDesc","_hide","UNSCOPABLES","ArrayProto","_addToUnscopables","_iterStep","done","_iterators","_iobject","propertyIsEnumerable","_cof","split","_defined","_toIobject","hasOwnProperty","_has","_redefine","inspectSource","e","g","join","this","_ctx","_aFunction","apply","arguments","$export","h","F","G","k","P","l","B","m","S","U","core","W","R","_export","ceil","floor","_toInteger","isNaN","min","max","min$1","shared","_sharedKey","arrayIndexOf","_toLength","_toAbsoluteIndex","IE_PROTO","_enumBugKeys","_objectKeys","keys","_objectKeysInternal","_objectDps","defineProperties","document$2","_html","documentElement","IE_PROTO$1","Empty","_createDict","style","display","appendChild","src","contentWindow","open","write","close","_objectCreate","create","def","TAG","_setToStringTag","IteratorPrototype","IE_PROTO$2","ObjectProto","_objectGpo","getPrototypeOf","_toObject","ITERATOR","BUGGY","KEYS","VALUES","returnThis","es6_array_iterator","next","_iterCreate","j","p","q","r","s","entries","values","_iterDefine","_t","_i","_k","Arguments","ITERATOR$1","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","NAME","explicit","Collection","proto","isEnum","$entries","_objectToArray","_defineProperty","_objectWithoutPropertiesLoose","indexOf","_assertThisInitialized","ReferenceError","ScriptLoader","props","onCreate","onLoad","onError","delayMs","setAttribute","onload","onerror","body","__proto__","_inheritsLoose","componentDidMount","timeout","setTimeout","_appendScript","componentWillUnmount","clearTimeout","render","Component","defaultProps","URIError","target","Point","x","y","clone","add","_add","sub","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","mult","_mult","div","_div","rotate","_rotate","rotateAround","_rotateAround","matMult","_matMult","unit","_unit","perp","_perp","round","_round","mag","sqrt","equals","other","dist","distSqr","dx","dy","angle","atan2","angleTo","angleWith","angleWithSep","cos","sin","convert","GenIcon","DefaultContext","color","undefined","size","className","attr","IconContext","__assign","assign","t","__rest","getOwnPropertySymbols","Tree2Element","tree","map","node","tag","child","data","IconBase","elem","conf","title","svgProps","computedSize","stroke","fill","strokeWidth","height","width","xmlns","children","Consumer","Converter","anyBase","srcAlphabet","dstAlphabet","converter","number","BIN","OCT","DEC","HEX","Error","divide","newlen","numberMap","fromBase","toBase","result","isValid","parseInt","err","hasOwn","classNames","classes","arg","argType","inner","default","parse","val","input","String","index","lastIndex","end","trim","stringify","options","settings","left","padLeft","right","padRight","has","prefix","Events","EE","fn","context","once","addListener","emitter","event","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","names","listeners","handlers","ee","listenerCount","emit","a1","a2","a3","a4","a5","args","removeListener","on","removeAllListeners","off","prefixed","toStr","gOPD","getOwnPropertyDescriptor","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","getProperty","extend","copy","copyIsArray","deep","domProps","prop","isValidDOMProp","_htmlAttributes","_htmlAttributes2","eventProps","onCopy","onCut","onPaste","onWheel","onScroll","onCompositionEnd","onCompositionStart","onCompositionUpdate","onKeyDown","onKeyPress","onKeyUp","onFocus","onBlur","onChange","onInput","onSubmit","onClick","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onSelect","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onTransitionEnd","_slicedToArray","_s","_e","_arr","_n","_d","layout","images","sources","reduce","type","charAt","toUpperCase","u","srcSet","_l","matchAll","sizes","replace","filter","includes","_r","_t2","_c","placeholder","fallback","base64","tracedSVG","_o","aspectRatio","_ref2","_i2","_u2","media","_r2","_u","image","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","str","lineno","column","updatePosition","lines","match","lastIndexOf","position","start","line","Position","whitespace","source","content","errorsList","error","msg","reason","filename","silent","re","exec","comments","rules","comment","pos","declaration","ret","property","decl","decls","declarations","isBuffer","visit","cache","getter","identifier","normalise","own","getterFactory","ondefinition","definition","gather","encoding","config","extensions","extension","configure","transforms","canContainEols","enter","autolink","opener","link","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","heading","blockQuote","characterEscape","characterReference","codeFenced","codeFlow","codeFencedFenceInfo","buffer","codeFencedFenceMeta","codeIndented","codeText","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","emphasis","hardBreakEscape","hardBreak","hardBreakTrailing","htmlFlow","html","htmlFlowData","htmlText","htmlTextData","label","listItem","listItemValue","onenterlistitemvalue","listOrdered","list","onenterlistordered","listUnordered","paragraph","reference","onenterreference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","thematicBreak","exit","closer","atxHeadingSequence","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","characterEscapeValue","onexitdata","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","onexitcharacterreferencevalue","onexitcodefenced","codeFencedFence","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","labelText","onexitlabeltext","lineEnding","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","resource","onexitresource","onexitsetextheading","setextHeadingLineSequence","onexitsetextheadinglinesequence","setextHeadingText","onexitsetextheadingtext","mdastExtensions","compile","handler","tokenStack","listStack","stack","resume","setData","getData","prepareList","pop","sliceSerialize","stringifyPosition","point","offset","tailIndex","lineIndex","tailEvent","firstBlankLineIndex","atMarker","containerBalance","listSpread","_spread","splice","and","token","lang","meta","normalizeIdentifier","toLowerCase","url","depth","charCodeAt","siblings","tail","text","referenceType","fragment","alt","safeFromInt","decode","ordered","spread","checked","compiler","postprocess","parser","preprocessor","parent","head","nodes","one","backReference","footnoteById","footnoteOrder","listItems","hProperties","wrap","all","code","href","footnoteReference","dangerous","augment","revert","normalize","ignore","blockquote","break","delete","footnote","imageReference","inlineCode","linkReference","root","table","toml","yaml","footnoteDefinition","loose","listItemLoose","listLoose","wrapped","tagName","unshift","disabled","items","properties","row","out","cell","rows","align","alignLength","allowDangerousHTML","deprecationWarningIssued","console","warn","allowDangerousHtml","definitions","unknownHandler","passThrough","onfootnotedefinition","ctx","hName","hChildren","generated","factory","foot","footer","returnNode","unknown","contents","subtype","suffix","encodeCache","encode","string","exclude","keepEscaped","nextCode","defaultChars","ch","fromCharCode","getEncodeCache","encodeURIComponent","componentChars","asciiAlpha","regexCheck","asciiAlphanumeric","asciiAtext","asciiDigit","asciiHexDigit","asciiPunctuation","unicodePunctuationRegex","unicodePunctuation","unicodeWhitespace","text$1","attention","headingAtx","labelEnd","labelStartImage","labelStartLink","setextUnderline","42","43","45","48","49","50","51","52","53","54","55","56","57","62","contentInitial","91","flowInitial","32","flow","35","60","61","95","96","126","38","92","33","93","insideSpan","null","resolver","disable","markdownLineEnding","factorySpace","tokenize","effects","previous","contentStart","attempt","constructs","consume","lineStart","contentType","partialBlankLine","inspectResult","childFlow","childToken","continued","inspectConstruct","ok","subcontinued","inspectStart","containerState","continuation","inspectContinue","inspectLess","currentConstruct","concrete","flowContinue","inspectDone","interrupt","interruptible","containerConstruct","inspectFlowEnd","_closeFlow","lazy","lazyFlowConstruct","check","inspectLazy","flowEnd","partial","documentContinue","documentContinued","flowStart","containerContinue","exitContainers","now","_tokenizer","continueFlow","documentAfterPeek","defineSkip","sliceStream","nok","initial","afterConstruct","shallow","initializeFactory","resolveAll","createResolver","field","notText","atBreak","resolveAllLineSuffixes","extraResolver","chunks","chunk","bufferIndex","tabs","eventIndex","_index","_bufferIndex","combineExtensions","createTokenizer","miniflat","defined","initializer","subtokenize","search","atCarriageReturn","startPosition","endPosition","chunkedPush","chunkedSplice","classifyCharacter","movePoint","marker","before","sequence","after","_open","_close","group","openingSequence","closingSequence","use","nextEvents","asciiControl","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","markdownSpace","_container","decodeEntity","_interopDefaultLegacy","decodeEntity__default","numeric","markdownLineEndingOrSpace","prefixSize","closingFenceConstruct","closingSequenceStart","sizeOpen","closingSequenceEnd","initialPrefix","sequenceOpen","infoOpen","openAfter","info","infoAfter","contentContinue","indentedContentConstruct","afterPrefix","resolve","gap","tailExitIndex","headEnterIndex","contentEnd","continuationConstruct","factoryDestination","factoryLabel","factoryWhitespace","factoryTitle","labelAfter","titleConstruct","literalType","literalMarkerType","rawType","stringType","limit","Infinity","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","markerType","labelEscape","atFirstTitleBreak","atTitleBreak","titleEscape","seen","fenceOpenInside","headingBreak","htmlBlockNames","htmlRawNames","kind","startTag","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","continuationRawEndTag","resolveTo","returnState","declarationOpen","instruction","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","_used","destinationAfter","between","afterLabel","sizeChunks","initialSize","inside","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","furtherBlankLines","notInCurrentItem","indentConstruct","remove","parameters","chunkStart","hook","existing","serializeChunks","sliceChunks","initialize","columnStart","resolveAllConstructs","accountForPotentialSkip","fields","constructFactory","construct","addResult","onsuccessfulcheck","main","state","chunkIndex","go","restore","onreturn","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","regex","called","base","atTab","object","view","startIndex","startBufferIndex","endIndex","endBufferIndex","subcontent","stream","entered","adjust","startPositions","tokenizer","childEvents","jumps","gaps","isInFirstContentOfListItem","_gfmTasklistFirstContentOfListItem","otherIndex","otherEvent","subevents","more","_movePreviousLineEndings","el","characters","char","entity","innerHTML","textContent","validator","propName","componentName","location","propFullName","componentNameSafe","propFullNameSafe","_len","_key","DefinedInfo","Info","schema","normal","Type","valid","attribute","dash","camelcase","datasetToProperty","cap","kebab","datasetToAttribute","$0","merge","xlink","xml","aria","types","booleanish","spaceSeparated","transform","_","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","caseInsensitiveTransform","boolean","overloadedBoolean","commaSeparated","space","attributes","acceptcharset","classname","htmlfor","httpequiv","mustUseProperty","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","as","async","autoCapitalize","autoComplete","autoFocus","autoPlay","capture","charSet","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","download","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","hidden","high","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","isMap","itemId","itemProp","itemRef","itemScope","itemType","language","loading","loop","low","manifest","maxLength","method","minLength","multiple","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onCancel","onCanPlay","onCanPlayThrough","onClose","onCueChange","onDblClick","onDurationChange","onEmptied","onEnded","onFormData","onHashChange","onInvalid","onLanguageChange","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onOffline","onOnline","onPageHide","onPageShow","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onSecurityPolicyViolation","onSeeked","onSeeking","onSlotChange","onStalled","onStorage","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","optimum","pattern","ping","playsInline","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rowSpan","sandbox","scope","scoped","seamless","selected","shape","slot","span","spellCheck","srcDoc","srcLang","step","tabIndex","translate","typeMustMatch","useMap","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","charOff","classId","clear","codeBase","codeType","compact","declare","face","frame","frameBorder","hSpace","leftMargin","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","results","security","unselectable","caseSensitiveTransform","commaOrSpaceSeparated","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","textAnchor","textDecoration","textRendering","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","begin","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","dur","divisor","edgeMode","editable","elevation","exponent","externalResourcesRequired","filterRes","filterUnits","focusable","focusHighlight","format","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","path","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","restart","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","u1","u2","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","Schema","checks","checksLength","mark","xtend","powers","increment","pow","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xmlLang","xmlBase","xmlSpace","xmlnsxlink","xmlnsXLink","svg","_reactSwipe","_reactSwipe2","_interopRequireDefault","_react","_propTypes","setHasSupportToCaptureOption","_react2","_propTypes2","_extends","_objectWithoutProperties","_classCallCheck","instance","Constructor","_createClass","descriptor","protoProps","staticProps","_possibleConstructorReturn","_inherits","subClass","superClass","setPrototypeOf","supportsCaptureOption","hasSupport","addEventListener","getSafeEventHandlerOpts","getPosition","_event$touches$","touches","pageX","pageY","screenX","screenY","ReactSwipe","_Component","_ref","_this","_handleSwipeStart","bind","_handleSwipeMove","_handleSwipeEnd","_onMouseDown","_onMouseMove","_onMouseUp","_setSwiperRef","swiper","passive","removeEventListener","allowMouseEvents","mouseDown","_getPosition","moveStart","onSwipeStart","_getPosition2","deltaX","deltaY","moving","onSwipeMove","cancelable","preventDefault","movePosition","onSwipeEnd","tolerance","onSwipeLeft","onSwipeRight","onSwipeUp","onSwipeDown","innerRef","_props","ref","displayName","propTypes","bool","func","isRequired","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","it","RegExp","flags","$$typeof","message","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","classCallCheck","createClass","objectWithoutProperties","possibleConstructorReturn","encodeSpecialCharacters","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","forEach","tagUnion","rafPolyfill","Date","callback","currentTime","cafPolyfill","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","removeAttribute","tags","headElement","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","styleSheet","cssText","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref$title","noscript","script","HelmetSideEffects","HelmetExport","_React$Component","HelmetWrapper","inherits","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_this2","_child$props","initAttributes","convertReactPropstoHtmlAttributes","set","canUseDOM","defaultTitle","titleTemplate","peek","rewind","mappedState","renderStatic","globalId","HubspotForm","loaded","createForm","findFormElement","hbspt","onReady","onFormSubmit","$form","formData","serializeArray","forms","_this3","setState","noScript","loadScript","_this4","v","w","for","A","C","D","E","H","I","ContextConsumer","ContextProvider","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","React","ReactIs","find","hastToReact","spaces","commas","childrenToReact","tableElements","childIndex","toReact","skipHtml","parentSchema","addProperty","listDepth","component","components","basic","linkTarget","transformLinkUri","inline","level","transformImageUri","getInputElement","Boolean","getElementsBeforeCount","textAlign","isHeader","sourcePos","rawSourcePos","sourcePosition","includeElementIndex","siblingCount","count","styleReplacer","parseStyle","$1","vfile","unified","remarkRehype","PropTypes","uriTransformer","ReactMarkdown","deprecated","renderers","astPlugins","escapeHtml","allowNode","allowedTypes","disallowedTypes","includeNodeIndex","deprecation","file","processor","remarkPlugins","plugins","rehypePlugins","hastNode","runSync","allowElement","allowedElements","arrayOf","disallowedElements","unwrapDisallowed","oneOfType","onelement","protocols","uri","first","colon","protocol","metric","positionPercent","fadeAnimationHandler","slideStopSwipingHandler","slideSwipeAnimationHandler","slideAnimationHandler","_CSSTranslate","_utils","ownKeys","enumerableOnly","symbols","sym","_objectSpread","getOwnPropertyDescriptors","returnStyles","selectedItem","previousItem","lastPosition","Children","infiniteLoop","centerMode","centerSlidePercentage","itemListStyle","setPosition","currentPosition","transformProp","transitionTime","WebkitTransform","msTransform","OTransform","swiping","WebkitTransitionDuration","MozTransitionDuration","OTransitionDuration","transitionDuration","msTransitionDuration","delta","isHorizontal","childrenLength","finalBoundry","axisDelta","handledDelta","itemSize","hasMoved","abs","swipeScrollTolerance","preventMovementUntilSwipeScrollTolerance","swipeMovementStarted","cancelClick","transitionTimingFunction","slideStyle","zIndex","minHeight","top","bottom","msTransitionTimingFunction","MozTransitionTimingFunction","WebkitTransitionTimingFunction","OTransitionTimingFunction","selectedStyle","prevStyle","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","_reactEasySwipe","_cssClasses","_Thumbs","_document","_window","_animations","WeakMap","_defineProperties","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","sham","Proxy","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Carousel","_super","thumbsRef","carouselWrapperRef","listRef","itemsRef","clearAutoPlay","timer","interval","isMouseEntered","activeElement","contains","isFocusWithinTheCarousel","prevKey","keyCode","decrement","initialized","firstItem","clientWidth","clientHeight","updateSizes","hasMount","item","onClickItem","onClickThumb","moveTo","animationHandlerResponse","swipeAnimationHandler","positions","selectItem","resetAutoPlay","emulateTouch","newIndex","isKeyboardEvent","animationHandler","handleOnChange","toArray","slideImages","complete","onImageLoad","forceUpdate","initState","setupCarousel","prevProps","prevState","forceFocus","stopSwipingHandler","setupAutoPlay","destroyAutoPlay","destroyCarousel","bindEvents","initialImage","getInitialImage","setMountState","unbindEvents","carouselWrapper","stopOnHover","startOnLeave","useKeyboardArrows","navigateWithKeyboard","_this$carouselWrapper","focus","isClone","isSelected","isPrevious","minWidth","slideProps","setItemsRef","ITEM","handleClickItem","renderItem","_this$props","showIndicators","labels","renderIndicator","changeItem","showStatus","statusFormatter","showThumbs","setThumbsRef","onSelectItem","handleClickThumb","thumbWidth","renderThumbs","_this5","isSwipeable","swipeable","canShowArrows","showArrows","hasPrev","hasNext","itemsClone","renderItems","firstClone","shift","lastClone","swiperProps","SLIDER","containerStyles","onSwipeForward","onSwipeBackwards","dynamicHeight","itemHeight","getVariableItemHeight","verticalSwipe","ROOT","setCarouselWrapperRef","CAROUSEL","renderControls","renderArrowPrev","onClickPrev","leftArrow","WRAPPER","setListRef","renderArrowNext","onClickNext","rightArrow","renderStatus","noop","onClickHandler","ARROW_PREV","ARROW_NEXT","DOT","img","defaultStatusFormatter","total","_dimensions","Thumbs","itemsWrapperRef","itemsListRef","wrapperSize","outerWidth","visibleItems","_state","getFirstItem","setupThumbs","destroyThumbs","itemClass","thumbProps","itemListStyles","MozTransform","MsTransform","MsTransitionDuration","setItemsWrapperRef","slideRight","slideLeft","setItemsListRef","_classnames","_default","customClassName","isSlider","carousel","isSwiping","thumbs","slider","animated","thumb","slide","dot","offsetWidth","getComputedStyle","marginLeft","marginRight","_Carousel","_types","ex","React__default","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","PureComponent","getDisplayName","Parser","doc","fromMarkdown","mdast2hast","destination","process","transformer","run","bridge","mutate","_toConsumableArray","toFlickr","makeConvertor","uuidv4","v4","flickrBase58","baseOptions","consistentLength","shortenUUID","longId","translator","paddingParams","translated","padStart","shortIdLength","paddingChar","toAlphabet","useAlphabet","selectedOptions","alphabetLength","log","fromHex","toHex","generate","new","uuid","fromUUID","toUUID","shortUuid","shortId","enlargeUUID","alphabet","freeze","constants","cookieBase90","getRandomValues","rnds8","Uint8Array","rng","crypto","msCrypto","byteToHex","substr","_nodeId","_clockseq","_lastMSecs","_lastNSecs","buf","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","hashfunc","generateUUID","namespace","unescape","bytes","stringToBytes","DNS","URL","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","num","cnt","md5ff","md5gg","md5hh","md5ii","v35","output","length32","hexTab","hex","md5ToHexEncodedArray","olda","oldb","oldc","oldd","wordsToMd5","length8","Uint32Array","bytesToWords","rnds","ROTL","K","N","M","T","mqTypes","determineSortOrder","isMax","sortValA","sortVal","sortValB","ruleA","__media","ruleB","sortInit","flag","rulesLength","itemsValid","allValid","collection","mqCollection","mqTypesLength","createCollection","prepareRules","rule","collectionType","valMatch","addRulesToCollection","sorter","sort","sortCollection","transformed","iterateCollectionItem","collectionItem","resultVal","typeLength","transformCollection","whiteSpace","hasIterator","trough","fns","middleware","params","invoked","then","bail","plain","frozen","attachers","transformers","freezeIndex","assertUnfrozen","addPlugin","addList","addPreset","plugin","entry","assertParser","newable","Compiler","assertCompiler","assertNode","assertDone","processSync","Promise","executor","reject","pipeline","asyncName","typeFactory","tests","any","anyFactory","allFactory","visitParents","CONTINUE","SKIP","EXIT","visitor","parents","subresult","grandparents","toResult","VMessagePrototype","VMessage","parts","range","parseOrigin","ruleId","fatal","proc","VFile","messages","history","cwd","assertPart","part","sep","assertNonEmpty","assertPath","dirname","basename","extname","stem","fail","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","JSON","ext","firstNonSlashEnd","seenNonSlash","extIndex","unmatchedSlash","startDot","startPart","preDotState","joined","require","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_BackgroundUtils","_HelperUtils","_ImageUtils","_ImageCache","_ImageRef","_ImageHandling","_StyleUtils","_StyleCreation","_IntersectionObserverUtils","_SimpleUtils","BackgroundImage","intersectionListener","imageInCache","inImageCache","isVisible","onStartLoad","wasCached","imageRef","activatePictureRef","selfRef","imageState","imgLoaded","imgCached","hasActivatedPictureRefs","convertedProps","convertProps","IOSupported","fadeIn","seenBefore","isBrowser","IntersectionObserver","critical","hasNoScript","currentClassNames","fixClassName","backgroundStyles","presetBackgroundStyles","handleImageLoaded","handleRef","createPictureRef","imageReferenceCompleted","imagePropsChanged","bgImage","getCurrentFromData","returnArray","currentImageRef","isString","cleanUpListeners","listenToIntersections","rootMargin","activateCacheForImage","_fixOpacity","fixOpacity","preserveStackingContext","_fixOpacity$style","fluid","fixed","backgroundColor","durationFadeIn","Tag","keepStatic","remainingProps","stripRemainingProps","shouldFadeIn","transitionDelay","divStyle","getCurrentSrcData","noScriptImageData","newImageSettings","switchImageSettings","nextImageArray","nextImage","pseudoStyles","createPseudoStyles","originalData","noScriptPseudoStyles","createNoScriptStyles","componentKey","currentStyles","fixedObject","srcWebp","srcSetWebp","srcAvif","srcSetAvif","fluidObject","array","getBackgroundStylesForSingleClass","getStyleRules","getStyleRulesForClassName","styleSheets","cssRules","foundClass","foundAcc","styleRule","selectorText","cssStyleRules","styles","toCamelCase","newData","stringToArray","classObjects","resetComponentClassCache","activateCacheForComponentClass","inComponentClassCache","componentClassCache","_filterInvalidDomProps","_MediaUtils","hasArtDirectionSupport","groupByMedia","resetImageCache","activateCacheForMultipleImages","allInImageCache","imageCache","isLoop","isImageStack","hasImageArray","hasArtDirectionArray","getSelectedImage","getImageSrcKey","isObject","objectSrc","every","imageData","currentSources","lastImage","filteredJoin","finalImage","combineArray","addUrl","dummyArray","createDummyImageArray","afterOpacity","currentSrc","checkLoaded","hasPictureRef","activateMultiplePictureRefs","createMultiplePictureRefs","Image","imageRefs","bodyClone","offsetHeight","hasPictureElement","pic","createArtDirectionSources","currentSource","sourcesAvif","createSourceElementForSrcSet","sourcesWebp","srcset","singleImageRef","imageLoaded","imageArrayPropsChanged","hasImageUrl","isBase64","getUrlString","HTMLPictureElement","_ref$addUrl","_ref$returnArray","_ref$checkLoaded","imageString","dataElement","currentData","_ref3","mediaData","foundMedia","findIndex","matchesMedia","_ref4","_ref5","_ref5$tracedSVG","_ref5$addUrl","_ref5$returnArray","_ref5$hasImageUrls","hasImageUrls","stringArray","currentString","_base","_imageUrl","currentReturnString","imageUrl","returnString","base64String","isPropsFluidArray","isPrevPropsFluidArray","isPropsFixedArray","isPrevPropsFixedArray","dummyImageURI","naturalWidth","naturalHeight","getIO","callbackIO","io","isIntersecting","intersectionRatio","unobserve","element","observe","_sortMediaQueries","imageVariants","without","sortedVariants","variant","srcSetName","capitalize","sourceWebp","sourceAvif","matchMedia","matches","hashString","toKebabCase","letter","delimiter","hash","arrayToJoin","fromArray","createStyleImage","createPseudoElementMediaQuery","createPseudoElementWithContent","createPseudoElement","appendix","escapedClassName","escapeClassNames","pseudoClasses","pseudoElementString","imageSource","imageSourceWebP","pseudoBefore","pseudoAfter","currentBackgroundStyles","setTransitionStyles","kebabifyBackgroundStyles","Number","hasStackedImages","allSources","sourcesAsUrl","sourcesAsUrlWithCSS","cssStrings","currentMedia","sourceString","webPString","_shortUuid","_ClassCache","elementExists","additionalClassname","randomClass","componentClassNames","specialChars","_gbiSpecialChars","__GBI_SPECIAL_CHARS__","specialCharRegEx","resultingStyles","styledProps","backgroundPosition","backgroundRepeat","backgroundSize","article","blog_categories","publishedAt","slug","category","Link","blog","latest","theme","anchor","useBlogArticles","blogArticle","allStrapiBlogArticles","customArticle","art","strapiId","destacado","latestArticles","customArticles","articles","blogImage","colVariant","buttonVariant","nameImage","quality","formats","newsImage","published_at","description","FaChevronRight","icon","icon2","extPath","startsWith","click","useFooter","allStrapiFooter","logo","blocks","socialMediaIcons","getImage","iconLinks","socialMediaTitle","block","titleLink","externalLinks","links","internalLinks","contacts","iconsContacts","submenuItem","active","section","handleLocation","handleMenuShown","pageExist","useState","isShown","setIsShown","pages","usePages","careers","useCareers","childs","activeClass","dataProgramTypes","useProgramTypes","dataCareerStudyClass","useCareerStudyClass","dataAttendaceModes","useAttendanceModes","level2","handleType","programTypes","allStrapiStudyClasses","careerStudyClasses","allStrapiCareerStudyClasses","attendaceModes","allStrapiAttendanceModes","submenuPagesL2","allStrapiPages","submenuL2Item","strapiParent","submenuL2external","externalLink","submenuL2internal","internalLink","customLink","level1external","level1internal","singlePage","page","slugSection","menuSection","slugParent","career","allStrapiCareers","aria-labelledby","handleOverlay","academicOffer","dataAcademicOffer","submenuPages","submenuLevel1","submenu","nameSection","backgroundImage","imageSection","publicURL","titleImageSection","descriptionImage","linkImage","nameLinkImage","internalLinkRoute","justifyContent","useExternalServiceLinks","allStrapiExternalServiceLinks","internalRoute","dataform","useGlobalConfig","allStrapiGlobalConfig","formComponent","searchCareerHeader","enable","handleScroll","dimensions","useWindowSize","isLoginShown","setIsLoginShown","isEnrollShown","setIsEnrollShown","isMenuShown","setIsMenuShown","isActive","setIsActive","menuList","useMenuSections","allStrapiMenuSections","useEffect","rotateLogin","rotateEnroll","activeMenu","enroll","login","activeFalse","closeMenu","menuSections","useHome","pageInfo","allStrapiHome","sections","bannerItems","banner","banner_items","titleShort","titleHome","titleLong","detail","subMenu","SEO","homeSeo","pageTitle","keywords","metrics","useMetrics","metricsList","allStrapiMetrics","customMetricsList","numbersList","picture","iconCifra","cifra","customMetrics","profilePicture","testimony","subtitle","btnTheme","columnsMetric","onlyTestimony","descriptionOpenGraph","imageSigloOpenGraph","Seo","useGlobalSeo","allStrapiGlobalSeo","author","robots","siteMetadata","siteDesc","siteKeywords","metaDescription","siteTitle","preventIndex","defaultKeywords","Helmet","social_medias","useSocialMedia","socialMediaList","allStrapiSocialMedias","customSocialMedia","socialMediaCode","iconLink","idx","useTestimonies","testimonies","allStrapiTestimonies","customTestimony","tmony","tmy","latestTestimonies","columns","customTestimonies","testimoniesList","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","formFields","modalityValues","modality","careerOptions","distance_distributed","distance_distributed_home","insite","insite_home","insite_home_rio_iv","insite_distributed","interest_id","interest_code","interest","program_type","useLinkTag","useScript","portalId","PortalID","formId","asideBlock","video","fieldsContent","imageContent","videoContent","vid","paddingLeft","marginBottom","haveData","contentBlock","externalSrc","internalSrc","card","imageSlider","banner_item","embebedMap","buttonPage","cardsList","pageScript","pdfFile","simpleBanner","ThemeContext","Provider","useBootstrapPrefix","defaultPrefix","prefixes","useContext","_excluded","_ref$as","bsPrefix","Popover","placement","arrowProps","popper","show","decoratedBsPrefix","primaryPlacement","Title","Content","funcs","acc","_len2","_key2","isTrivialHref","SafeAnchor","handleClick","stopPropagation","compareDocumentPosition","useMounted","mounted","useRef","isMounted","useWillUnmount","valueRef","onUnmount","MAX_DELAY_MS","setChainedTimeout","timeoutAtMs","useTimeout","useMemo","safeFindDOMNode","componentOrElement","defaultKey","_toPropertyKey","hint","prim","toPrimitive","res","useUncontrolledProp","propValue","defaultValue","wasPropRef","_useState","stateValue","isProp","wasProp","useCallback","useCallbackRef","toFnRef","refA","refB","mergeRefs","auto","basePlacements","viewport","variationPlacements","modifierPhases","nextState","getBasePlacement","getBoundingClientRect","rect","getLayoutRect","clientRect","offsetLeft","offsetTop","getWindow","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","rootNode","getRootNode","isSameNode","host","getNodeName","nodeName","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","navigator","userAgent","currentNode","css","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mergePaddingObject","paddingObject","expandToHashMap","hashMap","unsetSides","mapToStyles","_Object$assign2","popperRect","offsets","gpuAcceleration","adaptive","roundOffsets","dpr","devicePixelRatio","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","scrollParent","isBody","visualViewport","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getVariation","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","padding","altContext","referenceElement","elements","rects","clippingClientRect","contextElement","referenceClientRect","popperOffsets","strategy","popperClientRect","elementClientRect","overflowOffsets","offsetData","modifiersData","multiply","getSideOffsets","preventedOffsets","isAnySideFullyClipped","getCompositeRect","elementOrVirtualElement","isFixed","isOffsetParentAnElement","scroll","modifiers","visited","modifier","requires","requiresIfExists","dep","depModifier","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","cleanupModifierEffects","scrollParents","orderModifiers","merged","mergeByName","enabled","_ref3$options","effect","cleanupFn","noopFn","update","_state$elements","reset","_state$orderedModifie","_state$orderedModifie2","destroy","onFirstUpdate","referenceRect","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","arrow","_options$scroll","_options$resize","resize","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","computeAutoPlacement","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","_loop","fittingPlacement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","initialPopperStyles","disabledApplyStylesModifier","ariaDescribedByModifier","ids","_popper$getAttribute","_state$elements2","EMPTY_MODIFIERS","popperElement","_ref3$enabled","_ref3$placement","_ref3$strategy","_ref3$modifiers","popperInstanceRef","_popperInstanceRef$cu","_popperInstanceRef$cu2","_useSafeState","popperState","updateModifier","optionsSupported","onceSupported","eventName","wrappedHandler","__once","onceHandler","useEventCallback","getRefTarget","onRootClose","_ref$clickTrigger","clickTrigger","preventMouseRootCloseRef","handleMouseCapture","currentTarget","metaKey","altKey","ctrlKey","shiftKey","button","isLeftClickEvent","handleMouse","handleKeyUp","currentEvent","removeMouseCaptureListener","removeMouseListener","removeKeyupListener","mobileSafariHackListeners","resolveContainerRef","nodeType","useWaitForDOMRef","onResolved","resolvedRef","setRef","earlyRef","nextRef","toModifierArray","mergeOptionsWithPopperConfig","_modifiers$preventOve","_modifiers$preventOve2","_modifiers$offset","_modifiers$arrow","enableEvents","flip","containerPadding","_ref$popperConfig","popperConfig","toModifierMap","eventListeners","Overlay","outerRef","_props$containerPaddi","_props$popperConfig","Transition","transition","_useCallbackRef","rootElement","attachRef","_useCallbackRef2","attachArrowRef","mergedRef","container","exited","setExited","_usePopper","mountOverlay","onHide","rootClose","rootCloseDisabled","rootCloseEvent","onExit","onExiting","onEnter","onEntering","onEntered","appear","onExited","_PropTypes$func","hasClass","classList","baseVal","getMargins","parseFloat","marginTop","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","initialStatus","isMounting","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","appearing","nodeRef","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","cancel","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","contextType","psuedoElement","ownerWindow","rUpper","msPattern","hyphenateStyleName","hyphenate","supportedTransforms","getPropertyValue","isTransform","removeProperty","emulateTransitionEnd","duration","handle","bubbles","createEvent","initEvent","dispatchEvent","triggerEvent","transitionEnd","removeEmulate","transitionEndListener","delay","triggerBrowserReflow","_fadeStyles","fadeStyles","Fade","handleEnter","innerProps","_excluded2","overlayRef","margins","arrowMargins","popoverClass","dropdownMenuClass","outerProps","popperRef","_usePopperMarginModif","margin","_margins$current","_arrowMargins$current","_getMargins","marginModifiers","actualTransition","overlayProps","aRef","__wrapped","wrapRefs","scheduleUpdate","outOfBoundaries","hide","RefHolder","handleMouseOverOut","relatedNative","related","relatedTarget","nativeEvent","OverlayTrigger","trigger","propsShow","_ref$defaultShow","defaultShow","propsDelay","_ref$flip","triggerNodeRef","hoverStateRef","_useUncontrolledProp","setShow","normalizeDelay","getTarget","handleShow","handleHide","handleFocus","handleBlur","handleMouseOver","_len3","_key3","handleMouseOut","_len4","_key4","triggers","triggerProps","cloneElement","iconType","time","dateDay","dateMonth","pageUrl","paginaName","pageSectionLink","shareUrl","categoryBlock","subtitleBlock","summaryBlock","timeBlock","dateBlock","popover","buttonsBlock","urls","urlTemp","urlsTemp","aria-label","news","useNews","newsList","allStrapiNewsContents","customNewsList","latestNews","newsTag","customNews","newsToDisplay","academicOfferMain","useAcademicOfferMain","allStrapiAcademicOfferMain","urlWhatsappFlotante","whatsappFlotante","LogoWhatsapp","filterMenu","useAppContext","loadMore","seeMore","InitialFilter","useAcademicOffer","totalCareers","allStrapiAcademicOffer","menuMark","setMenuMark","queryFilter","buttonDisabled","academicOfferSeo","pageId","blog_articles","videos","news_contents","studyClasses","programsTypes","attendanceModes","headerPage","imgStudyClass","imageStudyClasses","imageAttendanceModes","studyClassesList","studyclass","academicOfferMainSeo","titleStudyClasses","titleAttendanceModes","textInput","handleKeyPress","handleEnterPress","FaSearch","careerImage","attendance_modes","study_class","modalidad","tipoPrograma","resetSearch","checkboxPress","activeMode","setActiveMode","activeProgram","setActiveProgram","activeStudyClass","setActiveStudyClass","dataAttendanceModes","dataProgramType","dataCareerStudyArea","programs","program_types","onActive","onPress","idType","studyAreas","study_areas","areas","modalities","checkboxLength","getElementsByClassName","handlePressCheckBox","defaultChecked","isLink","FaAngleUp","FaAngleDown","urlVideo","substring","videoId","setImage","getImgVimeo","fetch","resp","json","urlImg","thumbnail_url","hiddecontact","navegationContent","FaArrowRight","activeChild","setActiveChild","_objectSpread2","excluded","sourceKeys","sourceSymbolKeys","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","camelize","chr","styleToObject","pair","PRODUCTION","normalizeIconArgs","iconName","objectWithKey","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","symbol","titleId","iconLookup","_classes","spin","pulse","fixedWidth","inverse","rotation","pull","swapOpacity","renderedIcon","_console","abstract","extraProps","convertCurry","mixins","attrs","_extraProps$style","existingStyle","remaining","_iconsCache","faAddressBook","faAddressCard","faAngry","faArrowAltCircleDown","faArrowAltCircleLeft","faArrowAltCircleRight","faArrowAltCircleUp","faBell","faBellSlash","faBookmark","faBuilding","faCalendar","faCalendarAlt","faCalendarCheck","faCalendarMinus","faCalendarPlus","faCalendarTimes","faCaretSquareDown","faCaretSquareLeft","faCaretSquareRight","faCaretSquareUp","faChartBar","faCheckCircle","faCheckSquare","faCircle","faClipboard","faClock","faClone","faClosedCaptioning","faComment","faCommentAlt","faCommentDots","faComments","faCompass","faCopy","faCopyright","faCreditCard","faDizzy","faDotCircle","faEdit","faEnvelope","faEnvelopeOpen","faEye","faEyeSlash","faFile","faFileAlt","faFileArchive","faFileAudio","faFileCode","faFileExcel","faFileImage","faFilePdf","faFilePowerpoint","faFileVideo","faFileWord","faFlag","faFlushed","faFolder","faFolderOpen","faFontAwesomeLogoFull","faFrown","faFrownOpen","faFutbol","faGem","faGrimace","faGrin","faGrinAlt","faGrinBeam","faGrinBeamSweat","faGrinHearts","faGrinSquint","faGrinSquintTears","faGrinStars","faGrinTears","faGrinTongue","faGrinTongueSquint","faGrinTongueWink","faGrinWink","faHandLizard","faHandPaper","faHandPeace","faHandPointDown","faHandPointLeft","faHandPointRight","faHandPointUp","faHandPointer","faHandRock","faHandScissors","faHandSpock","faHandshake","faHdd","faHeart","faHospital","faHourglass","faIdBadge","faIdCard","faImage","faImages","faKeyboard","faKiss","faKissBeam","faKissWinkHeart","faLaugh","faLaughBeam","faLaughSquint","faLaughWink","faLemon","faLifeRing","faLightbulb","faListAlt","faMap","faMeh","faMehBlank","faMehRollingEyes","faMinusSquare","faMoneyBillAlt","faMoon","faNewspaper","faObjectGroup","faObjectUngroup","faPaperPlane","faPauseCircle","faPlayCircle","faPlusSquare","faQuestionCircle","faRegistered","faSadCry","faSadTear","faSave","faShareSquare","faSmile","faSmileBeam","faSmileWink","faSnowflake","faSquare","faStar","faStarHalf","faStickyNote","faStopCircle","faSun","faSurprise","faThumbsDown","faThumbsUp","faTimesCircle","faTired","faTrashAlt","faUser","faUserCircle","faWindowClose","faWindowMaximize","faWindowMinimize","faWindowRestore","library","fas","far","fab","childPages","childPagesList","nameParent","useVideoBlock","videoList","allStrapiVideos","selectedVideos","classVideo","makeTypeChecker","tabsRole","deepMap","isTabChild","toVal","mix","tmp","canUseActiveElement","tabCount","isNode","isTabNode","isTabDisabled","UncontrolledTabs","tabNodes","handleKeyDown","disableUpDownKeys","isTabFromContainer","selectedIndex","useSelectedIndex","getNextTab","getPrevTab","getLastTab","getFirstTab","setSelected","getTabsCount","_this$props2","getTab","getPanelsCount","panelCount","getChildren","_this$props3","disabledTabClassName","forceRenderTabPanel","selectedTabClassName","selectedTabPanelClassName","environment","tabIds","panelIds","diff","listIndex","wasTabFocused","env","determineCanUseActiveElement","tab","tabRef","panelId","selectedClassName","disabledClassName","tabId","forceRender","nodeAncestor","parentElement","_this$props4","domRef","Tabs","handleSelected","last","copyPropsToState","defaultFocus","getModeFromProps","maxTabIndex","defaultIndex","_this$state","TabList","DEFAULT_CLASS","Tab","checkFocus","_cx","TabPanel","contentTab","Items","accordeonItem","accordionBlock","itemsAccordion","blockItem","textBlock","activeItem","setActiveItem","careersList","customCareers","dataCategories","useBlogCategories","dataBlogPage","useBlogPage","blogs","allStrapiBlogPage","blogsDestacados","categories","allStrapiBlogCategories","query","setQuery","setResults","setTitle","inicialPage","setInicialPage","jp","blogCategories","handleCategory","blogMetadata","subTitle","onQuery","posts","postPerPage","inicialState","setTextInput","txt","charCode","deps","isFirst","rHyphen","pascalCase","_ref$displayName","BsComponent","_ref2$as","resolvedPrefix","CarouselItem","finalClassName","fade","indicators","activeIndex","onSlide","onSlid","keyboard","pause","touch","prevIcon","prevLabel","nextIcon","nextLabel","defaultActiveIndex","CarouselFunc","uncontrolledProps","_useUncontrolled","fieldName","propsValue","rest","handlerName","useUncontrolled","_useUncontrolled$as","nextDirectionRef","setDirection","_useState2","paused","setPaused","_useState3","isSliding","setIsSliding","_useState4","renderedActiveIndex","setRenderedActiveIndex","activeChildInterval","numChildren","activeChildIntervalRef","prev","nextActiveIndex","elementRef","useImperativeHandle","nextWhenVisible","elementStyle","slideDirection","orderClassName","directionalClassName","handleEntered","touchStartXRef","touchDeltaXRef","touchUnpauseTimeout","handleTouchStart","clientX","handleTouchMove","handleTouchEnd","touchDeltaX","shouldPlay","intervalHandleRef","_activeChildIntervalR","setInterval","visibilityState","clearInterval","indicatorOnClicks","_child","Caption","CarouselCaption","Item","setIndex","dataNews","newsContent","destacados","currentPage","setCurrentPage","postsPerPage","pageNumbers","indexOfLastPost","indexOfFirstPost","currentPosts","paginate","pageNumber","FaChevronLeft","pagina","news_content","linkType","altText","imageMobile","imageDesktop","bannerDestacado","otherBanners","bannersInCarousel","itemClassName","1","2","3","bannersDesktop","useBanner","bannerItemsList","allStrapiBannerItems","bannerToDisplay","setBannerToDisplay","customBannerList","windowWidth","blogArticles","prevArticle","nextArticle","date","eventDestacado","searchField","useEvents","eventsArray","allStrapiEvents","dataEventPage","useEventsPage","allStrapiEventPage","eventsDestacados","currentDate","currentMonth","getMonth","currentYear","getFullYear","month","setMonth","year","setYear","createQuery","querySearch","makeQuery","eventsCalendar","eventCalendar","eventsList","formatDateMonth","formatDateDay","eventImage","eventsMetadata","nextMonth","lastMonth","activeEventTypes","setactiveEventTypes","activeEventCategories","setactiveEventCategories","activeEventSites","setactiveEventSites","dataEventTypes","useEventTypes","dataEventsCategories","useEventCategories","dataEventsSites","useSites","eventTypes","allStrapiEventTypes","eventTypesList","eventType","eventCategories","allStrapiEventCategories","eventCategoriesList","eventCategory","eventSites","allStrapiSites","eventSitesList","eventSite","sede","webkitallowfullscreen","mozallowfullscreen","fastDeepEqual","DEFAULT_ID","Loader","apiKey","channel","client","_ref$id","_ref$libraries","libraries","region","mapIds","_ref$retries","retries","_ref$url","CALLBACK","callbacks","errors","loadPromise","loadCallback","google","execute","getElementById","createUrl","loadErrorCallback","deleteScript","onerrorEvent","failed","setScript","__googleMapsCallback","resetIfRetryingFailed","maps","setCallback","registerChild","gmapInstance","getMousePosition","mouse_","getUpdateCounter","updateCounter_","dispose","_getState","dispatcher","updateCounter","_onChangeHandler","dimensionsCache_","_onMouseChangeHandler","_onChildClick","onChildClick","hoverChildProps_","hoverKey_","_onChildMouseDown","onChildMouseDown","_onChildMouseEnter","onChildMouseEnter","hoverKey","_onChildMouseLeave","onChildMouseLeave","_onMouseAllow","allowMouse_","_onMouseChangeHandlerRaf","getHoverDistance","latLng","lat","lng","distanceToMouse","_getDimensions","experimental","$geoService","geoService","$onMouseAllow","$prerender","prerender","insideMapPanes","fromLatLngToDivPixel","fromLatLngToCenterPixel","seLatLng","seLat","seLng","fromLatLngToContainerPixel","$markerHolderClassName","$hover","$getDimensions","$dimensionKey","L","load","O","tileSize","_minZoom","_maxZoom","latRange","zoom","zoomScale","scaleZoom","LN2","project","lngX","latY","unproject","yLat","xLng","worldSize","PI","tan","atan","exp","locationPoint","centerPoint","pointLocation","_zoom","minZoom","maxZoom","tileZoom","zoomFraction","hasSize_","hasView_","transform_","setView","bearing","setViewSize","setMapCanvasProjection","maps_","mapCanvasProjection_","canProject","hasSize","LatLng","fromContainerPixelToLatLng","getWidth","getHeight","getZoom","getCenter","getBounds","log2","Z","isExplorer","isOpera","isChrome","isSafari","attachEvent","V","$","__resizeTriggers__","firstElementChild","lastElementChild","Y","__resizeRAF__","__resizeLast__","__resizeListeners__","X","J","Q","te","oe","animationName","ne","ie","se","ae","pe","le","ue","he","_getMinZoom","geoService_","_computeMinZoom","_mapDomResizeCallback","resetSizeOnIdle_","defaultCenter","map_","setCenter","resetBoundsOnResize","_setLayers","layers_","setMap","_renderPortal","_getHoverDistance","markersDispatcher_","_initMap","initialized_","defaultZoom","_onBoundsChanged","bootstrapURLKeys","googleMapLoader","heatmapLibrary","mounted_","heatmap","visualization","HeatmapLayer","weight","minZoom_","overviewMapControl","streetViewControl","rotateControl","mapTypeControl","featureType","elementType","stylers","defaultDraggableOption_","googleMapDom_","layerTypes","OverlayView","onAdd","screen","overlayViewDivStyle","getPanes","overlayMouseTarget","getProjection","onRemove","draw","debounced","googleApiLoadedCalled_","_onGoogleApiLoaded","_onChildMouseMove","fireMouseEventOnIdle_","overlay_","onTilesLoaded","_onTilesLoaded","zoomAnimationInProgress_","_onZoomAnimationStart","getTime","zoomControlClickTime_","_setViewSize","_onZoomAnimationEnd","dragTime_","mouseInMap_","_onDrag","_onDragEnd","_onMapTypeIdChange","getMapTypeId","catch","onGoogleApiLoaded","hoverDistance","onMapTypeIdChange","onZoomAnimationStart","onZoomAnimationEnd","childMouseDownArgs_","_onChildMouseUp","onChildMouseUp","childMouseUpTime_","onChildMouseMove","fullscreen","webkitIsFullScreen","mozFullScreen","msFullscreenElement","innerWidth","innerHeight","_onWindowResize","_onMapMouseMove","mouseMoveTime_","boundingRect_","clientY","_onClick","_onMapClick","_onMapMouseDownNative","_onMapMouseDown","_onMapMouseDownCapture","_onKeyDownCapture","_isCenterDefined","onBoundsChange","prevBounds_","centerIsObject_","bounds","nw","sw","marginBounds","_registerChild","panTo","setZoom","detachEvent","shouldUnregisterMapOnUnmount","scrollwheel","clearInstanceListeners","onMouseDownCapture","yesIWantToUseGoogleMapApiInternals","latitude","longitude","observation","dataNewsPage","useNewsPage","allStrapiNewsPage","newsDestacados","newsDestacadas","newsArticle","newsMetadata","useEventsLatest","allEvents","customEventsList","ev","latestEvents","eventsToDisplay","eventsData","monthFilter","maxNroDays","getDate","firstDay","getDay","monthName","isEvent","day","colNumber","arrayToPrint","col","filterCalendar","extLinks","imagesList","iconsContactList","contact","iconContact","dataFiscal","imageDataFiscal","visible","sitesArray","activeSite","setActiveSite","activeButton","setActiveButton","listActive","setListActive","classActive","handleSearch","handleSearchButton","exist","nameSearch","openSite","site","listSites","street","streetNumber","phone1","sites","handleSite","useFilteredSites","sitesList","FaMapMarkerAlt","city","markers","useContact","allStrapiContacPage","contactSeo","navegation","sliders","FaUser","FaGraduationCap","FaFilePdf","onChangeSelect","studyClassesData","careerStudyClassData","careerStudyClass","SetCareerStudyClass","studyClass","SetStudyClass","SetCareer","useGallery","setLoadMore","strapiGalleryPage","galleryItems","allStrapiGalleryItems","galleryMetadata","cards","firstPageOrder","cardsSectionTitle","cardsListHorizontal","AppContext","createContext","AppProvider","setSearchField","programsTypeSearch","modalitySearch","studyClassSearch","eventTypeSearch","eventCategorySearch","eventSiteSearch","calendarSearch","defaultHeight","defaultWidth","useStaticQuery","windowHeight","setDimensions","arrayResult","expiredDate","toISOString","centersAllStrapiSites","uniqueQuery","FaArrowUp","minimizedButton","chatContainer","whatsapp","notificationCount","scripts","Script","isHydrating","codeFaceMeta","facebookMeta","handleMutations","mutations","mutation","addedNodes","badge","Node","ELEMENT_NODE","isFromOtherUsers","Audio","play","resetNotificationBadge","geolocation","getCurrentPosition","watchPosition","clearWatch","KoreSDK","chatConfig","MutationObserver","childList","subtree","setupNotificationBadgeListeners","observeBotMessages","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","secret","getShim","ReactPropTypes","bigint","instanceOf","objectOf","oneOf","exact","checkPropTypes","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","stop","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","warning"],"mappings":"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","file":"b1662607a654f7d89ab5db819dd55b4329c93dde-a6b8cf2213eea2c9b6e4.js","sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","import { Component } from 'react';\n\nfunction createCommonjsModule(a, b) {\n return b = {\n exports: {}\n }, a(b, b.exports), b.exports;\n}\n\nvar _core = createCommonjsModule(function (a) {\n var b = a.exports = {\n version: '2.5.7'\n };\n 'number' == typeof __e && (__e = b);\n}),\n _core_1 = _core.version,\n _global = createCommonjsModule(function (a) {\n var b = a.exports = 'undefined' != typeof window && window.Math == Math ? window : 'undefined' != typeof self && self.Math == Math ? self : Function('return this')();\n 'number' == typeof __g && (__g = b);\n}),\n _library = !1,\n _shared = createCommonjsModule(function (a) {\n var b = _global['__core-js_shared__'] || (_global['__core-js_shared__'] = {});\n (a.exports = function (a, c) {\n return b[a] || (b[a] = c === void 0 ? {} : c);\n })('versions', []).push({\n version: _core.version,\n mode: _library ? 'pure' : 'global',\n copyright: '\\xA9 2018 Denis Pushkarev (zloirock.ru)'\n });\n}),\n id = 0,\n px = Math.random(),\n _uid = function _uid(a) {\n return 'Symbol('.concat(a === void 0 ? '' : a, ')_', (++id + px).toString(36));\n},\n _wks = createCommonjsModule(function (a) {\n var b = _shared('wks'),\n c = _global.Symbol,\n d = 'function' == typeof c,\n e = a.exports = function (a) {\n return b[a] || (b[a] = d && c[a] || (d ? c : _uid)('Symbol.' + a));\n };\n\n e.store = b;\n}),\n _isObject = function _isObject(a) {\n return 'object' == typeof a ? null !== a : 'function' == typeof a;\n},\n _anObject = function _anObject(a) {\n if (!_isObject(a)) throw TypeError(a + ' is not an object!');\n return a;\n},\n _fails = function _fails(a) {\n try {\n return !!a();\n } catch (a) {\n return !0;\n }\n},\n _descriptors = !_fails(function () {\n return 7 != Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a;\n}),\n document$1 = _global.document,\n is = _isObject(document$1) && _isObject(document$1.createElement),\n _domCreate = function _domCreate(a) {\n return is ? document$1.createElement(a) : {};\n},\n _ie8DomDefine = !_descriptors && !_fails(function () {\n return 7 != Object.defineProperty(_domCreate('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a;\n}),\n _toPrimitive = function _toPrimitive(a, b) {\n if (!_isObject(a)) return a;\n var c, d;\n if (b && 'function' == typeof (c = a.toString) && !_isObject(d = c.call(a))) return d;\n if ('function' == typeof (c = a.valueOf) && !_isObject(d = c.call(a))) return d;\n if (!b && 'function' == typeof (c = a.toString) && !_isObject(d = c.call(a))) return d;\n throw TypeError('Can\\'t convert object to primitive value');\n},\n dP = Object.defineProperty,\n f = _descriptors ? Object.defineProperty : function (a, b, c) {\n if (_anObject(a), b = _toPrimitive(b, !0), _anObject(c), _ie8DomDefine) try {\n return dP(a, b, c);\n } catch (a) {}\n if ('get' in c || 'set' in c) throw TypeError('Accessors not supported!');\n return 'value' in c && (a[b] = c.value), a;\n},\n _objectDp = {\n f: f\n},\n _propertyDesc = function _propertyDesc(a, b) {\n return {\n enumerable: !(1 & a),\n configurable: !(2 & a),\n writable: !(4 & a),\n value: b\n };\n},\n _hide = _descriptors ? function (a, b, c) {\n return _objectDp.f(a, b, _propertyDesc(1, c));\n} : function (a, b, c) {\n return a[b] = c, a;\n},\n UNSCOPABLES = _wks('unscopables'),\n ArrayProto = Array.prototype;\n\nArrayProto[UNSCOPABLES] == null && _hide(ArrayProto, UNSCOPABLES, {});\n\nvar _addToUnscopables = function _addToUnscopables(a) {\n ArrayProto[UNSCOPABLES][a] = !0;\n},\n _iterStep = function _iterStep(a, b) {\n return {\n value: b,\n done: !!a\n };\n},\n _iterators = {},\n toString = {}.toString,\n _cof = function _cof(a) {\n return toString.call(a).slice(8, -1);\n},\n _iobject = Object('z').propertyIsEnumerable(0) ? Object : function (a) {\n return 'String' == _cof(a) ? a.split('') : Object(a);\n},\n _defined = function _defined(a) {\n if (a == null) throw TypeError('Can\\'t call method on ' + a);\n return a;\n},\n _toIobject = function _toIobject(a) {\n return _iobject(_defined(a));\n},\n hasOwnProperty = {}.hasOwnProperty,\n _has = function _has(a, b) {\n return hasOwnProperty.call(a, b);\n},\n _redefine = createCommonjsModule(function (a) {\n var b = _uid('src'),\n c = Function.toString,\n d = ('' + c).split('toString');\n\n _core.inspectSource = function (a) {\n return c.call(a);\n }, (a.exports = function (a, c, e, f) {\n var g = 'function' == typeof e;\n g && (_has(e, 'name') || _hide(e, 'name', c));\n a[c] === e || (g && (_has(e, b) || _hide(e, b, a[c] ? '' + a[c] : d.join(c + ''))), a === _global ? a[c] = e : f ? a[c] ? a[c] = e : _hide(a, c, e) : (delete a[c], _hide(a, c, e)));\n })(Function.prototype, 'toString', function () {\n return 'function' == typeof this && this[b] || c.call(this);\n });\n}),\n _aFunction = function _aFunction(a) {\n if ('function' != typeof a) throw TypeError(a + ' is not a function!');\n return a;\n},\n _ctx = function _ctx(d, e, a) {\n return (_aFunction(d), void 0 === e) ? d : 1 === a ? function (b) {\n return d.call(e, b);\n } : 2 === a ? function (c, a) {\n return d.call(e, c, a);\n } : 3 === a ? function (f, a, b) {\n return d.call(e, f, a, b);\n } : function () {\n return d.apply(e, arguments);\n };\n},\n PROTOTYPE = 'prototype',\n $export = function $export(a, b, c) {\n var d,\n e,\n f,\n g,\n h = a & $export.F,\n i = a & $export.G,\n j = a & $export.S,\n k = a & $export.P,\n l = a & $export.B,\n m = i ? _global : j ? _global[b] || (_global[b] = {}) : (_global[b] || {})[PROTOTYPE],\n n = i ? _core : _core[b] || (_core[b] = {}),\n o = n[PROTOTYPE] || (n[PROTOTYPE] = {});\n\n for (d in i && (c = b), c) {\n e = !h && m && void 0 !== m[d], f = (e ? m : c)[d], g = l && e ? _ctx(f, _global) : k && 'function' == typeof f ? _ctx(Function.call, f) : f, m && _redefine(m, d, f, a & $export.U), n[d] != f && _hide(n, d, g), k && o[d] != f && (o[d] = f);\n }\n};\n\n_global.core = _core, $export.F = 1, $export.G = 2, $export.S = 4, $export.P = 8, $export.B = 16, $export.W = 32, $export.U = 64, $export.R = 128;\n\nvar _export = $export,\n ceil = Math.ceil,\n floor = Math.floor,\n _toInteger = function _toInteger(a) {\n return isNaN(a = +a) ? 0 : (0 < a ? floor : ceil)(a);\n},\n min = Math.min,\n _toLength = function _toLength(a) {\n return 0 < a ? min(_toInteger(a), 9007199254740991) : 0;\n},\n max = Math.max,\n min$1 = Math.min,\n _toAbsoluteIndex = function _toAbsoluteIndex(a, b) {\n return a = _toInteger(a), 0 > a ? max(a + b, 0) : min$1(a, b);\n},\n _arrayIncludes = function _arrayIncludes(a) {\n return function (b, c, d) {\n var e,\n f = _toIobject(b),\n g = _toLength(f.length),\n h = _toAbsoluteIndex(d, g);\n\n if (a && c != c) {\n for (; g > h;) {\n if (e = f[h++], e != e) return !0;\n }\n } else for (; g > h; h++) {\n if ((a || h in f) && f[h] === c) return a || h || 0;\n }\n\n return !a && -1;\n };\n},\n shared = _shared('keys'),\n _sharedKey = function _sharedKey(a) {\n return shared[a] || (shared[a] = _uid(a));\n},\n arrayIndexOf = _arrayIncludes(!1),\n IE_PROTO = _sharedKey('IE_PROTO'),\n _objectKeysInternal = function _objectKeysInternal(a, b) {\n var c,\n d = _toIobject(a),\n e = 0,\n f = [];\n\n for (c in d) {\n c != IE_PROTO && _has(d, c) && f.push(c);\n }\n\n for (; b.length > e;) {\n _has(d, c = b[e++]) && (~arrayIndexOf(f, c) || f.push(c));\n }\n\n return f;\n},\n _enumBugKeys = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'],\n _objectKeys = Object.keys || function (a) {\n return _objectKeysInternal(a, _enumBugKeys);\n},\n _objectDps = _descriptors ? Object.defineProperties : function (a, b) {\n _anObject(a);\n\n for (var c, d = _objectKeys(b), e = d.length, f = 0; e > f;) {\n _objectDp.f(a, c = d[f++], b[c]);\n }\n\n return a;\n},\n document$2 = _global.document,\n _html = document$2 && document$2.documentElement,\n IE_PROTO$1 = _sharedKey('IE_PROTO'),\n Empty = function Empty() {},\n PROTOTYPE$1 = 'prototype',\n _createDict = function createDict() {\n var a,\n b = _domCreate('iframe'),\n c = _enumBugKeys.length;\n\n for (b.style.display = 'none', _html.appendChild(b), b.src = 'javascript:', a = b.contentWindow.document, a.open(), a.write('<script>document.F=Object</script>'), a.close(), _createDict = a.F; c--;) {\n delete _createDict[PROTOTYPE$1][_enumBugKeys[c]];\n }\n\n return _createDict();\n},\n _objectCreate = Object.create || function (a, b) {\n var c;\n return null === a ? c = _createDict() : (Empty[PROTOTYPE$1] = _anObject(a), c = new Empty(), Empty[PROTOTYPE$1] = null, c[IE_PROTO$1] = a), void 0 === b ? c : _objectDps(c, b);\n},\n def = _objectDp.f,\n TAG = _wks('toStringTag'),\n _setToStringTag = function _setToStringTag(a, b, c) {\n a && !_has(a = c ? a : a.prototype, TAG) && def(a, TAG, {\n configurable: !0,\n value: b\n });\n},\n IteratorPrototype = {};\n\n_hide(IteratorPrototype, _wks('iterator'), function () {\n return this;\n});\n\nvar _iterCreate = function _iterCreate(a, b, c) {\n a.prototype = _objectCreate(IteratorPrototype, {\n next: _propertyDesc(1, c)\n }), _setToStringTag(a, b + ' Iterator');\n},\n _toObject = function _toObject(a) {\n return Object(_defined(a));\n},\n IE_PROTO$2 = _sharedKey('IE_PROTO'),\n ObjectProto = Object.prototype,\n _objectGpo = Object.getPrototypeOf || function (a) {\n return a = _toObject(a), _has(a, IE_PROTO$2) ? a[IE_PROTO$2] : 'function' == typeof a.constructor && a instanceof a.constructor ? a.constructor.prototype : a instanceof Object ? ObjectProto : null;\n},\n ITERATOR = _wks('iterator'),\n BUGGY = !([].keys && 'next' in [].keys()),\n FF_ITERATOR = '@@iterator',\n KEYS = 'keys',\n VALUES = 'values',\n returnThis = function returnThis() {\n return this;\n},\n _iterDefine = function _iterDefine(a, b, c, d, e, f, g) {\n _iterCreate(c, b, d);\n\n var h,\n i,\n j,\n k = function k(a) {\n return !BUGGY && a in o ? o[a] : a === KEYS ? function () {\n return new c(this, a);\n } : a === VALUES ? function () {\n return new c(this, a);\n } : function () {\n return new c(this, a);\n };\n },\n l = b + ' Iterator',\n m = e == VALUES,\n n = !1,\n o = a.prototype,\n p = o[ITERATOR] || o[FF_ITERATOR] || e && o[e],\n q = p || k(e),\n r = e ? m ? k('entries') : q : void 0,\n s = 'Array' == b ? o.entries || p : p;\n\n if (s && (j = _objectGpo(s.call(new a())), j !== Object.prototype && j.next && (_setToStringTag(j, l, !0), 'function' != typeof j[ITERATOR] && _hide(j, ITERATOR, returnThis))), m && p && p.name !== VALUES && (n = !0, q = function q() {\n return p.call(this);\n }), (BUGGY || n || !o[ITERATOR]) && _hide(o, ITERATOR, q), _iterators[b] = q, _iterators[l] = returnThis, e) if (h = {\n values: m ? q : k(VALUES),\n keys: f ? q : k(KEYS),\n entries: r\n }, g) for (i in h) {\n i in o || _redefine(o, i, h[i]);\n } else _export(_export.P + _export.F * (BUGGY || n), b, h);\n return h;\n},\n es6_array_iterator = _iterDefine(Array, 'Array', function (a, b) {\n this._t = _toIobject(a), this._i = 0, this._k = b;\n}, function () {\n var a = this._t,\n b = this._k,\n c = this._i++;\n return !a || c >= a.length ? (this._t = void 0, _iterStep(1)) : 'keys' == b ? _iterStep(0, c) : 'values' == b ? _iterStep(0, a[c]) : _iterStep(0, [c, a[c]]);\n}, 'values');\n\n_iterators.Arguments = _iterators.Array, _addToUnscopables('keys'), _addToUnscopables('values'), _addToUnscopables('entries');\n\nfor (var ITERATOR$1 = _wks('iterator'), TO_STRING_TAG = _wks('toStringTag'), ArrayValues = _iterators.Array, DOMIterables = {\n CSSRuleList: !0,\n CSSStyleDeclaration: !1,\n CSSValueList: !1,\n ClientRectList: !1,\n DOMRectList: !1,\n DOMStringList: !1,\n DOMTokenList: !0,\n DataTransferItemList: !1,\n FileList: !1,\n HTMLAllCollection: !1,\n HTMLCollection: !1,\n HTMLFormElement: !1,\n HTMLSelectElement: !1,\n MediaList: !0,\n MimeTypeArray: !1,\n NamedNodeMap: !1,\n NodeList: !0,\n PaintRequestList: !1,\n Plugin: !1,\n PluginArray: !1,\n SVGLengthList: !1,\n SVGNumberList: !1,\n SVGPathSegList: !1,\n SVGPointList: !1,\n SVGStringList: !1,\n SVGTransformList: !1,\n SourceBufferList: !1,\n StyleSheetList: !0,\n TextTrackCueList: !1,\n TextTrackList: !1,\n TouchList: !1\n}, collections = _objectKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var key,\n NAME = collections[i],\n explicit = DOMIterables[NAME],\n Collection = _global[NAME],\n proto = Collection && Collection.prototype;\n if (proto && (proto[ITERATOR$1] || _hide(proto, ITERATOR$1, ArrayValues), proto[TO_STRING_TAG] || _hide(proto, TO_STRING_TAG, NAME), _iterators[NAME] = ArrayValues, explicit)) for (key in es6_array_iterator) {\n proto[key] || _redefine(proto, key, es6_array_iterator[key], !0);\n }\n}\n\nvar f$1 = {}.propertyIsEnumerable,\n _objectPie = {\n f: f$1\n},\n isEnum = _objectPie.f,\n _objectToArray = function _objectToArray(a) {\n return function (b) {\n for (var c, d = _toIobject(b), e = _objectKeys(d), f = e.length, g = 0, h = []; f > g;) {\n isEnum.call(d, c = e[g++]) && h.push(a ? [c, d[c]] : d[c]);\n }\n\n return h;\n };\n},\n $entries = _objectToArray(!0);\n\n_export(_export.S, 'Object', {\n entries: function entries(a) {\n return $entries(a);\n }\n});\n\nfunction _defineProperty(a, b, c) {\n return b in a ? Object.defineProperty(a, b, {\n value: c,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : a[b] = c, a;\n}\n\nfunction _inheritsLoose(a, b) {\n a.prototype = Object.create(b.prototype), a.prototype.constructor = a, a.__proto__ = b;\n}\n\nfunction _objectWithoutPropertiesLoose(a, b) {\n if (null == a) return {};\n var c,\n d,\n e = {},\n f = Object.keys(a);\n\n for (d = 0; d < f.length; d++) {\n c = f[d], 0 <= b.indexOf(c) || (e[c] = a[c]);\n }\n\n return e;\n}\n\nfunction _assertThisInitialized(a) {\n if (void 0 === a) throw new ReferenceError('this hasn\\'t been initialised - super() hasn\\'t been called');\n return a;\n}\n\nvar ScriptLoader = function (a) {\n function b() {\n for (var b, c = arguments.length, d = Array(c), e = 0; e < c; e++) {\n d[e] = arguments[e];\n }\n\n return b = a.call.apply(a, [this].concat(d)) || this, _defineProperty(_assertThisInitialized(_assertThisInitialized(b)), 'timeout', null), _defineProperty(_assertThisInitialized(_assertThisInitialized(b)), '_appendScript', function () {\n var a = b.props,\n c = a.onCreate,\n d = a.onLoad,\n e = a.onError,\n f = a.delayMs,\n g = a.src,\n h = _objectWithoutPropertiesLoose(a, ['onCreate', 'onLoad', 'onError', 'delayMs', 'src']),\n i = document.createElement('script');\n\n i.src = g;\n\n for (var j = Object.entries(h), k = 0; k < j.length; k++) {\n var l = j[k],\n m = l[0],\n n = l[1];\n i.setAttribute(m, n);\n }\n\n i.onload = d, i.onerror = e, document.body.appendChild(i), c();\n }), b;\n }\n\n _inheritsLoose(b, a);\n\n var c = b.prototype;\n return c.componentDidMount = function () {\n this.timeout = setTimeout(this._appendScript, this.props.delayMs);\n }, c.componentWillUnmount = function () {\n clearTimeout(this.timeout);\n }, c.render = function () {\n return null;\n }, b;\n}(Component);\n\nScriptLoader.defaultProps = {\n delayMs: 0,\n onCreate: Function.prototype,\n onError: function onError(a) {\n throw new URIError('The script ' + a.target.src + ' is not accessible');\n },\n onLoad: Function.prototype\n};\nexport default ScriptLoader;","'use strict';\n\nmodule.exports = Point;\n/**\n * A standalone point geometry with useful accessor, comparison, and\n * modification methods.\n *\n * @class Point\n * @param {Number} x the x-coordinate. this could be longitude or screen\n * pixels, or any other sort of unit.\n * @param {Number} y the y-coordinate. this could be latitude or screen\n * pixels, or any other sort of unit.\n * @example\n * var point = new Point(-77, 38);\n */\n\nfunction Point(x, y) {\n this.x = x;\n this.y = y;\n}\n\nPoint.prototype = {\n /**\n * Clone this point, returning a new point that can be modified\n * without affecting the old one.\n * @return {Point} the clone\n */\n clone: function clone() {\n return new Point(this.x, this.y);\n },\n\n /**\n * Add this point's x & y coordinates to another point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n add: function add(p) {\n return this.clone()._add(p);\n },\n\n /**\n * Subtract this point's x & y coordinates to from point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n sub: function sub(p) {\n return this.clone()._sub(p);\n },\n\n /**\n * Multiply this point's x & y coordinates by point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n multByPoint: function multByPoint(p) {\n return this.clone()._multByPoint(p);\n },\n\n /**\n * Divide this point's x & y coordinates by point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n divByPoint: function divByPoint(p) {\n return this.clone()._divByPoint(p);\n },\n\n /**\n * Multiply this point's x & y coordinates by a factor,\n * yielding a new point.\n * @param {Point} k factor\n * @return {Point} output point\n */\n mult: function mult(k) {\n return this.clone()._mult(k);\n },\n\n /**\n * Divide this point's x & y coordinates by a factor,\n * yielding a new point.\n * @param {Point} k factor\n * @return {Point} output point\n */\n div: function div(k) {\n return this.clone()._div(k);\n },\n\n /**\n * Rotate this point around the 0, 0 origin by an angle a,\n * given in radians\n * @param {Number} a angle to rotate around, in radians\n * @return {Point} output point\n */\n rotate: function rotate(a) {\n return this.clone()._rotate(a);\n },\n\n /**\n * Rotate this point around p point by an angle a,\n * given in radians\n * @param {Number} a angle to rotate around, in radians\n * @param {Point} p Point to rotate around\n * @return {Point} output point\n */\n rotateAround: function rotateAround(a, p) {\n return this.clone()._rotateAround(a, p);\n },\n\n /**\n * Multiply this point by a 4x1 transformation matrix\n * @param {Array<Number>} m transformation matrix\n * @return {Point} output point\n */\n matMult: function matMult(m) {\n return this.clone()._matMult(m);\n },\n\n /**\n * Calculate this point but as a unit vector from 0, 0, meaning\n * that the distance from the resulting point to the 0, 0\n * coordinate will be equal to 1 and the angle from the resulting\n * point to the 0, 0 coordinate will be the same as before.\n * @return {Point} unit vector point\n */\n unit: function unit() {\n return this.clone()._unit();\n },\n\n /**\n * Compute a perpendicular point, where the new y coordinate\n * is the old x coordinate and the new x coordinate is the old y\n * coordinate multiplied by -1\n * @return {Point} perpendicular point\n */\n perp: function perp() {\n return this.clone()._perp();\n },\n\n /**\n * Return a version of this point with the x & y coordinates\n * rounded to integers.\n * @return {Point} rounded point\n */\n round: function round() {\n return this.clone()._round();\n },\n\n /**\n * Return the magitude of this point: this is the Euclidean\n * distance from the 0, 0 coordinate to this point's x and y\n * coordinates.\n * @return {Number} magnitude\n */\n mag: function mag() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n },\n\n /**\n * Judge whether this point is equal to another point, returning\n * true or false.\n * @param {Point} other the other point\n * @return {boolean} whether the points are equal\n */\n equals: function equals(other) {\n return this.x === other.x && this.y === other.y;\n },\n\n /**\n * Calculate the distance from this point to another point\n * @param {Point} p the other point\n * @return {Number} distance\n */\n dist: function dist(p) {\n return Math.sqrt(this.distSqr(p));\n },\n\n /**\n * Calculate the distance from this point to another point,\n * without the square root step. Useful if you're comparing\n * relative distances.\n * @param {Point} p the other point\n * @return {Number} distance\n */\n distSqr: function distSqr(p) {\n var dx = p.x - this.x,\n dy = p.y - this.y;\n return dx * dx + dy * dy;\n },\n\n /**\n * Get the angle from the 0, 0 coordinate to this point, in radians\n * coordinates.\n * @return {Number} angle\n */\n angle: function angle() {\n return Math.atan2(this.y, this.x);\n },\n\n /**\n * Get the angle from this point to another point, in radians\n * @param {Point} b the other point\n * @return {Number} angle\n */\n angleTo: function angleTo(b) {\n return Math.atan2(this.y - b.y, this.x - b.x);\n },\n\n /**\n * Get the angle between this point and another point, in radians\n * @param {Point} b the other point\n * @return {Number} angle\n */\n angleWith: function angleWith(b) {\n return this.angleWithSep(b.x, b.y);\n },\n\n /*\n * Find the angle of the two vectors, solving the formula for\n * the cross product a x b = |a||b|sin(θ) for θ.\n * @param {Number} x the x-coordinate\n * @param {Number} y the y-coordinate\n * @return {Number} the angle in radians\n */\n angleWithSep: function angleWithSep(x, y) {\n return Math.atan2(this.x * y - this.y * x, this.x * x + this.y * y);\n },\n _matMult: function _matMult(m) {\n var x = m[0] * this.x + m[1] * this.y,\n y = m[2] * this.x + m[3] * this.y;\n this.x = x;\n this.y = y;\n return this;\n },\n _add: function _add(p) {\n this.x += p.x;\n this.y += p.y;\n return this;\n },\n _sub: function _sub(p) {\n this.x -= p.x;\n this.y -= p.y;\n return this;\n },\n _mult: function _mult(k) {\n this.x *= k;\n this.y *= k;\n return this;\n },\n _div: function _div(k) {\n this.x /= k;\n this.y /= k;\n return this;\n },\n _multByPoint: function _multByPoint(p) {\n this.x *= p.x;\n this.y *= p.y;\n return this;\n },\n _divByPoint: function _divByPoint(p) {\n this.x /= p.x;\n this.y /= p.y;\n return this;\n },\n _unit: function _unit() {\n this._div(this.mag());\n\n return this;\n },\n _perp: function _perp() {\n var y = this.y;\n this.y = this.x;\n this.x = -y;\n return this;\n },\n _rotate: function _rotate(angle) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n x = cos * this.x - sin * this.y,\n y = sin * this.x + cos * this.y;\n this.x = x;\n this.y = y;\n return this;\n },\n _rotateAround: function _rotateAround(angle, p) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y),\n y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y);\n this.x = x;\n this.y = y;\n return this;\n },\n _round: function _round() {\n this.x = Math.round(this.x);\n this.y = Math.round(this.y);\n return this;\n }\n};\n/**\n * Construct a point from an array if necessary, otherwise if the input\n * is already a Point, or an unknown type, return it unchanged\n * @param {Array<Number>|Point|*} a any kind of input value\n * @return {Point} constructed point, or passed-through value.\n * @example\n * // this\n * var point = Point.convert([0, 1]);\n * // is equivalent to\n * var point = new Point(0, 1);\n */\n\nPoint.convert = function (a) {\n if (a instanceof Point) {\n return a;\n }\n\n if (Array.isArray(a)) {\n return new Point(a[0], a[1]);\n }\n\n return a;\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaAngleDown = function FaAngleDown(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaAngleUp = function FaAngleUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaArrowRight = function FaArrowRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaArrowUp = function FaArrowUp(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaChevronLeft = function FaChevronLeft(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaChevronRight = function FaChevronRight(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 320 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaFilePdf = function FaFilePdf(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaGraduationCap = function FaGraduationCap(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 640 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaMapMarkerAlt = function FaMapMarkerAlt(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 384 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaSearch = function FaSearch(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 512 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"\n }\n }]\n })(props);\n};","// THIS FILE IS AUTO GENERATED\nvar GenIcon = require('../lib').GenIcon;\n\nmodule.exports.FaUser = function FaUser(props) {\n return GenIcon({\n \"tag\": \"svg\",\n \"attr\": {\n \"viewBox\": \"0 0 448 512\"\n },\n \"child\": [{\n \"tag\": \"path\",\n \"attr\": {\n \"d\": \"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"\n }\n }]\n })(props);\n};","export var IconsManifest = [{\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n}, {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n}, {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n}, {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n}, {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n}, {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n}, {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/refactoringui/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n}, {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}];","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function elem(conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","var Converter = require('./src/converter');\n/**\n * Function get source and destination alphabet and return convert function\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n *\n * @returns {function(number|Array)}\n */\n\n\nfunction anyBase(srcAlphabet, dstAlphabet) {\n var converter = new Converter(srcAlphabet, dstAlphabet);\n /**\n * Convert function\n *\n * @param {string|Array} number\n *\n * @return {string|Array} number\n */\n\n return function (number) {\n return converter.convert(number);\n };\n}\n\n;\nanyBase.BIN = '01';\nanyBase.OCT = '01234567';\nanyBase.DEC = '0123456789';\nanyBase.HEX = '0123456789abcdef';\nmodule.exports = anyBase;","'use strict';\n/**\n * Converter\n *\n * @param {string|Array} srcAlphabet\n * @param {string|Array} dstAlphabet\n * @constructor\n */\n\nfunction Converter(srcAlphabet, dstAlphabet) {\n if (!srcAlphabet || !dstAlphabet || !srcAlphabet.length || !dstAlphabet.length) {\n throw new Error('Bad alphabet');\n }\n\n this.srcAlphabet = srcAlphabet;\n this.dstAlphabet = dstAlphabet;\n}\n/**\n * Convert number from source alphabet to destination alphabet\n *\n * @param {string|Array} number - number represented as a string or array of points\n *\n * @returns {string|Array}\n */\n\n\nConverter.prototype.convert = function (number) {\n var i,\n divide,\n newlen,\n numberMap = {},\n fromBase = this.srcAlphabet.length,\n toBase = this.dstAlphabet.length,\n length = number.length,\n result = typeof number === 'string' ? '' : [];\n\n if (!this.isValid(number)) {\n throw new Error('Number \"' + number + '\" contains of non-alphabetic digits (' + this.srcAlphabet + ')');\n }\n\n if (this.srcAlphabet === this.dstAlphabet) {\n return number;\n }\n\n for (i = 0; i < length; i++) {\n numberMap[i] = this.srcAlphabet.indexOf(number[i]);\n }\n\n do {\n divide = 0;\n newlen = 0;\n\n for (i = 0; i < length; i++) {\n divide = divide * fromBase + numberMap[i];\n\n if (divide >= toBase) {\n numberMap[newlen++] = parseInt(divide / toBase, 10);\n divide = divide % toBase;\n } else if (newlen > 0) {\n numberMap[newlen++] = 0;\n }\n }\n\n length = newlen;\n result = this.dstAlphabet.slice(divide, divide + 1).concat(result);\n } while (newlen !== 0);\n\n return result;\n};\n/**\n * Valid number with source alphabet\n *\n * @param {number} number\n *\n * @returns {boolean}\n */\n\n\nConverter.prototype.isValid = function (number) {\n var i = 0;\n\n for (; i < number.length; ++i) {\n if (this.srcAlphabet.indexOf(number[i]) === -1) {\n return false;\n }\n }\n\n return true;\n};\n\nmodule.exports = Converter;","'use strict';\n\nmodule.exports = bail;\n\nfunction bail(err) {\n if (err) {\n throw err;\n }\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","'use strict';\n\nexports.parse = parse;\nexports.stringify = stringify;\nvar comma = ',';\nvar space = ' ';\nvar empty = ''; // Parse comma-separated tokens to an array.\n\nfunction parse(value) {\n var values = [];\n var input = String(value || empty);\n var index = input.indexOf(comma);\n var lastIndex = 0;\n var end = false;\n var val;\n\n while (!end) {\n if (index === -1) {\n index = input.length;\n end = true;\n }\n\n val = input.slice(lastIndex, index).trim();\n\n if (val || !end) {\n values.push(val);\n }\n\n lastIndex = index + 1;\n index = input.indexOf(comma, lastIndex);\n }\n\n return values;\n} // Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\n\n\nfunction stringify(values, options) {\n var settings = options || {};\n var left = settings.padLeft === false ? empty : space;\n var right = settings.padRight ? space : empty; // Ensure the last empty entry is seen.\n\n if (values[values.length - 1] === empty) {\n values = values.concat(empty);\n }\n\n return values.join(right + comma + left).trim();\n}","'use strict';\n\nvar has = Object.prototype.hasOwnProperty,\n prefix = '~';\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\n\nfunction Events() {} //\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\n\n\nif (Object.create) {\n Events.prototype = Object.create(null); //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n\n if (!new Events().__proto__) prefix = false;\n}\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\n\n\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\n\n\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once),\n evt = prefix ? prefix + event : event;\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);else emitter._events[evt] = [emitter._events[evt], listener];\n return emitter;\n}\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\n\n\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();else delete emitter._events[evt];\n}\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\n\n\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\n\n\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = [],\n events,\n name;\n if (this._eventsCount === 0) return names;\n\n for (name in events = this._events) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\n\n\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event,\n handlers = this._events[evt];\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\n\n\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event,\n listeners = this._events[evt];\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\n\n\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return false;\n var listeners = this._events[evt],\n len = arguments.length,\n args,\n i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1:\n return listeners.fn.call(listeners.context), true;\n\n case 2:\n return listeners.fn.call(listeners.context, a1), true;\n\n case 3:\n return listeners.fn.call(listeners.context, a1, a2), true;\n\n case 4:\n return listeners.fn.call(listeners.context, a1, a2, a3), true;\n\n case 5:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n\n case 6:\n return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len - 1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length,\n j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1:\n listeners[i].fn.call(listeners[i].context);\n break;\n\n case 2:\n listeners[i].fn.call(listeners[i].context, a1);\n break;\n\n case 3:\n listeners[i].fn.call(listeners[i].context, a1, a2);\n break;\n\n case 4:\n listeners[i].fn.call(listeners[i].context, a1, a2, a3);\n break;\n\n default:\n if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\n\n\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\n\n\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\n\n\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n if (!this._events[evt]) return this;\n\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {\n events.push(listeners[i]);\n }\n } //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n\n\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else clearEvent(this, evt);\n }\n\n return this;\n};\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\n\n\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n}; //\n// Alias methods names because people roll like that.\n//\n\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on; //\n// Expose the prefix.\n//\n\nEventEmitter.prefixed = prefix; //\n// Allow `EventEmitter` to be imported as module namespace.\n//\n\nEventEmitter.EventEmitter = EventEmitter; //\n// Expose the module.\n//\n\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n if (typeof Array.isArray === 'function') {\n return Array.isArray(arr);\n }\n\n return toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n if (!obj || toStr.call(obj) !== '[object Object]') {\n return false;\n }\n\n var hasOwnConstructor = hasOwn.call(obj, 'constructor');\n var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); // Not own constructor property must be Object\n\n if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n return false;\n } // Own properties are enumerated firstly, so to speed up,\n // if last one is own, then all properties are own.\n\n\n var key;\n\n for (key in obj) {\n /**/\n }\n\n return typeof key === 'undefined' || hasOwn.call(obj, key);\n}; // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\n\n\nvar setProperty = function setProperty(target, options) {\n if (defineProperty && options.name === '__proto__') {\n defineProperty(target, options.name, {\n enumerable: true,\n configurable: true,\n value: options.newValue,\n writable: true\n });\n } else {\n target[options.name] = options.newValue;\n }\n}; // Return undefined instead of __proto__ if '__proto__' is not an own property\n\n\nvar getProperty = function getProperty(obj, name) {\n if (name === '__proto__') {\n if (!hasOwn.call(obj, name)) {\n return void 0;\n } else if (gOPD) {\n // In early versions of node, obj['__proto__'] is buggy when obj has\n // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n return gOPD(obj, name).value;\n }\n }\n\n return obj[name];\n};\n\nmodule.exports = function extend() {\n var options, name, src, copy, copyIsArray, clone;\n var target = arguments[0];\n var i = 1;\n var length = arguments.length;\n var deep = false; // Handle a deep copy situation\n\n if (typeof target === 'boolean') {\n deep = target;\n target = arguments[1] || {}; // skip the boolean and the target\n\n i = 2;\n }\n\n if (target == null || typeof target !== 'object' && typeof target !== 'function') {\n target = {};\n }\n\n for (; i < length; ++i) {\n options = arguments[i]; // Only deal with non-null/undefined values\n\n if (options != null) {\n // Extend the base object\n for (name in options) {\n src = getProperty(target, name);\n copy = getProperty(options, name); // Prevent never-ending loop\n\n if (target !== copy) {\n // Recurse if we're merging plain objects or arrays\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n if (copyIsArray) {\n copyIsArray = false;\n clone = src && isArray(src) ? src : [];\n } else {\n clone = src && isPlainObject(src) ? src : {};\n } // Never move original objects, clone them\n\n\n setProperty(target, {\n name: name,\n newValue: extend(deep, clone, copy)\n }); // Don't bring in undefined values\n } else if (typeof copy !== 'undefined') {\n setProperty(target, {\n name: name,\n newValue: copy\n });\n }\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filterInvalidDOMProps;\n\nvar _htmlAttributes = require(\"html-attributes\");\n\nvar _htmlAttributes2 = _interopRequireDefault(_htmlAttributes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar eventProps = {\n onCopy: true,\n onCut: true,\n onPaste: true,\n onLoad: true,\n onError: true,\n onWheel: true,\n onScroll: true,\n onCompositionEnd: true,\n onCompositionStart: true,\n onCompositionUpdate: true,\n onKeyDown: true,\n onKeyPress: true,\n onKeyUp: true,\n onFocus: true,\n onBlur: true,\n onChange: true,\n onInput: true,\n onSubmit: true,\n onClick: true,\n onContextMenu: true,\n onDoubleClick: true,\n onDrag: true,\n onDragEnd: true,\n onDragEnter: true,\n onDragExit: true,\n onDragLeave: true,\n onDragOver: true,\n onDragStart: true,\n onDrop: true,\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOut: true,\n onMouseOver: true,\n onMouseUp: true,\n onSelect: true,\n onTouchCancel: true,\n onTouchEnd: true,\n onTouchMove: true,\n onTouchStart: true,\n onAnimationStart: true,\n onAnimationEnd: true,\n onAnimationIteration: true,\n onTransitionEnd: true\n};\n\nfunction isValidDOMProp(prop) {\n return eventProps[prop] || _htmlAttributes2.default[prop] || /^(data|aria)-/.test(prop);\n}\n\nfunction filterInvalidDOMProps(props) {\n var domProps = {};\n\n for (var prop in props) {\n if (props.hasOwnProperty(prop) && isValidDOMProp(prop)) {\n domProps[prop] = props[prop];\n }\n }\n\n return domProps;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _defineProperty from \"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport e from \"gatsby-background-image\";\nimport r from \"react\";\n\nfunction l() {\n return (l = Object.assign || function (e) {\n for (var r = 1; r < arguments.length; r++) {\n var l = arguments[r];\n\n for (var t in l) {\n Object.prototype.hasOwnProperty.call(l, t) && (e[t] = l[t]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar t = function t(e) {\n return \"[object String]\" === Object.prototype.toString.call(e);\n},\n n = function n(e) {\n return \"fixed\" === e.layout ? \"fixed\" : \"fluid\";\n},\n i = function i(e) {\n var r;\n\n for (r = 0; r < e.length; r++) {\n if (!t(e[r])) return e[r];\n }\n\n return null;\n},\n u = function u(e) {\n return e.width / e.height;\n},\n a = function a(e) {\n var r, l, t, n;\n return e.placeholder ? null != (r = e.placeholder) && null != (l = r.fallback) && l.includes(\"base64\") ? {\n base64: null == (t = e.placeholder) ? void 0 : t.fallback\n } : {\n tracedSVG: null == (n = e.placeholder) ? void 0 : n.fallback\n } : {};\n},\n c = function c(e) {\n if (e.srcSet) {\n var r;\n\n var _l = _toConsumableArray(e.srcSet.matchAll(/(?:([^\"'\\s,]+)\\s*(?:\\s+\\d+[wx])(?:,\\s*)?)/gm)),\n _t = e.sizes.replace(\"px\", \"\"),\n _n = _l.filter(function (e) {\n return (null == e ? void 0 : e[0].includes(\"100w\")) || (null == e ? void 0 : e[0].includes(\"1x\")) || (null == e ? void 0 : e[0].includes(\"\".concat(_t, \"w\")));\n });\n\n return (null == _n || null == (r = _n[0]) ? void 0 : r[1]) || \"\";\n }\n\n return \"\";\n},\n s = function s(e) {\n var r, l, t;\n return null != (r = e.images) && r.sources && Array.isArray(null == (l = e.images) ? void 0 : l.sources) ? null == (t = e.images) ? void 0 : t.sources.reduce(function (e, r) {\n var l;\n var t = (null == r || null == (l = r.type) ? void 0 : l.split(\"/\")[1]) || \"\",\n n = (null == t ? void 0 : t.charAt(0).toUpperCase()) + t.slice(1),\n i = \"srcSet\".concat(n),\n u = \"src\".concat(n);\n return n && (!(i in e) && null != r && r.srcSet && (e[i] = r.srcSet), !(u in e) && null != r && r.srcSet && (e[u] = c(r))), e;\n }, {}) : {};\n},\n o = function o(e) {\n if (e && e.layout) {\n var _r = {},\n _t2 = n(e),\n _i = u(e),\n _c = a(e),\n _o = s(e);\n\n return _r[_t2] = l({}, e.images.fallback, _o, _c, \"fluid\" === _t2 ? {\n aspectRatio: _i\n } : {}, \"fixed\" === _t2 ? {\n width: e.width,\n height: e.height\n } : {}), _r;\n }\n\n return null;\n};\n\nfunction d(e) {\n if (e) {\n if (Array.isArray(e)) {\n var _ref = function (e) {\n var r = i(e);\n\n if (r) {\n var _i2 = n(r),\n _u2 = e.map(function (e) {\n if (t(e)) return e;\n var r = o(e);\n return l({}, r && r[_i2], null != e && e.media ? {\n media: e.media\n } : {});\n });\n\n return [_i2, _u2];\n }\n\n return [];\n }(e),\n _ref2 = _slicedToArray(_ref, 2),\n _r2 = _ref2[0],\n _u = _ref2[1];\n\n return _r2 ? _defineProperty({}, _r2, _u) : null;\n }\n\n return o(e);\n }\n\n return null;\n}\n\nvar f = function f(l) {\n var t = l.image,\n n = l.children,\n i = function (e, r) {\n if (null == e) return {};\n var l,\n t,\n n = {},\n i = Object.keys(e);\n\n for (t = 0; t < i.length; t++) {\n r.indexOf(l = i[t]) >= 0 || (n[l] = e[l]);\n }\n\n return n;\n }(l, [\"image\", \"children\"]),\n u = t && d(t);\n\n return u ? r.createElement(e, Object.assign({}, u, i), n) : r.createElement(\"div\", null, n);\n};\n\nexport { f as BgImage, o as convertSingleBgImage, d as convertToBgImage, s as getAllExtraSrcSets, u as getAspectRatio, n as getBgImageType, a as getPlaceholder, i as getSingleImage, c as getSrc, t as isString };","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","/*!\n * html-attributes\n * https://github.com/alexmingoia/html-attributes\n */\n'use strict';\n/**\n * @module html-attributes\n */\n\nmodule.exports = {\n \"abbr\": \"abbr\",\n \"accept\": \"accept\",\n \"acceptCharset\": \"accept-charset\",\n \"accessKey\": \"accesskey\",\n \"action\": \"action\",\n \"allowFullScreen\": \"allowfullscreen\",\n \"allowTransparency\": \"allowtransparency\",\n \"alt\": \"alt\",\n \"async\": \"async\",\n \"autoComplete\": \"autocomplete\",\n \"autoFocus\": \"autofocus\",\n \"autoPlay\": \"autoplay\",\n \"cellPadding\": \"cellpadding\",\n \"cellSpacing\": \"cellspacing\",\n \"challenge\": \"challenge\",\n \"charset\": \"charset\",\n \"checked\": \"checked\",\n \"cite\": \"cite\",\n \"class\": \"class\",\n \"className\": \"class\",\n \"cols\": \"cols\",\n \"colSpan\": \"colspan\",\n \"command\": \"command\",\n \"content\": \"content\",\n \"contentEditable\": \"contenteditable\",\n \"contextMenu\": \"contextmenu\",\n \"controls\": \"controls\",\n \"coords\": \"coords\",\n \"crossOrigin\": \"crossorigin\",\n \"data\": \"data\",\n \"dateTime\": \"datetime\",\n \"default\": \"default\",\n \"defer\": \"defer\",\n \"dir\": \"dir\",\n \"disabled\": \"disabled\",\n \"download\": \"download\",\n \"draggable\": \"draggable\",\n \"dropzone\": \"dropzone\",\n \"encType\": \"enctype\",\n \"for\": \"for\",\n \"form\": \"form\",\n \"formAction\": \"formaction\",\n \"formEncType\": \"formenctype\",\n \"formMethod\": \"formmethod\",\n \"formNoValidate\": \"formnovalidate\",\n \"formTarget\": \"formtarget\",\n \"frameBorder\": \"frameBorder\",\n \"headers\": \"headers\",\n \"height\": \"height\",\n \"hidden\": \"hidden\",\n \"high\": \"high\",\n \"href\": \"href\",\n \"hrefLang\": \"hreflang\",\n \"htmlFor\": \"for\",\n \"httpEquiv\": \"http-equiv\",\n \"icon\": \"icon\",\n \"id\": \"id\",\n \"inputMode\": \"inputmode\",\n \"isMap\": \"ismap\",\n \"itemId\": \"itemid\",\n \"itemProp\": \"itemprop\",\n \"itemRef\": \"itemref\",\n \"itemScope\": \"itemscope\",\n \"itemType\": \"itemtype\",\n \"kind\": \"kind\",\n \"label\": \"label\",\n \"lang\": \"lang\",\n \"list\": \"list\",\n \"loop\": \"loop\",\n \"manifest\": \"manifest\",\n \"max\": \"max\",\n \"maxLength\": \"maxlength\",\n \"media\": \"media\",\n \"mediaGroup\": \"mediagroup\",\n \"method\": \"method\",\n \"min\": \"min\",\n \"minLength\": \"minlength\",\n \"multiple\": \"multiple\",\n \"muted\": \"muted\",\n \"name\": \"name\",\n \"noValidate\": \"novalidate\",\n \"open\": \"open\",\n \"optimum\": \"optimum\",\n \"pattern\": \"pattern\",\n \"ping\": \"ping\",\n \"placeholder\": \"placeholder\",\n \"poster\": \"poster\",\n \"preload\": \"preload\",\n \"radioGroup\": \"radiogroup\",\n \"readOnly\": \"readonly\",\n \"rel\": \"rel\",\n \"required\": \"required\",\n \"role\": \"role\",\n \"rows\": \"rows\",\n \"rowSpan\": \"rowspan\",\n \"sandbox\": \"sandbox\",\n \"scope\": \"scope\",\n \"scoped\": \"scoped\",\n \"scrolling\": \"scrolling\",\n \"seamless\": \"seamless\",\n \"selected\": \"selected\",\n \"shape\": \"shape\",\n \"size\": \"size\",\n \"sizes\": \"sizes\",\n \"sortable\": \"sortable\",\n \"span\": \"span\",\n \"spellCheck\": \"spellcheck\",\n \"src\": \"src\",\n \"srcDoc\": \"srcdoc\",\n \"srcSet\": \"srcset\",\n \"start\": \"start\",\n \"step\": \"step\",\n \"style\": \"style\",\n \"tabIndex\": \"tabindex\",\n \"target\": \"target\",\n \"title\": \"title\",\n \"translate\": \"translate\",\n \"type\": \"type\",\n \"typeMustMatch\": \"typemustmatch\",\n \"useMap\": \"usemap\",\n \"value\": \"value\",\n \"width\": \"width\",\n \"wmode\": \"wmode\",\n \"wrap\": \"wrap\"\n};","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/; // declaration\n\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/; // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\n\nvar TRIM_REGEX = /^\\s+|\\s+$/g; // strings\n\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = ''; // types\n\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\n\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n options = options || {};\n /**\n * Positional.\n */\n\n var lineno = 1;\n var column = 1;\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n\n\n function position() {\n var start = {\n line: lineno,\n column: column\n };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n\n\n function Position(start) {\n this.start = start;\n this.end = {\n line: lineno,\n column: column\n };\n this.source = options.source;\n }\n /**\n * Non-enumerable source string.\n */\n\n\n Position.prototype.content = style;\n var errorsList = [];\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n\n function error(msg) {\n var err = new Error(options.source + ':' + lineno + ':' + column + ': ' + msg);\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n\n\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n /**\n * Parse whitespace.\n */\n\n\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n\n\n function comments(rules) {\n var c;\n rules = rules || [];\n\n while (c = comment()) {\n if (c !== false) {\n rules.push(c);\n }\n }\n\n return rules;\n }\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n\n\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n var i = 2;\n\n while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) {\n ++i;\n }\n\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n\n\n function declaration() {\n var pos = position(); // prop\n\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment(); // :\n\n if (!match(COLON_REGEX)) return error(\"property missing ':'\"); // val\n\n var val = match(VALUE_REGEX);\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING\n }); // ;\n\n match(SEMICOLON_REGEX);\n return ret;\n }\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n\n\n function declarations() {\n var decls = [];\n comments(decls); // declarations\n\n var decl;\n\n while (decl = declaration()) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\n\n\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar visit = require('unist-util-visit');\n\nmodule.exports = getDefinitionFactory;\nvar own = {}.hasOwnProperty; // Get a definition in `node` by `identifier`.\n\nfunction getDefinitionFactory(node, options) {\n return getterFactory(gather(node, options));\n} // Gather all definitions in `node`\n\n\nfunction gather(node) {\n var cache = {};\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node');\n }\n\n visit(node, 'definition', ondefinition);\n return cache;\n\n function ondefinition(definition) {\n var id = normalise(definition.identifier);\n\n if (!own.call(cache, id)) {\n cache[id] = definition;\n }\n }\n} // Factory to get a node from the given definition-cache.\n\n\nfunction getterFactory(cache) {\n return getter; // Get a node from the bound definition-cache.\n\n function getter(identifier) {\n var id = identifier && normalise(identifier);\n return id && own.call(cache, id) ? cache[id] : null;\n }\n}\n\nfunction normalise(identifier) {\n return identifier.toUpperCase();\n}","'use strict';\n\nmodule.exports = fromMarkdown; // These three are compiled away in the `dist/`\n\nvar toString = require('mdast-util-to-string');\n\nvar assign = require('micromark/dist/constant/assign');\n\nvar own = require('micromark/dist/constant/has-own-property');\n\nvar normalizeIdentifier = require('micromark/dist/util/normalize-identifier');\n\nvar safeFromInt = require('micromark/dist/util/safe-from-int');\n\nvar parser = require('micromark/dist/parse');\n\nvar preprocessor = require('micromark/dist/preprocess');\n\nvar postprocess = require('micromark/dist/postprocess');\n\nvar decode = require('parse-entities/decode-entity');\n\nvar stringifyPosition = require('unist-util-stringify-position');\n\nfunction fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding;\n encoding = undefined;\n }\n\n return compiler(options)(postprocess(parser(options).document().write(preprocessor()(value, encoding, true))));\n} // Note this compiler only understand complete buffering, not streaming.\n\n\nfunction compiler(options) {\n var settings = options || {};\n var config = configure({\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }, settings.mdastExtensions || []);\n var data = {};\n return compile;\n\n function compile(events) {\n var tree = {\n type: 'root',\n children: []\n };\n var stack = [tree];\n var tokenStack = [];\n var listStack = [];\n var index = -1;\n var handler;\n var listStart;\n var context = {\n stack: stack,\n tokenStack: tokenStack,\n config: config,\n enter: enter,\n exit: exit,\n buffer: buffer,\n resume: resume,\n setData: setData,\n getData: getData\n };\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === 'listOrdered' || events[index][1].type === 'listUnordered') {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n listStart = listStack.pop(index);\n index = prepareList(events, listStart, index);\n }\n }\n }\n\n index = -1;\n\n while (++index < events.length) {\n handler = config[events[index][0]];\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n if (tokenStack.length) {\n throw new Error('Cannot close document, a token (`' + tokenStack[tokenStack.length - 1].type + '`, ' + stringifyPosition({\n start: tokenStack[tokenStack.length - 1].start,\n end: tokenStack[tokenStack.length - 1].end\n }) + ') is still open');\n } // Figure out `root` position.\n\n\n tree.position = {\n start: point(events.length ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n index = -1;\n\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n\n return tree;\n }\n\n function prepareList(events, start, length) {\n var index = start - 1;\n var containerBalance = -1;\n var listSpread = false;\n var listItem;\n var tailIndex;\n var lineIndex;\n var tailEvent;\n var event;\n var firstBlankLineIndex;\n var atMarker;\n\n while (++index <= length) {\n event = events[index];\n\n if (event[1].type === 'listUnordered' || event[1].type === 'listOrdered' || event[1].type === 'blockQuote') {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n\n atMarker = undefined;\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n\n atMarker = undefined;\n }\n } else if (event[1].type === 'linePrefix' || event[1].type === 'listItemValue' || event[1].type === 'listItemMarker' || event[1].type === 'listItemPrefix' || event[1].type === 'listItemPrefixWhitespace') {// Empty.\n } else {\n atMarker = undefined;\n }\n\n if (!containerBalance && event[0] === 'enter' && event[1].type === 'listItemPrefix' || containerBalance === -1 && event[0] === 'exit' && (event[1].type === 'listUnordered' || event[1].type === 'listOrdered')) {\n if (listItem) {\n tailIndex = index;\n lineIndex = undefined;\n\n while (tailIndex--) {\n tailEvent = events[tailIndex];\n\n if (tailEvent[1].type === 'lineEnding' || tailEvent[1].type === 'lineEndingBlank') {\n if (tailEvent[0] === 'exit') continue;\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank';\n listSpread = true;\n }\n\n tailEvent[1].type = 'lineEnding';\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === 'linePrefix' || tailEvent[1].type === 'blockQuotePrefix' || tailEvent[1].type === 'blockQuotePrefixWhitespace' || tailEvent[1].type === 'blockQuoteMarker' || tailEvent[1].type === 'listItemIndent') {// Empty\n } else {\n break;\n }\n }\n\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n } // Fix position.\n\n\n listItem.end = point(lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n } // Create a new list item.\n\n\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n _spread: false,\n start: point(event[1].start)\n };\n events.splice(index, 0, ['enter', listItem, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n\n events[start][1]._spread = listSpread;\n return length;\n }\n\n function setData(key, value) {\n data[key] = value;\n }\n\n function getData(key) {\n return data[key];\n }\n\n function point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n }\n\n function opener(create, and) {\n return open;\n\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n function enter(node, token) {\n this.stack[this.stack.length - 1].children.push(node);\n this.stack.push(node);\n this.tokenStack.push(token);\n node.position = {\n start: point(token.start)\n };\n return node;\n }\n\n function closer(and) {\n return close;\n\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n function exit(token) {\n var node = this.stack.pop();\n var open = this.tokenStack.pop();\n\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it’s not open');\n } else if (open.type !== token.type) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): a different token (`' + open.type + '`, ' + stringifyPosition({\n start: open.start,\n end: open.end\n }) + ') is open');\n }\n\n node.position.end = point(token.end);\n return node;\n }\n\n function resume() {\n return toString(this.stack.pop());\n } //\n // Handlers.\n //\n\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true);\n }\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n this.stack[this.stack.length - 2].start = parseInt(this.sliceSerialize(token), 10);\n setData('expectingFirstListItemValue');\n }\n }\n\n function onexitcodefencedfenceinfo() {\n var data = this.resume();\n this.stack[this.stack.length - 1].lang = data;\n }\n\n function onexitcodefencedfencemeta() {\n var data = this.resume();\n this.stack[this.stack.length - 1].meta = data;\n }\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return;\n this.buffer();\n setData('flowCodeInside', true);\n }\n\n function onexitcodefenced() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n setData('flowCodeInside');\n }\n\n function onexitcodeindented() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n var label = this.resume();\n this.stack[this.stack.length - 1].label = label;\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n function onexitdefinitiontitlestring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].title = data;\n }\n\n function onexitdefinitiondestinationstring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].url = data;\n }\n\n function onexitatxheadingsequence(token) {\n if (!this.stack[this.stack.length - 1].depth) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(token).length;\n }\n }\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true);\n }\n\n function onexitsetextheadinglinesequence(token) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2;\n }\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding');\n }\n\n function onenterdata(token) {\n var siblings = this.stack[this.stack.length - 1].children;\n var tail = siblings[siblings.length - 1];\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start)\n };\n this.stack[this.stack.length - 1].children.push(tail);\n }\n\n this.stack.push(tail);\n }\n\n function onexitdata(token) {\n var tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n function onexitlineending(token) {\n var context = this.stack[this.stack.length - 1]; // If we’re at a hard break, include the line ending in there.\n\n if (getData('atHardBreak')) {\n context.children[context.children.length - 1].position.end = point(token.end);\n setData('atHardBreak');\n return;\n }\n\n if (!getData('setextHeadingSlurpLineEnding') && config.canContainEols.indexOf(context.type) > -1) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n function onexithardbreak() {\n setData('atHardBreak', true);\n }\n\n function onexithtmlflow() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexithtmltext() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexitcodetext() {\n var data = this.resume();\n this.stack[this.stack.length - 1].value = data;\n }\n\n function onexitlink() {\n var context = this.stack[this.stack.length - 1]; // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference';\n context.referenceType = getData('referenceType') || 'shortcut';\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n delete context.referenceType;\n }\n\n setData('referenceType');\n }\n\n function onexitimage() {\n var context = this.stack[this.stack.length - 1]; // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference';\n context.referenceType = getData('referenceType') || 'shortcut';\n delete context.url;\n delete context.title;\n } else {\n delete context.identifier;\n delete context.label;\n delete context.referenceType;\n }\n\n setData('referenceType');\n }\n\n function onexitlabeltext(token) {\n this.stack[this.stack.length - 2].identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n function onexitlabel() {\n var fragment = this.stack[this.stack.length - 1];\n var value = this.resume();\n this.stack[this.stack.length - 1].label = value; // Assume a reference.\n\n setData('inReference', true);\n\n if (this.stack[this.stack.length - 1].type === 'link') {\n this.stack[this.stack.length - 1].children = fragment.children;\n } else {\n this.stack[this.stack.length - 1].alt = value;\n }\n }\n\n function onexitresourcedestinationstring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].url = data;\n }\n\n function onexitresourcetitlestring() {\n var data = this.resume();\n this.stack[this.stack.length - 1].title = data;\n }\n\n function onexitresource() {\n setData('inReference');\n }\n\n function onenterreference() {\n setData('referenceType', 'collapsed');\n }\n\n function onexitreferencestring(token) {\n var label = this.resume();\n this.stack[this.stack.length - 1].label = label;\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n setData('referenceType', 'full');\n }\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type);\n }\n\n function onexitcharacterreferencevalue(token) {\n var data = this.sliceSerialize(token);\n var type = getData('characterReferenceType');\n var value;\n var tail;\n\n if (type) {\n value = safeFromInt(data, type === 'characterReferenceMarkerNumeric' ? 10 : 16);\n setData('characterReferenceType');\n } else {\n value = decode(data);\n }\n\n tail = this.stack.pop();\n tail.value += value;\n tail.position.end = point(token.end);\n }\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n this.stack[this.stack.length - 1].url = this.sliceSerialize(token);\n }\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n this.stack[this.stack.length - 1].url = 'mailto:' + this.sliceSerialize(token);\n } //\n // Creaters.\n //\n\n\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n function heading() {\n return {\n type: 'heading',\n depth: undefined,\n children: []\n };\n }\n\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\nfunction configure(config, extensions) {\n var index = -1;\n\n while (++index < extensions.length) {\n extension(config, extensions[index]);\n }\n\n return config;\n}\n\nfunction extension(config, extension) {\n var key;\n var left;\n\n for (key in extension) {\n left = own.call(config, key) ? config[key] : config[key] = {};\n\n if (key === 'canContainEols' || key === 'transforms') {\n config[key] = [].concat(left, extension[key]);\n } else {\n Object.assign(left, extension[key]);\n }\n }\n}","'use strict';\n\nmodule.exports = require('./dist');","'use strict';\n\nmodule.exports = require('./lib');","'use strict';\n\nmodule.exports = all;\n\nvar one = require('./one');\n\nfunction all(h, parent) {\n var nodes = parent.children || [];\n var length = nodes.length;\n var values = [];\n var index = -1;\n var result;\n var head;\n\n while (++index < length) {\n result = one(h, nodes[index], parent);\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (result.value) {\n result.value = result.value.replace(/^\\s+/, '');\n }\n\n head = result.children && result.children[0];\n\n if (head && head.value) {\n head.value = head.value.replace(/^\\s+/, '');\n }\n }\n\n values = values.concat(result);\n }\n }\n\n return values;\n}","'use strict';\n\nmodule.exports = generateFootnotes;\n\nvar thematicBreak = require('./handlers/thematic-break');\n\nvar list = require('./handlers/list');\n\nvar wrap = require('./wrap');\n\nfunction generateFootnotes(h) {\n var footnoteById = h.footnoteById;\n var footnoteOrder = h.footnoteOrder;\n var length = footnoteOrder.length;\n var index = -1;\n var listItems = [];\n var def;\n var backReference;\n var content;\n var tail;\n\n while (++index < length) {\n def = footnoteById[footnoteOrder[index].toUpperCase()];\n\n if (!def) {\n continue;\n }\n\n content = def.children.concat();\n tail = content[content.length - 1];\n backReference = {\n type: 'link',\n url: '#fnref-' + def.identifier,\n data: {\n hProperties: {\n className: ['footnote-backref']\n }\n },\n children: [{\n type: 'text',\n value: '↩'\n }]\n };\n\n if (!tail || tail.type !== 'paragraph') {\n tail = {\n type: 'paragraph',\n children: []\n };\n content.push(tail);\n }\n\n tail.children.push(backReference);\n listItems.push({\n type: 'listItem',\n data: {\n hProperties: {\n id: 'fn-' + def.identifier\n }\n },\n children: content,\n position: def.position\n });\n }\n\n if (listItems.length === 0) {\n return null;\n }\n\n return h(null, 'div', {\n className: ['footnotes']\n }, wrap([thematicBreak(h), list(h, {\n type: 'list',\n ordered: true,\n children: listItems\n })], true));\n}","'use strict';\n\nmodule.exports = blockquote;\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true));\n}","'use strict';\n\nmodule.exports = hardBreak;\n\nvar u = require('unist-builder');\n\nfunction hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')];\n}","'use strict';\n\nmodule.exports = code;\n\nvar u = require('unist-builder');\n\nfunction code(h, node) {\n var value = node.value ? node.value + '\\n' : ''; // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n\n var lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/);\n var props = {};\n var code;\n\n if (lang) {\n props.className = ['language-' + lang];\n }\n\n code = h(node, 'code', props, [u('text', value)]);\n\n if (node.meta) {\n code.data = {\n meta: node.meta\n };\n }\n\n return h(node.position, 'pre', [code]);\n}","'use strict';\n\nmodule.exports = strikethrough;\n\nvar all = require('../all');\n\nfunction strikethrough(h, node) {\n return h(node, 'del', all(h, node));\n}","'use strict';\n\nmodule.exports = emphasis;\n\nvar all = require('../all');\n\nfunction emphasis(h, node) {\n return h(node, 'em', all(h, node));\n}","'use strict';\n\nmodule.exports = footnoteReference;\n\nvar u = require('unist-builder');\n\nfunction footnoteReference(h, node) {\n var footnoteOrder = h.footnoteOrder;\n var identifier = String(node.identifier);\n\n if (footnoteOrder.indexOf(identifier) === -1) {\n footnoteOrder.push(identifier);\n }\n\n return h(node.position, 'sup', {\n id: 'fnref-' + identifier\n }, [h(node, 'a', {\n href: '#fn-' + identifier,\n className: ['footnote-ref']\n }, [u('text', node.label || identifier)])]);\n}","'use strict';\n\nmodule.exports = footnote;\n\nvar footnoteReference = require('./footnote-reference');\n\nfunction footnote(h, node) {\n var footnoteById = h.footnoteById;\n var footnoteOrder = h.footnoteOrder;\n var identifier = 1;\n\n while (identifier in footnoteById) {\n identifier++;\n }\n\n identifier = String(identifier); // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n\n footnoteOrder.push(identifier);\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier: identifier,\n children: [{\n type: 'paragraph',\n children: node.children\n }],\n position: node.position\n };\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier: identifier,\n position: node.position\n });\n}","'use strict';\n\nmodule.exports = heading;\n\nvar all = require('../all');\n\nfunction heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node));\n}","'use strict';\n\nmodule.exports = html;\n\nvar u = require('unist-builder'); // Return either a `raw` node in dangerous mode, otherwise nothing.\n\n\nfunction html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null;\n}","'use strict';\n\nmodule.exports = imageReference;\n\nvar normalize = require('mdurl/encode');\n\nvar revert = require('../revert');\n\nfunction imageReference(h, node) {\n var def = h.definition(node.identifier);\n var props;\n\n if (!def) {\n return revert(h, node);\n }\n\n props = {\n src: normalize(def.url || ''),\n alt: node.alt\n };\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title;\n }\n\n return h(node, 'img', props);\n}","'use strict';\n\nvar normalize = require('mdurl/encode');\n\nmodule.exports = image;\n\nfunction image(h, node) {\n var props = {\n src: normalize(node.url),\n alt: node.alt\n };\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title;\n }\n\n return h(node, 'img', props);\n}","'use strict';\n\nmodule.exports = {\n blockquote: require('./blockquote'),\n break: require('./break'),\n code: require('./code'),\n delete: require('./delete'),\n emphasis: require('./emphasis'),\n footnoteReference: require('./footnote-reference'),\n footnote: require('./footnote'),\n heading: require('./heading'),\n html: require('./html'),\n imageReference: require('./image-reference'),\n image: require('./image'),\n inlineCode: require('./inline-code'),\n linkReference: require('./link-reference'),\n link: require('./link'),\n listItem: require('./list-item'),\n list: require('./list'),\n paragraph: require('./paragraph'),\n root: require('./root'),\n strong: require('./strong'),\n table: require('./table'),\n text: require('./text'),\n thematicBreak: require('./thematic-break'),\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}; // Return nothing for nodes that are ignored.\n\nfunction ignore() {\n return null;\n}","'use strict';\n\nmodule.exports = inlineCode;\n\nvar u = require('unist-builder');\n\nfunction inlineCode(h, node) {\n var value = node.value.replace(/\\r?\\n|\\r/g, ' ');\n return h(node, 'code', [u('text', value)]);\n}","'use strict';\n\nmodule.exports = linkReference;\n\nvar normalize = require('mdurl/encode');\n\nvar revert = require('../revert');\n\nvar all = require('../all');\n\nfunction linkReference(h, node) {\n var def = h.definition(node.identifier);\n var props;\n\n if (!def) {\n return revert(h, node);\n }\n\n props = {\n href: normalize(def.url || '')\n };\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title;\n }\n\n return h(node, 'a', props, all(h, node));\n}","'use strict';\n\nvar normalize = require('mdurl/encode');\n\nvar all = require('../all');\n\nmodule.exports = link;\n\nfunction link(h, node) {\n var props = {\n href: normalize(node.url)\n };\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title;\n }\n\n return h(node, 'a', props, all(h, node));\n}","'use strict';\n\nmodule.exports = listItem;\n\nvar u = require('unist-builder');\n\nvar all = require('../all');\n\nfunction listItem(h, node, parent) {\n var result = all(h, node);\n var head = result[0];\n var loose = parent ? listLoose(parent) : listItemLoose(node);\n var props = {};\n var wrapped = [];\n var length;\n var index;\n var child;\n\n if (typeof node.checked === 'boolean') {\n if (!head || head.tagName !== 'p') {\n head = h(null, 'p', []);\n result.unshift(head);\n }\n\n if (head.children.length > 0) {\n head.children.unshift(u('text', ' '));\n }\n\n head.children.unshift(h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })); // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n\n props.className = ['task-list-item'];\n }\n\n length = result.length;\n index = -1;\n\n while (++index < length) {\n child = result[index]; // Add eols before nodes, except if this is a loose, first paragraph.\n\n if (loose || index !== 0 || child.tagName !== 'p') {\n wrapped.push(u('text', '\\n'));\n }\n\n if (child.tagName === 'p' && !loose) {\n wrapped = wrapped.concat(child.children);\n } else {\n wrapped.push(child);\n }\n } // Add a final eol.\n\n\n if (length && (loose || child.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'));\n }\n\n return h(node, 'li', props, wrapped);\n}\n\nfunction listLoose(node) {\n var loose = node.spread;\n var children = node.children;\n var length = children.length;\n var index = -1;\n\n while (!loose && ++index < length) {\n loose = listItemLoose(children[index]);\n }\n\n return loose;\n}\n\nfunction listItemLoose(node) {\n var spread = node.spread;\n return spread === undefined || spread === null ? node.children.length > 1 : spread;\n}","'use strict';\n\nmodule.exports = list;\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction list(h, node) {\n var props = {};\n var name = node.ordered ? 'ol' : 'ul';\n var items;\n var index = -1;\n var length;\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start;\n }\n\n items = all(h, node);\n length = items.length; // Like GitHub, add a class for custom styling.\n\n while (++index < length) {\n if (items[index].properties.className && items[index].properties.className.indexOf('task-list-item') !== -1) {\n props.className = ['contains-task-list'];\n break;\n }\n }\n\n return h(node, name, props, wrap(items, true));\n}","'use strict';\n\nmodule.exports = paragraph;\n\nvar all = require('../all');\n\nfunction paragraph(h, node) {\n return h(node, 'p', all(h, node));\n}","'use strict';\n\nmodule.exports = root;\n\nvar u = require('unist-builder');\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction root(h, node) {\n return h.augment(node, u('root', wrap(all(h, node))));\n}","'use strict';\n\nmodule.exports = strong;\n\nvar all = require('../all');\n\nfunction strong(h, node) {\n return h(node, 'strong', all(h, node));\n}","'use strict';\n\nmodule.exports = table;\n\nvar position = require('unist-util-position');\n\nvar wrap = require('../wrap');\n\nvar all = require('../all');\n\nfunction table(h, node) {\n var rows = node.children;\n var index = rows.length;\n var align = node.align || [];\n var alignLength = align.length;\n var result = [];\n var pos;\n var row;\n var out;\n var name;\n var cell;\n\n while (index--) {\n row = rows[index].children;\n name = index === 0 ? 'th' : 'td';\n pos = alignLength || row.length;\n out = [];\n\n while (pos--) {\n cell = row[pos];\n out[pos] = h(cell, name, {\n align: align[pos]\n }, cell ? all(h, cell) : []);\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true));\n }\n\n return h(node, 'table', wrap([h(result[0].position, 'thead', wrap([result[0]], true))].concat(result[1] ? h({\n start: position.start(result[1]),\n end: position.end(result[result.length - 1])\n }, 'tbody', wrap(result.slice(1), true)) : []), true));\n}","'use strict';\n\nmodule.exports = text;\n\nvar u = require('unist-builder');\n\nfunction text(h, node) {\n return h.augment(node, u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1')));\n}","'use strict';\n\nmodule.exports = thematicBreak;\n\nfunction thematicBreak(h, node) {\n return h(node, 'hr');\n}","'use strict';\n\nmodule.exports = toHast;\n\nvar u = require('unist-builder');\n\nvar visit = require('unist-util-visit');\n\nvar position = require('unist-util-position');\n\nvar generated = require('unist-util-generated');\n\nvar definitions = require('mdast-util-definitions');\n\nvar one = require('./one');\n\nvar footer = require('./footer');\n\nvar handlers = require('./handlers');\n\nvar own = {}.hasOwnProperty;\nvar deprecationWarningIssued = false; // Factory to transform.\n\nfunction factory(tree, options) {\n var settings = options || {}; // Issue a warning if the deprecated tag 'allowDangerousHTML' is used\n\n if (settings.allowDangerousHTML !== undefined && !deprecationWarningIssued) {\n deprecationWarningIssued = true;\n console.warn('mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead');\n }\n\n var dangerous = settings.allowDangerousHtml || settings.allowDangerousHTML;\n var footnoteById = {};\n h.dangerous = dangerous;\n h.definition = definitions(tree);\n h.footnoteById = footnoteById;\n h.footnoteOrder = [];\n h.augment = augment;\n h.handlers = Object.assign({}, handlers, settings.handlers);\n h.unknownHandler = settings.unknownHandler;\n h.passThrough = settings.passThrough;\n visit(tree, 'footnoteDefinition', onfootnotedefinition);\n return h; // Finalise the created `right`, a hast node, from `left`, an mdast node.\n\n function augment(left, right) {\n var data;\n var ctx; // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n\n if (left && left.data) {\n data = left.data;\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n };\n }\n\n right.tagName = data.hName;\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = Object.assign({}, right.properties, data.hProperties);\n }\n\n if (right.children && data.hChildren) {\n right.children = data.hChildren;\n }\n }\n\n ctx = left && left.position ? left : {\n position: left\n };\n\n if (!generated(ctx)) {\n right.position = {\n start: position.start(ctx),\n end: position.end(ctx)\n };\n }\n\n return right;\n } // Create an element for `node`.\n\n\n function h(node, tagName, props, children) {\n if ((children === undefined || children === null) && typeof props === 'object' && 'length' in props) {\n children = props;\n props = {};\n }\n\n return augment(node, {\n type: 'element',\n tagName: tagName,\n properties: props || {},\n children: children || []\n });\n }\n\n function onfootnotedefinition(definition) {\n var id = String(definition.identifier).toUpperCase(); // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition;\n }\n }\n} // Transform `tree`, which is an mdast node, to a hast node.\n\n\nfunction toHast(tree, options) {\n var h = factory(tree, options);\n var node = one(h, tree);\n var foot = footer(h);\n\n if (foot) {\n node.children = node.children.concat(u('text', '\\n'), foot);\n }\n\n return node;\n}","'use strict';\n\nmodule.exports = one;\n\nvar u = require('unist-builder');\n\nvar all = require('./all');\n\nvar own = {}.hasOwnProperty; // Transform an unknown node.\n\nfunction unknown(h, node) {\n if (text(node)) {\n return h.augment(node, u('text', node.value));\n }\n\n return h(node, 'div', all(h, node));\n} // Visit a node.\n\n\nfunction one(h, node, parent) {\n var type = node && node.type;\n var fn; // Fail on non-nodes.\n\n if (!type) {\n throw new Error('Expected node, got `' + node + '`');\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type];\n } else if (h.passThrough && h.passThrough.indexOf(type) > -1) {\n fn = returnNode;\n } else {\n fn = h.unknownHandler;\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent);\n} // Check if the node should be renderered as a text node.\n\n\nfunction text(node) {\n var data = node.data || {};\n\n if (own.call(data, 'hName') || own.call(data, 'hProperties') || own.call(data, 'hChildren')) {\n return false;\n }\n\n return 'value' in node;\n}\n\nfunction returnNode(h, node) {\n var clone;\n\n if (node.children) {\n clone = Object.assign({}, node);\n clone.children = all(h, node);\n return clone;\n }\n\n return node;\n}","'use strict';\n\nmodule.exports = revert;\n\nvar u = require('unist-builder');\n\nvar all = require('./all'); // Return the content of a reference without definition as Markdown.\n\n\nfunction revert(h, node) {\n var subtype = node.referenceType;\n var suffix = ']';\n var contents;\n var head;\n var tail;\n\n if (subtype === 'collapsed') {\n suffix += '[]';\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']';\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix);\n }\n\n contents = all(h, node);\n head = contents[0];\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value;\n } else {\n contents.unshift(u('text', '['));\n }\n\n tail = contents[contents.length - 1];\n\n if (tail && tail.type === 'text') {\n tail.value += suffix;\n } else {\n contents.push(u('text', suffix));\n }\n\n return contents;\n}","'use strict';\n\nmodule.exports = wrap;\n\nvar u = require('unist-builder'); // Wrap `nodes` with line feeds between each entry.\n// Optionally adds line feeds at the start and end.\n\n\nfunction wrap(nodes, loose) {\n var result = [];\n var index = -1;\n var length = nodes.length;\n\n if (loose) {\n result.push(u('text', '\\n'));\n }\n\n while (++index < length) {\n if (index) {\n result.push(u('text', '\\n'));\n }\n\n result.push(nodes[index]);\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'));\n }\n\n return result;\n}","'use strict';\n\nmodule.exports = toString; // Get the text content of a node.\n// Prefer the node’s plain-text fields, otherwise serialize its children,\n// and if the given value is an array, serialize the nodes in it.\n\nfunction toString(node) {\n return node && (node.value || node.alt || node.title || 'children' in node && all(node.children) || 'length' in node && all(node)) || '';\n}\n\nfunction all(values) {\n var result = [];\n var index = -1;\n\n while (++index < values.length) {\n result[index] = toString(values[index]);\n }\n\n return result.join('');\n}","'use strict';\n\nvar encodeCache = {}; // Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\n\nfunction getEncodeCache(exclude) {\n var i,\n ch,\n cache = encodeCache[exclude];\n\n if (cache) {\n return cache;\n }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n} // Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\n\n\nfunction encode(string, exclude, keepEscaped) {\n var i,\n l,\n code,\n nextCode,\n cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25\n /* % */\n && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\nmodule.exports = encode;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiAlpha = regexCheck(/[A-Za-z]/);\nmodule.exports = asciiAlpha;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\nmodule.exports = asciiAlphanumeric;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/);\nmodule.exports = asciiAtext;","'use strict'; // Note: EOF is seen as ASCII control here, because `null < 32 == true`.\n\nfunction asciiControl(code) {\n return (// Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code < 32 || code === 127\n );\n}\n\nmodule.exports = asciiControl;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiDigit = regexCheck(/\\d/);\nmodule.exports = asciiDigit;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiHexDigit = regexCheck(/[\\dA-Fa-f]/);\nmodule.exports = asciiHexDigit;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);\nmodule.exports = asciiPunctuation;","'use strict';\n\nfunction markdownLineEndingOrSpace(code) {\n return code < 0 || code === 32;\n}\n\nmodule.exports = markdownLineEndingOrSpace;","'use strict';\n\nfunction markdownLineEnding(code) {\n return code < -2;\n}\n\nmodule.exports = markdownLineEnding;","'use strict';\n\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32;\n}\n\nmodule.exports = markdownSpace;","'use strict';\n\nvar unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js');\n\nvar regexCheck = require('../util/regex-check.js'); // In fact adds to the bundle size.\n\n\nvar unicodePunctuation = regexCheck(unicodePunctuationRegex);\nmodule.exports = unicodePunctuation;","'use strict';\n\nvar regexCheck = require('../util/regex-check.js');\n\nvar unicodeWhitespace = regexCheck(/\\s/);\nmodule.exports = unicodeWhitespace;","'use strict';\n\nvar assign = Object.assign;\nmodule.exports = assign;","'use strict';\n\nvar fromCharCode = String.fromCharCode;\nmodule.exports = fromCharCode;","'use strict';\n\nvar own = {}.hasOwnProperty;\nmodule.exports = own;","'use strict'; // This module is copied from <https://spec.commonmark.org/0.29/#html-blocks>.\n\nvar basics = ['address', 'article', 'aside', 'base', 'basefont', 'blockquote', 'body', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dialog', 'dir', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hr', 'html', 'iframe', 'legend', 'li', 'link', 'main', 'menu', 'menuitem', 'nav', 'noframes', 'ol', 'optgroup', 'option', 'p', 'param', 'section', 'source', 'summary', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul'];\nmodule.exports = basics;","'use strict'; // This module is copied from <https://spec.commonmark.org/0.29/#html-blocks>.\n\nvar raws = ['pre', 'script', 'style', 'textarea'];\nmodule.exports = raws;","'use strict';\n\nvar splice = [].splice;\nmodule.exports = splice;","'use strict'; // This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\n\nvar unicodePunctuation = /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/;\nmodule.exports = unicodePunctuation;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar text$1 = require('./initialize/text.js');\n\nvar attention = require('./tokenize/attention.js');\n\nvar autolink = require('./tokenize/autolink.js');\n\nvar blockQuote = require('./tokenize/block-quote.js');\n\nvar characterEscape = require('./tokenize/character-escape.js');\n\nvar characterReference = require('./tokenize/character-reference.js');\n\nvar codeFenced = require('./tokenize/code-fenced.js');\n\nvar codeIndented = require('./tokenize/code-indented.js');\n\nvar codeText = require('./tokenize/code-text.js');\n\nvar definition = require('./tokenize/definition.js');\n\nvar hardBreakEscape = require('./tokenize/hard-break-escape.js');\n\nvar headingAtx = require('./tokenize/heading-atx.js');\n\nvar htmlFlow = require('./tokenize/html-flow.js');\n\nvar htmlText = require('./tokenize/html-text.js');\n\nvar labelEnd = require('./tokenize/label-end.js');\n\nvar labelStartImage = require('./tokenize/label-start-image.js');\n\nvar labelStartLink = require('./tokenize/label-start-link.js');\n\nvar lineEnding = require('./tokenize/line-ending.js');\n\nvar list = require('./tokenize/list.js');\n\nvar setextUnderline = require('./tokenize/setext-underline.js');\n\nvar thematicBreak = require('./tokenize/thematic-break.js');\n\nvar document = {\n 42: list,\n // Asterisk\n 43: list,\n // Plus sign\n 45: list,\n // Dash\n 48: list,\n // 0\n 49: list,\n // 1\n 50: list,\n // 2\n 51: list,\n // 3\n 52: list,\n // 4\n 53: list,\n // 5\n 54: list,\n // 6\n 55: list,\n // 7\n 56: list,\n // 8\n 57: list,\n // 9\n 62: blockQuote // Greater than\n\n};\nvar contentInitial = {\n 91: definition // Left square bracket\n\n};\nvar flowInitial = {\n '-2': codeIndented,\n // Horizontal tab\n '-1': codeIndented,\n // Virtual space\n 32: codeIndented // Space\n\n};\nvar flow = {\n 35: headingAtx,\n // Number sign\n 42: thematicBreak,\n // Asterisk\n 45: [setextUnderline, thematicBreak],\n // Dash\n 60: htmlFlow,\n // Less than\n 61: setextUnderline,\n // Equals to\n 95: thematicBreak,\n // Underscore\n 96: codeFenced,\n // Grave accent\n 126: codeFenced // Tilde\n\n};\nvar string = {\n 38: characterReference,\n // Ampersand\n 92: characterEscape // Backslash\n\n};\nvar text = {\n '-5': lineEnding,\n // Carriage return\n '-4': lineEnding,\n // Line feed\n '-3': lineEnding,\n // Carriage return + line feed\n 33: labelStartImage,\n // Exclamation mark\n 38: characterReference,\n // Ampersand\n 42: attention,\n // Asterisk\n 60: [autolink, htmlText],\n // Less than\n 91: labelStartLink,\n // Left square bracket\n 92: [hardBreakEscape, characterEscape],\n // Backslash\n 93: labelEnd,\n // Right square bracket\n 95: attention,\n // Underscore\n 96: codeText // Grave accent\n\n};\nvar insideSpan = {\n null: [attention, text$1.resolver]\n};\nvar disable = {\n null: []\n};\nexports.contentInitial = contentInitial;\nexports.disable = disable;\nexports.document = document;\nexports.flow = flow;\nexports.flowInitial = flowInitial;\nexports.insideSpan = insideSpan;\nexports.string = string;\nexports.text = text;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('../tokenize/factory-space.js');\n\nvar tokenize = initializeContent;\n\nfunction initializeContent(effects) {\n var contentStart = effects.attempt(this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial);\n var previous;\n return contentStart;\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, contentStart, 'linePrefix');\n }\n\n function paragraphInitial(code) {\n effects.enter('paragraph');\n return lineStart(code);\n }\n\n function lineStart(code) {\n var token = effects.enter('chunkText', {\n contentType: 'text',\n previous: previous\n });\n\n if (previous) {\n previous.next = token;\n }\n\n previous = token;\n return data(code);\n }\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText');\n effects.exit('paragraph');\n effects.consume(code);\n return;\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code);\n effects.exit('chunkText');\n return lineStart;\n } // Data.\n\n\n effects.consume(code);\n return data;\n }\n}\n\nexports.tokenize = tokenize;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('../tokenize/factory-space.js');\n\nvar partialBlankLine = require('../tokenize/partial-blank-line.js');\n\nvar tokenize = initializeDocument;\nvar containerConstruct = {\n tokenize: tokenizeContainer\n};\nvar lazyFlowConstruct = {\n tokenize: tokenizeLazyFlow\n};\n\nfunction initializeDocument(effects) {\n var self = this;\n var stack = [];\n var continued = 0;\n var inspectConstruct = {\n tokenize: tokenizeInspect,\n partial: true\n };\n var inspectResult;\n var childFlow;\n var childToken;\n return start;\n\n function start(code) {\n if (continued < stack.length) {\n self.containerState = stack[continued][1];\n return effects.attempt(stack[continued][0].continuation, documentContinue, documentContinued)(code);\n }\n\n return documentContinued(code);\n }\n\n function documentContinue(code) {\n continued++;\n return start(code);\n }\n\n function documentContinued(code) {\n // If we’re in a concrete construct (such as when expecting another line of\n // HTML, or we resulted in lazy content), we can immediately start flow.\n if (inspectResult && inspectResult.flowContinue) {\n return flowStart(code);\n }\n\n self.interrupt = childFlow && childFlow.currentConstruct && childFlow.currentConstruct.interruptible;\n self.containerState = {};\n return effects.attempt(containerConstruct, containerContinue, flowStart)(code);\n }\n\n function containerContinue(code) {\n stack.push([self.currentConstruct, self.containerState]);\n self.containerState = undefined;\n return documentContinued(code);\n }\n\n function flowStart(code) {\n if (code === null) {\n exitContainers(0, true);\n effects.consume(code);\n return;\n }\n\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n });\n return flowContinue(code);\n }\n\n function flowContinue(code) {\n if (code === null) {\n continueFlow(effects.exit('chunkFlow'));\n return flowStart(code);\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code);\n continueFlow(effects.exit('chunkFlow'));\n return effects.check(inspectConstruct, documentAfterPeek);\n }\n\n effects.consume(code);\n return flowContinue;\n }\n\n function documentAfterPeek(code) {\n exitContainers(inspectResult.continued, inspectResult && inspectResult.flowEnd);\n continued = 0;\n return start(code);\n }\n\n function continueFlow(token) {\n if (childToken) childToken.next = token;\n childToken = token;\n childFlow.lazy = inspectResult && inspectResult.lazy;\n childFlow.defineSkip(token.start);\n childFlow.write(self.sliceStream(token));\n }\n\n function exitContainers(size, end) {\n var index = stack.length; // Close the flow.\n\n if (childFlow && end) {\n childFlow.write([null]);\n childToken = childFlow = undefined;\n } // Exit open containers.\n\n\n while (index-- > size) {\n self.containerState = stack[index][1];\n stack[index][0].exit.call(self, effects);\n }\n\n stack.length = size;\n }\n\n function tokenizeInspect(effects, ok) {\n var subcontinued = 0;\n inspectResult = {};\n return inspectStart;\n\n function inspectStart(code) {\n if (subcontinued < stack.length) {\n self.containerState = stack[subcontinued][1];\n return effects.attempt(stack[subcontinued][0].continuation, inspectContinue, inspectLess)(code);\n } // If we’re continued but in a concrete flow, we can’t have more\n // containers.\n\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n inspectResult.flowContinue = true;\n return inspectDone(code);\n }\n\n self.interrupt = childFlow.currentConstruct && childFlow.currentConstruct.interruptible;\n self.containerState = {};\n return effects.attempt(containerConstruct, inspectFlowEnd, inspectDone)(code);\n }\n\n function inspectContinue(code) {\n subcontinued++;\n return self.containerState._closeFlow ? inspectFlowEnd(code) : inspectStart(code);\n }\n\n function inspectLess(code) {\n if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) {\n // Maybe another container?\n self.containerState = {};\n return effects.attempt(containerConstruct, inspectFlowEnd, // Maybe flow, or a blank line?\n effects.attempt(lazyFlowConstruct, inspectFlowEnd, effects.check(partialBlankLine, inspectFlowEnd, inspectLazy)))(code);\n } // Otherwise we’re interrupting.\n\n\n return inspectFlowEnd(code);\n }\n\n function inspectLazy(code) {\n // Act as if all containers are continued.\n subcontinued = stack.length;\n inspectResult.lazy = true;\n inspectResult.flowContinue = true;\n return inspectDone(code);\n } // We’re done with flow if we have more containers, or an interruption.\n\n\n function inspectFlowEnd(code) {\n inspectResult.flowEnd = true;\n return inspectDone(code);\n }\n\n function inspectDone(code) {\n inspectResult.continued = subcontinued;\n self.interrupt = self.containerState = undefined;\n return ok(code);\n }\n }\n}\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n}\n\nfunction tokenizeLazyFlow(effects, ok, nok) {\n return factorySpace(effects, effects.lazy(this.parser.constructs.flow, ok, nok), 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n}\n\nexports.tokenize = tokenize;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar content = require('../tokenize/content.js');\n\nvar factorySpace = require('../tokenize/factory-space.js');\n\nvar partialBlankLine = require('../tokenize/partial-blank-line.js');\n\nvar tokenize = initializeFlow;\n\nfunction initializeFlow(effects) {\n var self = this;\n var initial = effects.attempt( // Try to parse a blank line.\n partialBlankLine, atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects, effects.attempt(this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct)), 'linePrefix')));\n return initial;\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('lineEndingBlank');\n effects.consume(code);\n effects.exit('lineEndingBlank');\n self.currentConstruct = undefined;\n return initial;\n }\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n self.currentConstruct = undefined;\n return initial;\n }\n}\n\nexports.tokenize = tokenize;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar assign = require('../constant/assign.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar text = initializeFactory('text');\nvar string = initializeFactory('string');\nvar resolver = {\n resolveAll: createResolver()\n};\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(field === 'text' ? resolveAllLineSuffixes : undefined)\n };\n\n function initializeText(effects) {\n var self = this;\n var constructs = this.parser.constructs[field];\n var text = effects.attempt(constructs, start, notText);\n return start;\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code);\n }\n\n function notText(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n\n effects.enter('data');\n effects.consume(code);\n return data;\n }\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data');\n return text(code);\n } // Data.\n\n\n effects.consume(code);\n return data;\n }\n\n function atBreak(code) {\n var list = constructs[code];\n var index = -1;\n\n if (code === null) {\n return true;\n }\n\n if (list) {\n while (++index < list.length) {\n if (!list[index].previous || list[index].previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n }\n }\n}\n\nfunction createResolver(extraResolver) {\n return resolveAllText;\n\n function resolveAllText(events, context) {\n var index = -1;\n var enter; // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index;\n index++;\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n index = enter + 2;\n }\n\n enter = undefined;\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events;\n }\n} // A rather ugly set of instructions which again looks at chunks in the input\n// stream.\n// The reason to do this here is that it is *much* faster to parse in reverse.\n// And that we can’t hook into `null` to split the line suffix before an EOF.\n// To do: figure out if we can make this into a clean utility, or even in core.\n// As it will be useful for GFMs literal autolink extension (and maybe even\n// tables?)\n\n\nfunction resolveAllLineSuffixes(events, context) {\n var eventIndex = -1;\n var chunks;\n var data;\n var chunk;\n var index;\n var bufferIndex;\n var size;\n var tabs;\n var token;\n\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === 'lineEnding') && events[eventIndex - 1][1].type === 'data') {\n data = events[eventIndex - 1][1];\n chunks = context.sliceStream(data);\n index = chunks.length;\n bufferIndex = -1;\n size = 0;\n tabs = undefined;\n\n while (index--) {\n chunk = chunks[index];\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length;\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n\n if (bufferIndex) break;\n bufferIndex = -1;\n } // Number\n else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1) ;else {\n // Replacement character, exit.\n index++;\n break;\n }\n }\n\n if (size) {\n token = {\n type: eventIndex === events.length || tabs || size < 2 ? 'lineSuffix' : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index ? bufferIndex : data.start._bufferIndex + bufferIndex\n },\n end: shallow(data.end)\n };\n data.end = shallow(token.start);\n\n if (data.start.offset === data.end.offset) {\n assign(data, token);\n } else {\n events.splice(eventIndex, 0, ['enter', token, context], ['exit', token, context]);\n eventIndex += 2;\n }\n }\n\n eventIndex++;\n }\n }\n\n return events;\n}\n\nexports.resolver = resolver;\nexports.string = string;\nexports.text = text;","'use strict';\n\nvar content = require('./initialize/content.js');\n\nvar document = require('./initialize/document.js');\n\nvar flow = require('./initialize/flow.js');\n\nvar text = require('./initialize/text.js');\n\nvar combineExtensions = require('./util/combine-extensions.js');\n\nvar createTokenizer = require('./util/create-tokenizer.js');\n\nvar miniflat = require('./util/miniflat.js');\n\nvar constructs = require('./constructs.js');\n\nfunction parse(options) {\n var settings = options || {};\n var parser = {\n defined: [],\n constructs: combineExtensions([constructs].concat(miniflat(settings.extensions))),\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(text.string),\n text: create(text.text)\n };\n return parser;\n\n function create(initializer) {\n return creator;\n\n function creator(from) {\n return createTokenizer(parser, initializer, from);\n }\n }\n}\n\nmodule.exports = parse;","'use strict';\n\nvar subtokenize = require('./util/subtokenize.js');\n\nfunction postprocess(events) {\n while (!subtokenize(events)) {// Empty\n }\n\n return events;\n}\n\nmodule.exports = postprocess;","'use strict';\n\nvar search = /[\\0\\t\\n\\r]/g;\n\nfunction preprocess() {\n var start = true;\n var column = 1;\n var buffer = '';\n var atCarriageReturn;\n return preprocessor;\n\n function preprocessor(value, encoding, end) {\n var chunks = [];\n var match;\n var next;\n var startPosition;\n var endPosition;\n var code;\n value = buffer + value.toString(encoding);\n startPosition = 0;\n buffer = '';\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n\n start = undefined;\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n\n if (code === 0) {\n chunks.push(65533);\n column++;\n } else if (code === 9) {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n\n while (column++ < next) {\n chunks.push(-1);\n }\n } else if (code === 10) {\n chunks.push(-4);\n column = 1;\n } // Must be carriage return.\n else {\n atCarriageReturn = true;\n column = 1;\n }\n }\n\n startPosition = endPosition + 1;\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n\n return chunks;\n }\n}\n\nmodule.exports = preprocess;","'use strict';\n\nvar chunkedPush = require('../util/chunked-push.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar classifyCharacter = require('../util/classify-character.js');\n\nvar movePoint = require('../util/move-point.js');\n\nvar resolveAll = require('../util/resolve-all.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n};\n\nfunction resolveAllAttention(events, context) {\n var index = -1;\n var open;\n var group;\n var text;\n var openingSequence;\n var closingSequence;\n var use;\n var nextEvents;\n var offset; // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index; // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n } // Number of markers to use from the sequence.\n\n\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: movePoint(shallow(events[open][1].end), -use),\n end: shallow(events[open][1].end)\n };\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: shallow(events[index][1].start),\n end: movePoint(shallow(events[index][1].start), use)\n };\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: shallow(events[open][1].end),\n end: shallow(events[index][1].start)\n };\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: shallow(openingSequence.start),\n end: shallow(closingSequence.end)\n };\n events[open][1].end = shallow(openingSequence.start);\n events[index][1].start = shallow(closingSequence.end);\n nextEvents = []; // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = chunkedPush(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n } // Opening.\n\n\n nextEvents = chunkedPush(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]); // Between.\n\n nextEvents = chunkedPush(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context)); // Closing.\n\n nextEvents = chunkedPush(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]); // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = chunkedPush(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n\n chunkedSplice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n } // Remove remaining sequences.\n\n\n index = -1;\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n\n return events;\n}\n\nfunction tokenizeAttention(effects, ok) {\n var before = classifyCharacter(this.previous);\n var marker;\n return start;\n\n function start(code) {\n effects.enter('attentionSequence');\n marker = code;\n return sequence(code);\n }\n\n function sequence(code) {\n var token;\n var after;\n var open;\n var close;\n\n if (code === marker) {\n effects.consume(code);\n return sequence;\n }\n\n token = effects.exit('attentionSequence');\n after = classifyCharacter(code);\n open = !after || after === 2 && before;\n close = !before || before === 2 && after;\n token._open = marker === 42 ? open : open && (before || !close);\n token._close = marker === 42 ? close : close && (after || !open);\n return ok(code);\n }\n}\n\nmodule.exports = attention;","'use strict';\n\nvar asciiAlpha = require('../character/ascii-alpha.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar asciiAtext = require('../character/ascii-atext.js');\n\nvar asciiControl = require('../character/ascii-control.js');\n\nvar autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\nfunction tokenizeAutolink(effects, ok, nok) {\n var size = 1;\n return start;\n\n function start(code) {\n effects.enter('autolink');\n effects.enter('autolinkMarker');\n effects.consume(code);\n effects.exit('autolinkMarker');\n effects.enter('autolinkProtocol');\n return open;\n }\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code);\n }\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code) ? schemeInsideOrEmailAtext(code) : emailAtext(code);\n }\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n return urlInside;\n }\n\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n\n return emailAtext(code);\n }\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol');\n return end(code);\n }\n\n if (code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n\n effects.consume(code);\n return urlInside;\n }\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n\n return nok(code);\n }\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail';\n return end(code);\n }\n\n return emailValue(code);\n }\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code);\n return code === 45 ? emailValue : emailLabel;\n }\n\n return nok(code);\n }\n\n function end(code) {\n effects.enter('autolinkMarker');\n effects.consume(code);\n effects.exit('autolinkMarker');\n effects.exit('autolink');\n return ok;\n }\n}\n\nmodule.exports = autolink;","'use strict';\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit: exit\n};\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n if (code === 62) {\n if (!self.containerState.open) {\n effects.enter('blockQuote', {\n _container: true\n });\n self.containerState.open = true;\n }\n\n effects.enter('blockQuotePrefix');\n effects.enter('blockQuoteMarker');\n effects.consume(code);\n effects.exit('blockQuoteMarker');\n return after;\n }\n\n return nok(code);\n }\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace');\n effects.consume(code);\n effects.exit('blockQuotePrefixWhitespace');\n effects.exit('blockQuotePrefix');\n return ok;\n }\n\n effects.exit('blockQuotePrefix');\n return ok(code);\n }\n}\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(effects, effects.attempt(blockQuote, ok, nok), 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n}\n\nfunction exit(effects) {\n effects.exit('blockQuote');\n}\n\nmodule.exports = blockQuote;","'use strict';\n\nvar asciiPunctuation = require('../character/ascii-punctuation.js');\n\nvar characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('characterEscape');\n effects.enter('escapeMarker');\n effects.consume(code);\n effects.exit('escapeMarker');\n return open;\n }\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue');\n effects.consume(code);\n effects.exit('characterEscapeValue');\n effects.exit('characterEscape');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = characterEscape;","'use strict';\n\nvar decodeEntity = require('parse-entities/decode-entity.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar asciiDigit = require('../character/ascii-digit.js');\n\nvar asciiHexDigit = require('../character/ascii-hex-digit.js');\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {\n default: e\n };\n}\n\nvar decodeEntity__default = /*#__PURE__*/_interopDefaultLegacy(decodeEntity);\n\nvar characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n var self = this;\n var size = 0;\n var max;\n var test;\n return start;\n\n function start(code) {\n effects.enter('characterReference');\n effects.enter('characterReferenceMarker');\n effects.consume(code);\n effects.exit('characterReferenceMarker');\n return open;\n }\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric');\n effects.consume(code);\n effects.exit('characterReferenceMarkerNumeric');\n return numeric;\n }\n\n effects.enter('characterReferenceValue');\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal');\n effects.consume(code);\n effects.exit('characterReferenceMarkerHexadecimal');\n effects.enter('characterReferenceValue');\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n\n effects.enter('characterReferenceValue');\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n function value(code) {\n var token;\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue');\n\n if (test === asciiAlphanumeric && !decodeEntity__default['default'](self.sliceSerialize(token))) {\n return nok(code);\n }\n\n effects.enter('characterReferenceMarker');\n effects.consume(code);\n effects.exit('characterReferenceMarker');\n effects.exit('characterReference');\n return ok;\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = characterReference;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n};\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n var self = this;\n var closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n };\n var initialPrefix = prefixSize(this.events, 'linePrefix');\n var sizeOpen = 0;\n var marker;\n return start;\n\n function start(code) {\n effects.enter('codeFenced');\n effects.enter('codeFencedFence');\n effects.enter('codeFencedFenceSequence');\n marker = code;\n return sequenceOpen(code);\n }\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n\n effects.exit('codeFencedFenceSequence');\n return sizeOpen < 3 ? nok(code) : factorySpace(effects, infoOpen, 'whitespace')(code);\n }\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code);\n }\n\n effects.enter('codeFencedFenceInfo');\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return info(code);\n }\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString');\n effects.exit('codeFencedFenceInfo');\n return factorySpace(effects, infoAfter, 'whitespace')(code);\n }\n\n if (code === 96 && code === marker) return nok(code);\n effects.consume(code);\n return info;\n }\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code);\n }\n\n effects.enter('codeFencedFenceMeta');\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return meta(code);\n }\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString');\n effects.exit('codeFencedFenceMeta');\n return openAfter(code);\n }\n\n if (code === 96 && code === marker) return nok(code);\n effects.consume(code);\n return meta;\n }\n\n function openAfter(code) {\n effects.exit('codeFencedFence');\n return self.interrupt ? ok(code) : content(code);\n }\n\n function content(code) {\n if (code === null) {\n return after(code);\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return effects.attempt(closingFenceConstruct, after, initialPrefix ? factorySpace(effects, content, 'linePrefix', initialPrefix + 1) : content);\n }\n\n effects.enter('codeFlowValue');\n return contentContinue(code);\n }\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue');\n return content(code);\n }\n\n effects.consume(code);\n return contentContinue;\n }\n\n function after(code) {\n effects.exit('codeFenced');\n return ok(code);\n }\n\n function tokenizeClosingFence(effects, ok, nok) {\n var size = 0;\n return factorySpace(effects, closingSequenceStart, 'linePrefix', this.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence');\n effects.enter('codeFencedFenceSequence');\n return closingSequence(code);\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return closingSequence;\n }\n\n if (size < sizeOpen) return nok(code);\n effects.exit('codeFencedFenceSequence');\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code);\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence');\n return ok(code);\n }\n\n return nok(code);\n }\n }\n}\n\nmodule.exports = codeFenced;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented,\n resolve: resolveCodeIndented\n};\nvar indentedContentConstruct = {\n tokenize: tokenizeIndentedContent,\n partial: true\n};\n\nfunction resolveCodeIndented(events, context) {\n var code = {\n type: 'codeIndented',\n start: events[0][1].start,\n end: events[events.length - 1][1].end\n };\n chunkedSplice(events, 0, 0, [['enter', code, context]]);\n chunkedSplice(events, events.length, 0, [['exit', code, context]]);\n return events;\n}\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n return effects.attempt(indentedContentConstruct, afterPrefix, nok);\n\n function afterPrefix(code) {\n if (code === null) {\n return ok(code);\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code);\n }\n\n effects.enter('codeFlowValue');\n return content(code);\n }\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue');\n return afterPrefix(code);\n }\n\n effects.consume(code);\n return content;\n }\n}\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n var self = this;\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1);\n\n function afterPrefix(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1);\n }\n\n return prefixSize(self.events, 'linePrefix') < 4 ? nok(code) : ok(code);\n }\n}\n\nmodule.exports = codeIndented;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous: previous\n};\n\nfunction resolveCodeText(events) {\n var tailExitIndex = events.length - 4;\n var headEnterIndex = 3;\n var index;\n var enter; // If we start and end with an EOL or a space.\n\n if ((events[headEnterIndex][1].type === 'lineEnding' || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === 'lineEnding' || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex; // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[tailExitIndex][1].type = events[headEnterIndex][1].type = 'codeTextPadding';\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n } // Merge adjacent spaces and data.\n\n\n index = headEnterIndex - 1;\n tailExitIndex++;\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === 'lineEnding') {\n events[enter][1].type = 'codeTextData';\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n\n enter = undefined;\n }\n }\n\n return events;\n}\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === 'characterEscape';\n}\n\nfunction tokenizeCodeText(effects, ok, nok) {\n var sizeOpen = 0;\n var size;\n var token;\n return start;\n\n function start(code) {\n effects.enter('codeText');\n effects.enter('codeTextSequence');\n return openingSequence(code);\n }\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return openingSequence;\n }\n\n effects.exit('codeTextSequence');\n return gap(code);\n }\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n } // Closing fence?\n // Could also be data.\n\n\n if (code === 96) {\n token = effects.enter('codeTextSequence');\n size = 0;\n return closingSequence(code);\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return gap;\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return gap;\n } // Data.\n\n\n effects.enter('codeTextData');\n return data(code);\n } // In code.\n\n\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit('codeTextData');\n return gap(code);\n }\n\n effects.consume(code);\n return data;\n } // Closing fence.\n\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return closingSequence;\n } // Done!\n\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence');\n effects.exit('codeText');\n return ok(code);\n } // More or less accents: mark as data.\n\n\n token.type = 'codeTextData';\n return data(code);\n }\n}\n\nmodule.exports = codeText;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar subtokenize = require('../util/subtokenize.js');\n\nvar factorySpace = require('./factory-space.js'); // No name because it must not be turned off.\n\n\nvar content = {\n tokenize: tokenizeContent,\n resolve: resolveContent,\n interruptible: true,\n lazy: true\n};\nvar continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}; // Content is transparent: it’s parsed right now. That way, definitions are also\n// parsed right now: before text in paragraphs (specifically, media) are parsed.\n\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\n\nfunction tokenizeContent(effects, ok) {\n var previous;\n return start;\n\n function start(code) {\n effects.enter('content');\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n });\n return data(code);\n }\n\n function data(code) {\n if (code === null) {\n return contentEnd(code);\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(continuationConstruct, contentContinue, contentEnd)(code);\n } // Data.\n\n\n effects.consume(code);\n return data;\n }\n\n function contentEnd(code) {\n effects.exit('chunkContent');\n effects.exit('content');\n return ok(code);\n }\n\n function contentContinue(code) {\n effects.consume(code);\n effects.exit('chunkContent');\n previous = previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous: previous\n });\n return data;\n }\n}\n\nfunction tokenizeContinuation(effects, ok, nok) {\n var self = this;\n return startLookahead;\n\n function startLookahead(code) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, prefixed, 'linePrefix');\n }\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n if (self.parser.constructs.disable.null.indexOf('codeIndented') > -1 || prefixSize(self.events, 'linePrefix') < 4) {\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code);\n }\n\n return ok(code);\n }\n}\n\nmodule.exports = content;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar normalizeIdentifier = require('../util/normalize-identifier.js');\n\nvar factoryDestination = require('./factory-destination.js');\n\nvar factoryLabel = require('./factory-label.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar factoryWhitespace = require('./factory-whitespace.js');\n\nvar factoryTitle = require('./factory-title.js');\n\nvar definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n};\nvar titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n};\n\nfunction tokenizeDefinition(effects, ok, nok) {\n var self = this;\n var identifier;\n return start;\n\n function start(code) {\n effects.enter('definition');\n return factoryLabel.call(self, effects, labelAfter, nok, 'definitionLabel', 'definitionLabelMarker', 'definitionLabelString')(code);\n }\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1));\n\n if (code === 58) {\n effects.enter('definitionMarker');\n effects.consume(code);\n effects.exit('definitionMarker'); // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(effects, factoryDestination(effects, effects.attempt(titleConstruct, factorySpace(effects, after, 'whitespace'), factorySpace(effects, after, 'whitespace')), nok, 'definitionDestination', 'definitionDestinationLiteral', 'definitionDestinationLiteralMarker', 'definitionDestinationRaw', 'definitionDestinationString'));\n }\n\n return nok(code);\n }\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition');\n\n if (self.parser.defined.indexOf(identifier) < 0) {\n self.parser.defined.push(identifier);\n }\n\n return ok(code);\n }\n\n return nok(code);\n }\n}\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start;\n\n function start(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, before)(code) : nok(code);\n }\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, factorySpace(effects, after, 'whitespace'), nok, 'definitionTitle', 'definitionTitleMarker', 'definitionTitleString')(code);\n }\n\n return nok(code);\n }\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}\n\nmodule.exports = definition;","'use strict';\n\nvar asciiControl = require('../character/ascii-control.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js'); // eslint-disable-next-line max-params\n\n\nfunction destinationFactory(effects, ok, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n var limit = max || Infinity;\n var balance = 0;\n return start;\n\n function start(code) {\n if (code === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n return destinationEnclosedBefore;\n }\n\n if (asciiControl(code) || code === 41) {\n return nok(code);\n }\n\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return destinationRaw(code);\n }\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok;\n }\n\n effects.enter(stringType);\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return destinationEnclosed(code);\n }\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString');\n effects.exit(stringType);\n return destinationEnclosedBefore(code);\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code);\n }\n\n effects.consume(code);\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed;\n }\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code);\n return destinationEnclosed;\n }\n\n return destinationEnclosed(code);\n }\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code);\n effects.consume(code);\n return destinationRaw;\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString');\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n\n effects.consume(code);\n return destinationRaw;\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code);\n effects.exit('chunkString');\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n\n if (asciiControl(code)) return nok(code);\n effects.consume(code);\n return code === 92 ? destinationRawEscape : destinationRaw;\n }\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code);\n return destinationRaw;\n }\n\n return destinationRaw(code);\n }\n}\n\nmodule.exports = destinationFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownSpace = require('../character/markdown-space.js'); // eslint-disable-next-line max-params\n\n\nfunction labelFactory(effects, ok, nok, type, markerType, stringType) {\n var self = this;\n var size = 0;\n var data;\n return start;\n\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n\n function atBreak(code) {\n if (code === null || code === 91 || code === 93 && !data ||\n /* c8 ignore next */\n code === 94 &&\n /* c8 ignore next */\n !size &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs || size > 999) {\n return nok(code);\n }\n\n if (code === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return atBreak;\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return label(code);\n }\n\n function label(code) {\n if (code === null || code === 91 || code === 93 || markdownLineEnding(code) || size++ > 999) {\n effects.exit('chunkString');\n return atBreak(code);\n }\n\n effects.consume(code);\n data = data || !markdownSpace(code);\n return code === 92 ? labelEscape : label;\n }\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return label;\n }\n\n return label(code);\n }\n}\n\nmodule.exports = labelFactory;","'use strict';\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nfunction spaceFactory(effects, ok, type, max) {\n var limit = max ? max - 1 : Infinity;\n var size = 0;\n return start;\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type);\n return prefix(code);\n }\n\n return ok(code);\n }\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code);\n return prefix;\n }\n\n effects.exit(type);\n return ok(code);\n }\n}\n\nmodule.exports = spaceFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('./factory-space.js');\n\nfunction titleFactory(effects, ok, nok, type, markerType, stringType) {\n var marker;\n return start;\n\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n marker = code === 40 ? 41 : code;\n return atFirstTitleBreak;\n }\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n effects.enter(stringType);\n return atTitleBreak(code);\n }\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType);\n return atFirstTitleBreak(marker);\n }\n\n if (code === null) {\n return nok(code);\n } // Note: blank lines can’t exist in content.\n\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, atTitleBreak, 'linePrefix');\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n });\n return title(code);\n }\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString');\n return atTitleBreak(code);\n }\n\n effects.consume(code);\n return code === 92 ? titleEscape : title;\n }\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code);\n return title;\n }\n\n return title(code);\n }\n}\n\nmodule.exports = titleFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nfunction whitespaceFactory(effects, ok) {\n var seen;\n return start;\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n seen = true;\n return start;\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, start, seen ? 'linePrefix' : 'lineSuffix')(code);\n }\n\n return ok(code);\n }\n}\n\nmodule.exports = whitespaceFactory;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('hardBreakEscape');\n effects.enter('escapeMarker');\n effects.consume(code);\n return open;\n }\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker');\n effects.exit('hardBreakEscape');\n return ok(code);\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = hardBreakEscape;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n};\n\nfunction resolveHeadingAtx(events, context) {\n var contentEnd = events.length - 2;\n var contentStart = 3;\n var content;\n var text; // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2;\n } // Suffix whitespace, part of the closing.\n\n\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === 'whitespace') {\n contentEnd -= 2;\n }\n\n if (events[contentEnd][1].type === 'atxHeadingSequence' && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === 'whitespace')) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: 'text'\n };\n chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [['enter', content, context], ['enter', text, context], ['exit', text, context], ['exit', content, context]]);\n }\n\n return events;\n}\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n var self = this;\n var size = 0;\n return start;\n\n function start(code) {\n effects.enter('atxHeading');\n effects.enter('atxHeadingSequence');\n return fenceOpenInside(code);\n }\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code);\n return fenceOpenInside;\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence');\n return self.interrupt ? ok(code) : headingBreak(code);\n }\n\n return nok(code);\n }\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence');\n return sequence(code);\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading');\n return ok(code);\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code);\n }\n\n effects.enter('atxHeadingText');\n return data(code);\n }\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code);\n return sequence;\n }\n\n effects.exit('atxHeadingSequence');\n return headingBreak(code);\n }\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText');\n return headingBreak(code);\n }\n\n effects.consume(code);\n return data;\n }\n}\n\nmodule.exports = headingAtx;","'use strict';\n\nvar asciiAlpha = require('../character/ascii-alpha.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nvar htmlBlockNames = require('../constant/html-block-names.js');\n\nvar htmlRawNames = require('../constant/html-raw-names.js');\n\nvar partialBlankLine = require('./partial-blank-line.js');\n\nvar htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n};\nvar nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n};\n\nfunction resolveToHtmlFlow(events) {\n var index = events.length;\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break;\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start; // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start; // Remove the line prefix.\n\n events.splice(index - 2, 2);\n }\n\n return events;\n}\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n var self = this;\n var kind;\n var startTag;\n var buffer;\n var index;\n var marker;\n return start;\n\n function start(code) {\n effects.enter('htmlFlow');\n effects.enter('htmlFlowData');\n effects.consume(code);\n return open;\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationStart;\n }\n\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n\n if (code === 63) {\n effects.consume(code);\n kind = 3; // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n buffer = fromCharCode(code);\n startTag = true;\n return tagName;\n }\n\n return nok(code);\n }\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code);\n kind = 2;\n return commentOpenInside;\n }\n\n if (code === 91) {\n effects.consume(code);\n kind = 5;\n buffer = 'CDATA[';\n index = 0;\n return cdataOpenInside;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n kind = 4;\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n return nok(code);\n }\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n return nok(code);\n }\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code);\n return index === buffer.length ? self.interrupt ? ok : continuation : cdataOpenInside;\n }\n\n return nok(code);\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n buffer = fromCharCode(code);\n return tagName;\n }\n\n return nok(code);\n }\n\n function tagName(code) {\n if (code === null || code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n if (code !== 47 && startTag && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 1;\n return self.interrupt ? ok(code) : continuation(code);\n }\n\n if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 6;\n\n if (code === 47) {\n effects.consume(code);\n return basicSelfClosing;\n }\n\n return self.interrupt ? ok(code) : continuation(code);\n }\n\n kind = 7; // Do not support complete HTML when interrupting.\n\n return self.interrupt ? nok(code) : startTag ? completeAttributeNameBefore(code) : completeClosingTagAfter(code);\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n buffer += fromCharCode(code);\n return tagName;\n }\n\n return nok(code);\n }\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code);\n return self.interrupt ? ok : continuation;\n }\n\n return nok(code);\n }\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeClosingTagAfter;\n }\n\n return completeEnd(code);\n }\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code);\n return completeEnd;\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameBefore;\n }\n\n return completeEnd(code);\n }\n\n function completeAttributeName(code) {\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n\n return completeAttributeNameAfter(code);\n }\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameAfter;\n }\n\n return completeAttributeNameBefore(code);\n }\n\n function completeAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return completeAttributeValueQuoted;\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n\n marker = undefined;\n return completeAttributeValueUnquoted(code);\n }\n\n function completeAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n return completeAttributeValueQuotedAfter;\n }\n\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n effects.consume(code);\n return completeAttributeValueQuoted;\n }\n\n function completeAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 62 || code === 96 || markdownLineEndingOrSpace(code)) {\n return completeAttributeNameAfter(code);\n }\n\n effects.consume(code);\n return completeAttributeValueUnquoted;\n }\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code);\n }\n\n return nok(code);\n }\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code);\n return completeAfter;\n }\n\n return nok(code);\n }\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAfter;\n }\n\n return code === null || markdownLineEnding(code) ? continuation(code) : nok(code);\n }\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code);\n return continuationCommentInside;\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code);\n return continuationRawTagOpen;\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code);\n return continuationClose;\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code);\n return continuationCharacterDataInside;\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(nextBlankConstruct, continuationClose, continuationAtLineEnding)(code);\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code);\n }\n\n effects.consume(code);\n return continuation;\n }\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData');\n return htmlContinueStart(code);\n }\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code);\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return htmlContinueStart;\n }\n\n effects.enter('htmlFlowData');\n return continuation(code);\n }\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n\n return continuation(code);\n }\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n\n return continuation(code);\n }\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n effects.consume(code);\n return continuationClose;\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code);\n buffer += fromCharCode(code);\n return continuationRawEndTag;\n }\n\n return continuation(code);\n }\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n\n return continuation(code);\n }\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n return continuation(code);\n }\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData');\n return done(code);\n }\n\n effects.consume(code);\n return continuationClose;\n }\n\n function done(code) {\n effects.exit('htmlFlow');\n return ok(code);\n }\n}\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.exit('htmlFlowData');\n effects.enter('lineEndingBlank');\n effects.consume(code);\n effects.exit('lineEndingBlank');\n return effects.attempt(partialBlankLine, ok, nok);\n }\n}\n\nmodule.exports = htmlFlow;","'use strict';\n\nvar asciiAlpha = require('../character/ascii-alpha.js');\n\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n var self = this;\n var marker;\n var buffer;\n var index;\n var returnState;\n return start;\n\n function start(code) {\n effects.enter('htmlText');\n effects.enter('htmlTextData');\n effects.consume(code);\n return open;\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n\n return nok(code);\n }\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpen;\n }\n\n if (code === 91) {\n effects.consume(code);\n buffer = 'CDATA[';\n index = 0;\n return cdataOpen;\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n\n return nok(code);\n }\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentStart;\n }\n\n return nok(code);\n }\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code);\n }\n\n if (code === 45) {\n effects.consume(code);\n return commentStartDash;\n }\n\n return comment(code);\n }\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code);\n }\n\n return comment(code);\n }\n\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return comment;\n }\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return end;\n }\n\n return comment(code);\n }\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code);\n return index === buffer.length ? cdata : cdataOpen;\n }\n\n return nok(code);\n }\n\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return cdata;\n }\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n\n return cdata(code);\n }\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n\n return cdata(code);\n }\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return declaration;\n }\n\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return instruction;\n }\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n\n return nok(code);\n }\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n\n return tagCloseBetween(code);\n }\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n\n return end(code);\n }\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n\n return nok(code);\n }\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n\n return end(code);\n }\n\n function tagOpenAttributeName(code) {\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n\n return tagOpenAttributeNameAfter(code);\n }\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n\n return tagOpenBetween(code);\n }\n\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return atLineEnding(code);\n }\n\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueUnquoted;\n }\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n return tagOpenAttributeValueQuotedAfter;\n }\n\n if (code === null) {\n return nok(code);\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return atLineEnding(code);\n }\n\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n\n return nok(code);\n }\n\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n\n function atLineEnding(code) {\n effects.exit('htmlTextData');\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, afterPrefix, 'linePrefix', self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4);\n }\n\n function afterPrefix(code) {\n effects.enter('htmlTextData');\n return returnState(code);\n }\n\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit('htmlTextData');\n effects.exit('htmlText');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = htmlText;","'use strict';\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar chunkedPush = require('../util/chunked-push.js');\n\nvar chunkedSplice = require('../util/chunked-splice.js');\n\nvar normalizeIdentifier = require('../util/normalize-identifier.js');\n\nvar resolveAll = require('../util/resolve-all.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar factoryDestination = require('./factory-destination.js');\n\nvar factoryLabel = require('./factory-label.js');\n\nvar factoryTitle = require('./factory-title.js');\n\nvar factoryWhitespace = require('./factory-whitespace.js');\n\nvar labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n};\nvar resourceConstruct = {\n tokenize: tokenizeResource\n};\nvar fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n};\nvar collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n};\n\nfunction resolveAllLabelEnd(events) {\n var index = -1;\n var token;\n\n while (++index < events.length) {\n token = events[index][1];\n\n if (!token._used && (token.type === 'labelImage' || token.type === 'labelLink' || token.type === 'labelEnd')) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2);\n token.type = 'data';\n index++;\n }\n }\n\n return events;\n}\n\nfunction resolveToLabelEnd(events, context) {\n var index = events.length;\n var offset = 0;\n var group;\n var label;\n var text;\n var token;\n var open;\n var close;\n var media; // Find an opening.\n\n while (index--) {\n token = events[index][1];\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === 'link' || token.type === 'labelLink' && token._inactive) {\n break;\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === 'labelImage' || token.type === 'labelLink') && !token._balanced) {\n open = index;\n\n if (token.type !== 'labelLink') {\n offset = 2;\n break;\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index;\n }\n }\n\n group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: shallow(events[open][1].start),\n end: shallow(events[events.length - 1][1].end)\n };\n label = {\n type: 'label',\n start: shallow(events[open][1].start),\n end: shallow(events[close][1].end)\n };\n text = {\n type: 'labelText',\n start: shallow(events[open + offset + 2][1].end),\n end: shallow(events[close - 2][1].start)\n };\n media = [['enter', group, context], ['enter', label, context]]; // Opening marker.\n\n media = chunkedPush(media, events.slice(open + 1, open + offset + 3)); // Text open.\n\n media = chunkedPush(media, [['enter', text, context]]); // Between.\n\n media = chunkedPush(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context)); // Text close, marker close, label close.\n\n media = chunkedPush(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]); // Reference, resource, or so.\n\n media = chunkedPush(media, events.slice(close + 1)); // Media close.\n\n media = chunkedPush(media, [['exit', group, context]]);\n chunkedSplice(events, open, events.length, media);\n return events;\n}\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n var self = this;\n var index = self.events.length;\n var labelStart;\n var defined; // Find an opening.\n\n while (index--) {\n if ((self.events[index][1].type === 'labelImage' || self.events[index][1].type === 'labelLink') && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n\n return start;\n\n function start(code) {\n if (!labelStart) {\n return nok(code);\n } // It’s a balanced bracket, but contains a link.\n\n\n if (labelStart._inactive) return balanced(code);\n defined = self.parser.defined.indexOf(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n }))) > -1;\n effects.enter('labelEnd');\n effects.enter('labelMarker');\n effects.consume(code);\n effects.exit('labelMarker');\n effects.exit('labelEnd');\n return afterLabelEnd;\n }\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(resourceConstruct, ok, defined ? ok : balanced)(code);\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n\n if (code === 91) {\n return effects.attempt(fullReferenceConstruct, ok, defined ? effects.attempt(collapsedReferenceConstruct, ok, balanced) : balanced)(code);\n } // Shortcut reference: `[asd]`?\n\n\n return defined ? ok(code) : balanced(code);\n }\n\n function balanced(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\nfunction tokenizeResource(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('resource');\n effects.enter('resourceMarker');\n effects.consume(code);\n effects.exit('resourceMarker');\n return factoryWhitespace(effects, open);\n }\n\n function open(code) {\n if (code === 41) {\n return end(code);\n }\n\n return factoryDestination(effects, destinationAfter, nok, 'resourceDestination', 'resourceDestinationLiteral', 'resourceDestinationLiteralMarker', 'resourceDestinationRaw', 'resourceDestinationString', 3)(code);\n }\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, between)(code) : end(code);\n }\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, factoryWhitespace(effects, end), nok, 'resourceTitle', 'resourceTitleMarker', 'resourceTitleString')(code);\n }\n\n return end(code);\n }\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker');\n effects.consume(code);\n effects.exit('resourceMarker');\n effects.exit('resource');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nfunction tokenizeFullReference(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n return factoryLabel.call(self, effects, afterLabel, nok, 'reference', 'referenceMarker', 'referenceString')(code);\n }\n\n function afterLabel(code) {\n return self.parser.defined.indexOf(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) < 0 ? nok(code) : ok(code);\n }\n}\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start;\n\n function start(code) {\n effects.enter('reference');\n effects.enter('referenceMarker');\n effects.consume(code);\n effects.exit('referenceMarker');\n return open;\n }\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker');\n effects.consume(code);\n effects.exit('referenceMarker');\n effects.exit('reference');\n return ok;\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = labelEnd;","'use strict';\n\nvar labelEnd = require('./label-end.js');\n\nvar labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n};\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n effects.enter('labelImage');\n effects.enter('labelImageMarker');\n effects.consume(code);\n effects.exit('labelImageMarker');\n return open;\n }\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker');\n effects.consume(code);\n effects.exit('labelMarker');\n effects.exit('labelImage');\n return after;\n }\n\n return nok(code);\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs ?\n /* c8 ignore next */\n nok(code) : ok(code);\n }\n}\n\nmodule.exports = labelStartImage;","'use strict';\n\nvar labelEnd = require('./label-end.js');\n\nvar labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n};\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n var self = this;\n return start;\n\n function start(code) {\n effects.enter('labelLink');\n effects.enter('labelMarker');\n effects.consume(code);\n effects.exit('labelMarker');\n effects.exit('labelLink');\n return after;\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs ?\n /* c8 ignore next */\n nok(code) : ok(code);\n }\n}\n\nmodule.exports = labelStartLink;","'use strict';\n\nvar factorySpace = require('./factory-space.js');\n\nvar lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n function start(code) {\n effects.enter('lineEnding');\n effects.consume(code);\n effects.exit('lineEnding');\n return factorySpace(effects, ok, 'linePrefix');\n }\n}\n\nmodule.exports = lineEnding;","'use strict';\n\nvar asciiDigit = require('../character/ascii-digit.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar prefixSize = require('../util/prefix-size.js');\n\nvar sizeChunks = require('../util/size-chunks.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar partialBlankLine = require('./partial-blank-line.js');\n\nvar thematicBreak = require('./thematic-break.js');\n\nvar list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n};\nvar listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n};\nvar indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n};\n\nfunction tokenizeListStart(effects, ok, nok) {\n var self = this;\n var initialSize = prefixSize(self.events, 'linePrefix');\n var size = 0;\n return start;\n\n function start(code) {\n var kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? 'listUnordered' : 'listOrdered');\n\n if (kind === 'listUnordered' ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix');\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix');\n effects.enter('listItemValue');\n return inside(code);\n }\n }\n\n return nok(code);\n }\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit('listItemValue');\n return atMarker(code);\n }\n\n return nok(code);\n }\n\n function atMarker(code) {\n effects.enter('listItemMarker');\n effects.consume(code);\n effects.exit('listItemMarker');\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(partialBlankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace');\n effects.consume(code);\n effects.exit('listItemPrefixWhitespace');\n return endOfPrefix;\n }\n\n return nok(code);\n }\n\n function endOfPrefix(code) {\n self.containerState.size = initialSize + sizeChunks(self.sliceStream(effects.exit('listItemPrefix')));\n return ok(code);\n }\n}\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n var self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(partialBlankLine, onBlank, notBlank);\n\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine; // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(effects, ok, 'listItemIndent', self.containerState.size + 1)(code);\n }\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true; // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined;\n return factorySpace(effects, effects.attempt(list, ok, nok), 'linePrefix', self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4)(code);\n }\n}\n\nfunction tokenizeIndent(effects, ok, nok) {\n var self = this;\n return factorySpace(effects, afterPrefix, 'listItemIndent', self.containerState.size + 1);\n\n function afterPrefix(code) {\n return prefixSize(self.events, 'listItemIndent') === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n var self = this;\n return factorySpace(effects, afterPrefix, 'listItemPrefixWhitespace', self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ? undefined : 4 + 1);\n\n function afterPrefix(code) {\n return markdownSpace(code) || !prefixSize(self.events, 'listItemPrefixWhitespace') ? nok(code) : ok(code);\n }\n}\n\nmodule.exports = list;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar partialBlankLine = {\n tokenize: tokenizePartialBlankLine,\n partial: true\n};\n\nfunction tokenizePartialBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix');\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}\n\nmodule.exports = partialBlankLine;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar shallow = require('../util/shallow.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n};\n\nfunction resolveToSetextUnderline(events, context) {\n var index = events.length;\n var content;\n var text;\n var definition;\n var heading; // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index;\n break;\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index;\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1);\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index;\n }\n }\n }\n\n heading = {\n type: 'setextHeading',\n start: shallow(events[text][1].start),\n end: shallow(events[events.length - 1][1].end)\n }; // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText'; // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = shallow(events[definition][1].end);\n } else {\n events[content][1] = heading;\n } // Add the heading exit at the end.\n\n\n events.push(['exit', heading, context]);\n return events;\n}\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n var self = this;\n var index = self.events.length;\n var marker;\n var paragraph; // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== 'lineEnding' && self.events[index][1].type !== 'linePrefix' && self.events[index][1].type !== 'content') {\n paragraph = self.events[index][1].type === 'paragraph';\n break;\n }\n }\n\n return start;\n\n function start(code) {\n if (!self.lazy && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine');\n effects.enter('setextHeadingLineSequence');\n marker = code;\n return closingSequence(code);\n }\n\n return nok(code);\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code);\n return closingSequence;\n }\n\n effects.exit('setextHeadingLineSequence');\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code);\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine');\n return ok(code);\n }\n\n return nok(code);\n }\n}\n\nmodule.exports = setextUnderline;","'use strict';\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar markdownSpace = require('../character/markdown-space.js');\n\nvar factorySpace = require('./factory-space.js');\n\nvar thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n var size = 0;\n var marker;\n return start;\n\n function start(code) {\n effects.enter('thematicBreak');\n marker = code;\n return atBreak(code);\n }\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence');\n return sequence(code);\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code);\n }\n\n if (size < 3 || code !== null && !markdownLineEnding(code)) {\n return nok(code);\n }\n\n effects.exit('thematicBreak');\n return ok(code);\n }\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n\n effects.exit('thematicBreakSequence');\n return atBreak(code);\n }\n}\n\nmodule.exports = thematicBreak;","'use strict';\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nfunction chunkedPush(list, items) {\n if (list.length) {\n chunkedSplice(list, list.length, 0, items);\n return list;\n }\n\n return items;\n}\n\nmodule.exports = chunkedPush;","'use strict';\n\nvar splice = require('../constant/splice.js'); // causes a stack overflow in V8 when trying to insert 100k items for instance.\n\n\nfunction chunkedSplice(list, start, remove, items) {\n var end = list.length;\n var chunkStart = 0;\n var parameters; // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n\n remove = remove > 0 ? remove : 0; // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n splice.apply(list, parameters);\n } else {\n // Delete `remove` items starting from `start`\n if (remove) splice.apply(list, [start, remove]); // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000);\n parameters.unshift(start, 0);\n splice.apply(list, parameters);\n chunkStart += 10000;\n start += 10000;\n }\n }\n}\n\nmodule.exports = chunkedSplice;","'use strict';\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js');\n\nvar unicodePunctuation = require('../character/unicode-punctuation.js');\n\nvar unicodeWhitespace = require('../character/unicode-whitespace.js'); // Classify whether a character is unicode whitespace, unicode punctuation, or\n// anything else.\n// Used for attention (emphasis, strong), whose sequences can open or close\n// based on the class of surrounding characters.\n\n\nfunction classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n\n if (unicodePunctuation(code)) {\n return 2;\n }\n}\n\nmodule.exports = classifyCharacter;","'use strict';\n\nvar hasOwnProperty = require('../constant/has-own-property.js');\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nvar miniflat = require('./miniflat.js');\n\nfunction combineExtensions(extensions) {\n var all = {};\n var index = -1;\n\n while (++index < extensions.length) {\n extension(all, extensions[index]);\n }\n\n return all;\n}\n\nfunction extension(all, extension) {\n var hook;\n var left;\n var right;\n var code;\n\n for (hook in extension) {\n left = hasOwnProperty.call(all, hook) ? all[hook] : all[hook] = {};\n right = extension[hook];\n\n for (code in right) {\n left[code] = constructs(miniflat(right[code]), hasOwnProperty.call(left, code) ? left[code] : []);\n }\n }\n}\n\nfunction constructs(list, existing) {\n var index = -1;\n var before = [];\n\n while (++index < list.length) {\n ;\n (list[index].add === 'after' ? existing : before).push(list[index]);\n }\n\n chunkedSplice(existing, 0, 0, before);\n return existing;\n}\n\nmodule.exports = combineExtensions;","'use strict';\n\nvar assign = require('../constant/assign.js');\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js');\n\nvar chunkedPush = require('./chunked-push.js');\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nvar miniflat = require('./miniflat.js');\n\nvar resolveAll = require('./resolve-all.js');\n\nvar serializeChunks = require('./serialize-chunks.js');\n\nvar shallow = require('./shallow.js');\n\nvar sliceChunks = require('./slice-chunks.js'); // Create a tokenizer.\n// Tokenizers deal with one type of data (e.g., containers, flow, text).\n// The parser is the object dealing with it all.\n// `initialize` works like other constructs, except that only its `tokenize`\n// function is used, in which case it doesn’t receive an `ok` or `nok`.\n// `from` can be given to set the point before the first character, although\n// when further lines are indented, they must be set with `defineSkip`.\n\n\nfunction createTokenizer(parser, initialize, from) {\n var point = from ? shallow(from) : {\n line: 1,\n column: 1,\n offset: 0\n };\n var columnStart = {};\n var resolveAllConstructs = [];\n var chunks = [];\n var stack = [];\n var effects = {\n consume: consume,\n enter: enter,\n exit: exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n }),\n lazy: constructFactory(onsuccessfulcheck, {\n lazy: true\n })\n }; // State and tools for resolving and serializing.\n\n var context = {\n previous: null,\n events: [],\n parser: parser,\n sliceStream: sliceStream,\n sliceSerialize: sliceSerialize,\n now: now,\n defineSkip: skip,\n write: write\n }; // The state function.\n\n var state = initialize.tokenize.call(context, effects); // Track which character we expect to be consumed, to catch bugs.\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n } // Store where we are in the input stream.\n\n\n point._index = 0;\n point._bufferIndex = -1;\n return context;\n\n function write(slice) {\n chunks = chunkedPush(chunks, slice);\n main(); // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n\n addResult(initialize, 0); // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n } //\n // Tools.\n //\n\n\n function sliceSerialize(token) {\n return serializeChunks(sliceStream(token));\n }\n\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n function now() {\n return shallow(point);\n }\n\n function skip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n } //\n // State management.\n //\n // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n // `consume`).\n // Here is where we walk through the chunks, which either include strings of\n // several characters, or numerical character codes.\n // The reason to do this in a loop instead of a call is so the stack can\n // drain.\n\n\n function main() {\n var chunkIndex;\n var chunk;\n\n while (point._index < chunks.length) {\n chunk = chunks[point._index]; // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n } // Deal with one code.\n\n\n function go(code) {\n state = state(code);\n } // Move a character forward.\n\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n } // Not in a string chunk.\n\n\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++; // At end of string chunk.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n } // Expose the previous character.\n\n\n context.previous = code; // Mark as consumed.\n } // Start a token.\n\n\n function enter(type, fields) {\n var token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n } // Stop a token.\n\n\n function exit(type) {\n var token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n } // Use results.\n\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n } // Discard results.\n\n\n function onsuccessfulcheck(construct, info) {\n info.restore();\n } // Factory to attempt/check/interrupt.\n\n\n function constructFactory(onreturn, fields) {\n return hook; // Handle either an object mapping codes to constructs, a list of\n // constructs, or a single construct.\n\n function hook(constructs, returnState, bogusState) {\n var listOfConstructs;\n var constructIndex;\n var currentConstruct;\n var info;\n return constructs.tokenize || 'length' in constructs ? handleListOfConstructs(miniflat(constructs)) : handleMapOfConstructs;\n\n function handleMapOfConstructs(code) {\n if (code in constructs || null in constructs) {\n return handleListOfConstructs(constructs.null ?\n /* c8 ignore next */\n miniflat(constructs[code]).concat(miniflat(constructs.null)) : constructs[code])(code);\n }\n\n return bogusState(code);\n }\n\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n return handleConstruct(list[constructIndex]);\n }\n\n function handleConstruct(construct) {\n return start;\n\n function start(code) {\n // To do: not nede to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n if (construct.name && context.parser.constructs.disable.null.indexOf(construct.name) > -1) {\n return nok();\n }\n\n return construct.tokenize.call(fields ? assign({}, context, fields) : context, effects, ok, nok)(code);\n }\n }\n\n function ok(code) {\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n function nok(code) {\n info.restore();\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n\n return bogusState;\n }\n }\n }\n\n function addResult(construct, from) {\n if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) {\n resolveAllConstructs.push(construct);\n }\n\n if (construct.resolve) {\n chunkedSplice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n function store() {\n var startPoint = now();\n var startPrevious = context.previous;\n var startCurrentConstruct = context.currentConstruct;\n var startEventsIndex = context.events.length;\n var startStack = Array.from(stack);\n return {\n restore: restore,\n from: startEventsIndex\n };\n\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\nmodule.exports = createTokenizer;","'use strict';\n\nfunction miniflat(value) {\n return value === null || value === undefined ? [] : 'length' in value ? value : [value];\n}\n\nmodule.exports = miniflat;","'use strict'; // chunks (replacement characters, tabs, or line endings).\n\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n return point;\n}\n\nmodule.exports = movePoint;","'use strict';\n\nfunction normalizeIdentifier(value) {\n return value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercaseâ€, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no object method is uppercase.\n .toLowerCase().toUpperCase();\n}\n\nmodule.exports = normalizeIdentifier;","'use strict';\n\nvar sizeChunks = require('./size-chunks.js');\n\nfunction prefixSize(events, type) {\n var tail = events[events.length - 1];\n if (!tail || tail[1].type !== type) return 0;\n return sizeChunks(tail[2].sliceStream(tail[1]));\n}\n\nmodule.exports = prefixSize;","'use strict';\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nfunction regexCheck(regex) {\n return check;\n\n function check(code) {\n return regex.test(fromCharCode(code));\n }\n}\n\nmodule.exports = regexCheck;","'use strict';\n\nfunction resolveAll(constructs, events, context) {\n var called = [];\n var index = -1;\n var resolve;\n\n while (++index < constructs.length) {\n resolve = constructs[index].resolveAll;\n\n if (resolve && called.indexOf(resolve) < 0) {\n events = resolve(events, context);\n called.push(resolve);\n }\n }\n\n return events;\n}\n\nmodule.exports = resolveAll;","'use strict';\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nfunction safeFromInt(value, base) {\n var code = parseInt(value, base);\n\n if ( // C0 except for HT, LF, FF, CR, space\n code < 9 || code === 11 || code > 13 && code < 32 || // Control character (DEL) of the basic block and C1 controls.\n code > 126 && code < 160 || // Lone high surrogates and low surrogates.\n code > 55295 && code < 57344 || // Noncharacters.\n code > 64975 && code < 65008 || (code & 65535) === 65535 || (code & 65535) === 65534 || // Out of range\n code > 1114111) {\n return \"\\uFFFD\";\n }\n\n return fromCharCode(code);\n}\n\nmodule.exports = safeFromInt;","'use strict';\n\nvar fromCharCode = require('../constant/from-char-code.js');\n\nfunction serializeChunks(chunks) {\n var index = -1;\n var result = [];\n var chunk;\n var value;\n var atTab;\n\n while (++index < chunks.length) {\n chunk = chunks[index];\n\n if (typeof chunk === 'string') {\n value = chunk;\n } else if (chunk === -5) {\n value = '\\r';\n } else if (chunk === -4) {\n value = '\\n';\n } else if (chunk === -3) {\n value = '\\r' + '\\n';\n } else if (chunk === -2) {\n value = '\\t';\n } else if (chunk === -1) {\n if (atTab) continue;\n value = ' ';\n } else {\n // Currently only replacement character.\n value = fromCharCode(chunk);\n }\n\n atTab = chunk === -2;\n result.push(value);\n }\n\n return result.join('');\n}\n\nmodule.exports = serializeChunks;","'use strict';\n\nvar assign = require('../constant/assign.js');\n\nfunction shallow(object) {\n return assign({}, object);\n}\n\nmodule.exports = shallow;","'use strict'; // Counts tabs based on their expanded size, and CR+LF as one character.\n\nfunction sizeChunks(chunks) {\n var index = -1;\n var size = 0;\n\n while (++index < chunks.length) {\n size += typeof chunks[index] === 'string' ? chunks[index].length : 1;\n }\n\n return size;\n}\n\nmodule.exports = sizeChunks;","'use strict';\n\nfunction sliceChunks(chunks, token) {\n var startIndex = token.start._index;\n var startBufferIndex = token.start._bufferIndex;\n var endIndex = token.end._index;\n var endBufferIndex = token.end._bufferIndex;\n var view;\n\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex);\n }\n\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n\n return view;\n}\n\nmodule.exports = sliceChunks;","'use strict';\n\nvar assign = require('../constant/assign.js');\n\nvar chunkedSplice = require('./chunked-splice.js');\n\nvar shallow = require('./shallow.js');\n\nfunction subtokenize(events) {\n var jumps = {};\n var index = -1;\n var event;\n var lineIndex;\n var otherIndex;\n var otherEvent;\n var parameters;\n var subevents;\n var more;\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index];\n }\n\n event = events[index]; // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (index && event[1].type === 'chunkFlow' && events[index - 1][1].type === 'listItemPrefix') {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === 'lineEndingBlank') {\n otherIndex += 2;\n }\n\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === 'content') {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break;\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1].isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n } // Enter.\n\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n assign(jumps, subcontent(events, index));\n index = jumps[index];\n more = true;\n }\n } // Exit.\n else if (event[1]._container || event[1]._movePreviousLineEndings) {\n otherIndex = index;\n lineIndex = undefined;\n\n while (otherIndex--) {\n otherEvent = events[otherIndex];\n\n if (otherEvent[1].type === 'lineEnding' || otherEvent[1].type === 'lineEndingBlank') {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank';\n }\n\n otherEvent[1].type = 'lineEnding';\n lineIndex = otherIndex;\n }\n } else {\n break;\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = shallow(events[lineIndex][1].start); // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index);\n parameters.unshift(event);\n chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters);\n }\n }\n }\n\n return !more;\n}\n\nfunction subcontent(events, eventIndex) {\n var token = events[eventIndex][1];\n var context = events[eventIndex][2];\n var startPosition = eventIndex - 1;\n var startPositions = [];\n var tokenizer = token._tokenizer || context.parser[token.contentType](token.start);\n var childEvents = tokenizer.events;\n var jumps = [];\n var gaps = {};\n var stream;\n var previous;\n var index;\n var entered;\n var end;\n var adjust; // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (token) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== token) {// Empty.\n }\n\n startPositions.push(startPosition);\n\n if (!token._tokenizer) {\n stream = context.sliceStream(token);\n\n if (!token.next) {\n stream.push(null);\n }\n\n if (previous) {\n tokenizer.defineSkip(token.start);\n }\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n\n tokenizer.write(stream);\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined;\n }\n } // Unravel the next token.\n\n\n previous = token;\n token = token.next;\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n\n token = previous;\n index = childEvents.length;\n\n while (index--) {\n // Make sure we’ve at least seen something (final eol is part of the last\n // token).\n if (childEvents[index][0] === 'enter') {\n entered = true;\n } else if ( // Find a void token that includes a break.\n entered && childEvents[index][1].type === childEvents[index - 1][1].type && childEvents[index][1].start.line !== childEvents[index][1].end.line) {\n add(childEvents.slice(index + 1, end)); // Help GC.\n\n token._tokenizer = token.next = undefined;\n token = token.previous;\n end = index + 1;\n }\n } // Help GC.\n\n\n tokenizer.events = token._tokenizer = token.next = undefined; // Do head:\n\n add(childEvents.slice(0, end));\n index = -1;\n adjust = 0;\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1];\n adjust += jumps[index][1] - jumps[index][0] - 1;\n }\n\n return gaps;\n\n function add(slice) {\n var start = startPositions.pop();\n jumps.unshift([start, start + slice.length - 1]);\n chunkedSplice(events, start, 2, slice);\n }\n}\n\nmodule.exports = subtokenize;","'use strict';\n/* eslint-env browser */\n\nvar el;\nvar semicolon = 59; // ';'\n\nmodule.exports = decodeEntity;\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';';\n var char;\n el = el || document.createElement('i');\n el.innerHTML = entity;\n char = el.textContent; // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false;\n } // If the decoded string is equal to the input, the entity was not valid\n\n\n return char === entity ? false : char;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isRequiredForA11y;\n\nfunction isRequiredForA11y(validator) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<<anonymous>>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nvar normalize = require('./normalize');\n\nvar DefinedInfo = require('./lib/util/defined-info');\n\nvar Info = require('./lib/util/info');\n\nvar data = 'data';\nmodule.exports = find;\nvar valid = /^data[-\\w.:]+$/i;\nvar dash = /-[a-z]/g;\nvar cap = /[A-Z]/g;\n\nfunction find(schema, value) {\n var normal = normalize(value);\n var prop = value;\n var Type = Info;\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]];\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n prop = datasetToProperty(value);\n } else {\n value = datasetToAttribute(value);\n }\n\n Type = DefinedInfo;\n }\n\n return new Type(prop, value);\n}\n\nfunction datasetToProperty(attribute) {\n var value = attribute.slice(5).replace(dash, camelcase);\n return data + value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction datasetToAttribute(property) {\n var value = property.slice(4);\n\n if (dash.test(value)) {\n return property;\n }\n\n value = value.replace(cap, kebab);\n\n if (value.charAt(0) !== '-') {\n value = '-' + value;\n }\n\n return data + value;\n}\n\nfunction kebab($0) {\n return '-' + $0.toLowerCase();\n}\n\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase();\n}","'use strict';\n\nvar merge = require('./lib/util/merge');\n\nvar xlink = require('./lib/xlink');\n\nvar xml = require('./lib/xml');\n\nvar xmlns = require('./lib/xmlns');\n\nvar aria = require('./lib/aria');\n\nvar html = require('./lib/html');\n\nmodule.exports = merge([xml, xlink, xmlns, aria, html]);","'use strict';\n\nvar types = require('./util/types');\n\nvar create = require('./util/create');\n\nvar booleanish = types.booleanish;\nvar number = types.number;\nvar spaceSeparated = types.spaceSeparated;\nmodule.exports = create({\n transform: ariaTransform,\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n});\n\nfunction ariaTransform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase();\n}","'use strict';\n\nvar types = require('./util/types');\n\nvar create = require('./util/create');\n\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform');\n\nvar boolean = types.boolean;\nvar overloadedBoolean = types.overloadedBoolean;\nvar booleanish = types.booleanish;\nvar number = types.number;\nvar spaceSeparated = types.spaceSeparated;\nvar commaSeparated = types.commaSeparated;\nmodule.exports = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: commaSeparated,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextMenu: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: commaSeparated,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null,\n // Several. Use CSS `text-align` instead,\n aLink: null,\n // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated,\n // `<object>`. List of URIs to archives\n axis: null,\n // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null,\n // `<body>`. Use CSS `background-image` instead\n bgColor: null,\n // `<body>` and table elements. Use CSS `background-color` instead\n border: number,\n // `<table>`. Use CSS `border-width` instead,\n borderColor: null,\n // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number,\n // `<body>`\n cellPadding: null,\n // `<table>`\n cellSpacing: null,\n // `<table>`\n char: null,\n // Several table elements. When `align=char`, sets the character to align on\n charOff: null,\n // Several table elements. When `char`, offsets the alignment\n classId: null,\n // `<object>`\n clear: null,\n // `<br>`. Use CSS `clear` instead\n code: null,\n // `<object>`\n codeBase: null,\n // `<object>`\n codeType: null,\n // `<object>`\n color: null,\n // `<font>` and `<hr>`. Use CSS instead\n compact: boolean,\n // Lists. Use CSS to reduce space between items instead\n declare: boolean,\n // `<object>`\n event: null,\n // `<script>`\n face: null,\n // `<font>`. Use CSS instead\n frame: null,\n // `<table>`\n frameBorder: null,\n // `<iframe>`. Use CSS `border` instead\n hSpace: number,\n // `<img>` and `<object>`\n leftMargin: number,\n // `<body>`\n link: null,\n // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null,\n // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null,\n // `<img>`. Use a `<picture>`\n marginHeight: number,\n // `<body>`\n marginWidth: number,\n // `<body>`\n noResize: boolean,\n // `<frame>`\n noHref: boolean,\n // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean,\n // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean,\n // `<td>` and `<th>`\n object: null,\n // `<applet>`\n profile: null,\n // `<head>`\n prompt: null,\n // `<isindex>`\n rev: null,\n // `<link>`\n rightMargin: number,\n // `<body>`\n rules: null,\n // `<table>`\n scheme: null,\n // `<meta>`\n scrolling: booleanish,\n // `<frame>`. Use overflow in the child context\n standby: null,\n // `<object>`\n summary: null,\n // `<table>`\n text: null,\n // `<body>`. Use CSS `color` instead\n topMargin: number,\n // `<body>`\n valueType: null,\n // `<param>`\n version: null,\n // `<html>`. Use a doctype.\n vAlign: null,\n // Several. Use CSS `vertical-align` instead\n vLink: null,\n // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number,\n // `<img>` and `<object>`\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n});","'use strict';\n\nvar types = require('./util/types');\n\nvar create = require('./util/create');\n\nvar caseSensitiveTransform = require('./util/case-sensitive-transform');\n\nvar boolean = types.boolean;\nvar number = types.number;\nvar spaceSeparated = types.spaceSeparated;\nvar commaSeparated = types.commaSeparated;\nvar commaOrSpaceSeparated = types.commaOrSpaceSeparated;\nmodule.exports = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null,\n // SEMI_COLON_SEPARATED\n keySplines: null,\n // SEMI_COLON_SEPARATED\n keyTimes: null,\n // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n});","'use strict';\n\nvar caseSensitiveTransform = require('./case-sensitive-transform');\n\nmodule.exports = caseInsensitiveTransform;\n\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase());\n}","'use strict';\n\nmodule.exports = caseSensitiveTransform;\n\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute;\n}","'use strict';\n\nvar normalize = require('../../normalize');\n\nvar Schema = require('./schema');\n\nvar DefinedInfo = require('./defined-info');\n\nmodule.exports = create;\n\nfunction create(definition) {\n var space = definition.space;\n var mustUseProperty = definition.mustUseProperty || [];\n var attributes = definition.attributes || {};\n var props = definition.properties;\n var transform = definition.transform;\n var property = {};\n var normal = {};\n var prop;\n var info;\n\n for (prop in props) {\n info = new DefinedInfo(prop, transform(attributes, prop), props[prop], space);\n\n if (mustUseProperty.indexOf(prop) !== -1) {\n info.mustUseProperty = true;\n }\n\n property[prop] = info;\n normal[normalize(prop)] = prop;\n normal[normalize(info.attribute)] = prop;\n }\n\n return new Schema(property, normal, space);\n}","'use strict';\n\nvar Info = require('./info');\n\nvar types = require('./types');\n\nmodule.exports = DefinedInfo;\nDefinedInfo.prototype = new Info();\nDefinedInfo.prototype.defined = true;\nvar checks = ['boolean', 'booleanish', 'overloadedBoolean', 'number', 'commaSeparated', 'spaceSeparated', 'commaOrSpaceSeparated'];\nvar checksLength = checks.length;\n\nfunction DefinedInfo(property, attribute, mask, space) {\n var index = -1;\n var check;\n mark(this, 'space', space);\n Info.call(this, property, attribute);\n\n while (++index < checksLength) {\n check = checks[index];\n mark(this, check, (mask & types[check]) === types[check]);\n }\n}\n\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value;\n }\n}","'use strict';\n\nmodule.exports = Info;\nvar proto = Info.prototype;\nproto.space = null;\nproto.attribute = null;\nproto.property = null;\nproto.boolean = false;\nproto.booleanish = false;\nproto.overloadedBoolean = false;\nproto.number = false;\nproto.commaSeparated = false;\nproto.spaceSeparated = false;\nproto.commaOrSpaceSeparated = false;\nproto.mustUseProperty = false;\nproto.defined = false;\n\nfunction Info(property, attribute) {\n this.property = property;\n this.attribute = attribute;\n}","'use strict';\n\nvar xtend = require('xtend');\n\nvar Schema = require('./schema');\n\nmodule.exports = merge;\n\nfunction merge(definitions) {\n var length = definitions.length;\n var property = [];\n var normal = [];\n var index = -1;\n var info;\n var space;\n\n while (++index < length) {\n info = definitions[index];\n property.push(info.property);\n normal.push(info.normal);\n space = info.space;\n }\n\n return new Schema(xtend.apply(null, property), xtend.apply(null, normal), space);\n}","'use strict';\n\nmodule.exports = Schema;\nvar proto = Schema.prototype;\nproto.space = null;\nproto.normal = {};\nproto.property = {};\n\nfunction Schema(property, normal, space) {\n this.property = property;\n this.normal = normal;\n\n if (space) {\n this.space = space;\n }\n}","'use strict';\n\nvar powers = 0;\nexports.boolean = increment();\nexports.booleanish = increment();\nexports.overloadedBoolean = increment();\nexports.number = increment();\nexports.spaceSeparated = increment();\nexports.commaSeparated = increment();\nexports.commaOrSpaceSeparated = increment();\n\nfunction increment() {\n return Math.pow(2, ++powers);\n}","'use strict';\n\nvar create = require('./util/create');\n\nmodule.exports = create({\n space: 'xlink',\n transform: xlinkTransform,\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n});\n\nfunction xlinkTransform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase();\n}","'use strict';\n\nvar create = require('./util/create');\n\nmodule.exports = create({\n space: 'xml',\n transform: xmlTransform,\n properties: {\n xmlLang: null,\n xmlBase: null,\n xmlSpace: null\n }\n});\n\nfunction xmlTransform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase();\n}","'use strict';\n\nvar create = require('./util/create');\n\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform');\n\nmodule.exports = create({\n space: 'xmlns',\n attributes: {\n xmlnsxlink: 'xmlns:xlink'\n },\n transform: caseInsensitiveTransform,\n properties: {\n xmlns: null,\n xmlnsXLink: null\n }\n});","'use strict';\n\nmodule.exports = normalize;\n\nfunction normalize(value) {\n return value.toLowerCase();\n}","'use strict';\n\nvar merge = require('./lib/util/merge');\n\nvar xlink = require('./lib/xlink');\n\nvar xml = require('./lib/xml');\n\nvar xmlns = require('./lib/xmlns');\n\nvar aria = require('./lib/aria');\n\nvar svg = require('./lib/svg');\n\nmodule.exports = merge([xml, xlink, xmlns, aria, svg]);","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports', './react-swipe'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require('./react-swipe'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.reactSwipe);\n global.index = mod.exports;\n }\n})(this, function (exports, _reactSwipe) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var _reactSwipe2 = _interopRequireDefault(_reactSwipe);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n exports.default = _reactSwipe2.default;\n});","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports', 'react', 'prop-types'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports, require('react'), require('prop-types'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports, global.react, global.propTypes);\n global.reactSwipe = mod.exports;\n }\n})(this, function (exports, _react, _propTypes) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.setHasSupportToCaptureOption = setHasSupportToCaptureOption;\n\n var _react2 = _interopRequireDefault(_react);\n\n var _propTypes2 = _interopRequireDefault(_propTypes);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n function _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var supportsCaptureOption = false;\n\n function setHasSupportToCaptureOption(hasSupport) {\n supportsCaptureOption = hasSupport;\n }\n\n try {\n addEventListener('test', null, Object.defineProperty({}, 'capture', {\n get: function get() {\n setHasSupportToCaptureOption(true);\n }\n }));\n } catch (e) {} // eslint-disable-line no-empty\n\n\n function getSafeEventHandlerOpts() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n capture: true\n };\n return supportsCaptureOption ? options : options.capture;\n }\n /**\n * [getPosition returns a position element that works for mouse or touch events]\n * @param {[Event]} event [the received event]\n * @return {[Object]} [x and y coords]\n */\n\n\n function getPosition(event) {\n if ('touches' in event) {\n var _event$touches$ = event.touches[0],\n pageX = _event$touches$.pageX,\n pageY = _event$touches$.pageY;\n return {\n x: pageX,\n y: pageY\n };\n }\n\n var screenX = event.screenX,\n screenY = event.screenY;\n return {\n x: screenX,\n y: screenY\n };\n }\n\n var ReactSwipe = function (_Component) {\n _inherits(ReactSwipe, _Component);\n\n function ReactSwipe() {\n var _ref;\n\n _classCallCheck(this, ReactSwipe);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = ReactSwipe.__proto__ || Object.getPrototypeOf(ReactSwipe)).call.apply(_ref, [this].concat(args)));\n\n _this._handleSwipeStart = _this._handleSwipeStart.bind(_this);\n _this._handleSwipeMove = _this._handleSwipeMove.bind(_this);\n _this._handleSwipeEnd = _this._handleSwipeEnd.bind(_this);\n _this._onMouseDown = _this._onMouseDown.bind(_this);\n _this._onMouseMove = _this._onMouseMove.bind(_this);\n _this._onMouseUp = _this._onMouseUp.bind(_this);\n _this._setSwiperRef = _this._setSwiperRef.bind(_this);\n return _this;\n }\n\n _createClass(ReactSwipe, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.swiper) {\n this.swiper.addEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({\n capture: true,\n passive: false\n }));\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.swiper) {\n this.swiper.removeEventListener('touchmove', this._handleSwipeMove, getSafeEventHandlerOpts({\n capture: true,\n passive: false\n }));\n }\n }\n }, {\n key: '_onMouseDown',\n value: function _onMouseDown(event) {\n if (!this.props.allowMouseEvents) {\n return;\n }\n\n this.mouseDown = true;\n document.addEventListener('mouseup', this._onMouseUp);\n document.addEventListener('mousemove', this._onMouseMove);\n\n this._handleSwipeStart(event);\n }\n }, {\n key: '_onMouseMove',\n value: function _onMouseMove(event) {\n if (!this.mouseDown) {\n return;\n }\n\n this._handleSwipeMove(event);\n }\n }, {\n key: '_onMouseUp',\n value: function _onMouseUp(event) {\n this.mouseDown = false;\n document.removeEventListener('mouseup', this._onMouseUp);\n document.removeEventListener('mousemove', this._onMouseMove);\n\n this._handleSwipeEnd(event);\n }\n }, {\n key: '_handleSwipeStart',\n value: function _handleSwipeStart(event) {\n var _getPosition = getPosition(event),\n x = _getPosition.x,\n y = _getPosition.y;\n\n this.moveStart = {\n x: x,\n y: y\n };\n this.props.onSwipeStart(event);\n }\n }, {\n key: '_handleSwipeMove',\n value: function _handleSwipeMove(event) {\n if (!this.moveStart) {\n return;\n }\n\n var _getPosition2 = getPosition(event),\n x = _getPosition2.x,\n y = _getPosition2.y;\n\n var deltaX = x - this.moveStart.x;\n var deltaY = y - this.moveStart.y;\n this.moving = true; // handling the responsability of cancelling the scroll to\n // the component handling the event\n\n var shouldPreventDefault = this.props.onSwipeMove({\n x: deltaX,\n y: deltaY\n }, event);\n\n if (shouldPreventDefault && event.cancelable) {\n event.preventDefault();\n }\n\n this.movePosition = {\n deltaX: deltaX,\n deltaY: deltaY\n };\n }\n }, {\n key: '_handleSwipeEnd',\n value: function _handleSwipeEnd(event) {\n this.props.onSwipeEnd(event);\n var tolerance = this.props.tolerance;\n\n if (this.moving && this.movePosition) {\n if (this.movePosition.deltaX < -tolerance) {\n this.props.onSwipeLeft(1, event);\n } else if (this.movePosition.deltaX > tolerance) {\n this.props.onSwipeRight(1, event);\n }\n\n if (this.movePosition.deltaY < -tolerance) {\n this.props.onSwipeUp(1, event);\n } else if (this.movePosition.deltaY > tolerance) {\n this.props.onSwipeDown(1, event);\n }\n }\n\n this.moveStart = null;\n this.moving = false;\n this.movePosition = null;\n }\n }, {\n key: '_setSwiperRef',\n value: function _setSwiperRef(node) {\n this.swiper = node;\n this.props.innerRef(node);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n tagName = _props.tagName,\n className = _props.className,\n style = _props.style,\n children = _props.children,\n allowMouseEvents = _props.allowMouseEvents,\n onSwipeUp = _props.onSwipeUp,\n onSwipeDown = _props.onSwipeDown,\n onSwipeLeft = _props.onSwipeLeft,\n onSwipeRight = _props.onSwipeRight,\n onSwipeStart = _props.onSwipeStart,\n onSwipeMove = _props.onSwipeMove,\n onSwipeEnd = _props.onSwipeEnd,\n innerRef = _props.innerRef,\n tolerance = _props.tolerance,\n props = _objectWithoutProperties(_props, ['tagName', 'className', 'style', 'children', 'allowMouseEvents', 'onSwipeUp', 'onSwipeDown', 'onSwipeLeft', 'onSwipeRight', 'onSwipeStart', 'onSwipeMove', 'onSwipeEnd', 'innerRef', 'tolerance']);\n\n return _react2.default.createElement(this.props.tagName, _extends({\n ref: this._setSwiperRef,\n onMouseDown: this._onMouseDown,\n onTouchStart: this._handleSwipeStart,\n onTouchEnd: this._handleSwipeEnd,\n className: className,\n style: style\n }, props), children);\n }\n }]);\n\n return ReactSwipe;\n }(_react.Component);\n\n ReactSwipe.displayName = 'ReactSwipe';\n ReactSwipe.propTypes = {\n tagName: _propTypes2.default.string,\n className: _propTypes2.default.string,\n style: _propTypes2.default.object,\n children: _propTypes2.default.node,\n allowMouseEvents: _propTypes2.default.bool,\n onSwipeUp: _propTypes2.default.func,\n onSwipeDown: _propTypes2.default.func,\n onSwipeLeft: _propTypes2.default.func,\n onSwipeRight: _propTypes2.default.func,\n onSwipeStart: _propTypes2.default.func,\n onSwipeMove: _propTypes2.default.func,\n onSwipeEnd: _propTypes2.default.func,\n innerRef: _propTypes2.default.func,\n tolerance: _propTypes2.default.number.isRequired\n };\n ReactSwipe.defaultProps = {\n tagName: 'div',\n allowMouseEvents: false,\n onSwipeUp: function onSwipeUp() {},\n onSwipeDown: function onSwipeDown() {},\n onSwipeLeft: function onSwipeLeft() {},\n onSwipeRight: function onSwipeRight() {},\n onSwipeStart: function onSwipeStart() {},\n onSwipeMove: function onSwipeMove() {},\n onSwipeEnd: function onSwipeEnd() {},\n innerRef: function innerRef() {},\n tolerance: 0\n };\n exports.default = ReactSwipe;\n});","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar globalId = 0;\n\nvar HubspotForm = function (_React$Component) {\n _inherits(HubspotForm, _React$Component);\n\n function HubspotForm(props) {\n _classCallCheck(this, HubspotForm);\n\n var _this = _possibleConstructorReturn(this, (HubspotForm.__proto__ || Object.getPrototypeOf(HubspotForm)).call(this, props));\n\n _this.state = {\n loaded: false\n };\n _this.id = globalId++;\n _this.createForm = _this.createForm.bind(_this);\n _this.findFormElement = _this.findFormElement.bind(_this);\n return _this;\n }\n\n _createClass(HubspotForm, [{\n key: 'createForm',\n value: function createForm() {\n var _this2 = this;\n\n if (window.hbspt) {\n // protect against component unmounting before window.hbspt is available\n if (this.el === null) {\n return;\n }\n\n var props = _extends({}, this.props);\n\n delete props.loading;\n delete props.onSubmit;\n delete props.onReady;\n\n var options = _extends({}, props, {\n target: '#' + this.el.getAttribute('id'),\n onFormSubmit: function onFormSubmit($form) {\n // ref: https://developers.hubspot.com/docs/methods/forms/advanced_form_options\n var formData = $form.serializeArray();\n\n _this2.props.onSubmit(formData);\n }\n });\n\n window.hbspt.forms.create(options);\n return true;\n } else {\n setTimeout(this.createForm, 1);\n }\n }\n }, {\n key: 'loadScript',\n value: function loadScript() {\n var _this3 = this;\n\n var script = document.createElement('script');\n script.defer = true;\n\n script.onload = function () {\n _this3.createForm();\n\n _this3.findFormElement();\n };\n\n script.src = '//js.hsforms.net/forms/v2.js';\n document.head.appendChild(script);\n }\n }, {\n key: 'findFormElement',\n value: function findFormElement() {\n // protect against component unmounting before form is added\n if (this.el === null) {\n return;\n }\n\n var form = this.el.querySelector('iframe');\n\n if (form) {\n this.setState({\n loaded: true\n });\n\n if (this.props.onReady) {\n this.props.onReady(form);\n }\n } else {\n setTimeout(this.findFormElement, 1);\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!window.hbspt && !this.props.noScript) {\n this.loadScript();\n } else {\n this.createForm();\n this.findFormElement();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {}\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n return _react2.default.createElement('div', null, _react2.default.createElement('div', {\n ref: function ref(el) {\n return _this4.el = el;\n },\n id: 'reactHubspotForm' + this.id,\n style: {\n display: this.state.loaded ? 'block' : 'none'\n }\n }), !this.state.loaded && this.props.loading);\n }\n }]);\n\n return HubspotForm;\n}(_react2.default.Component);\n\nexports.default = HubspotForm;\nmodule.exports = exports['default'];","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = 60103,\n c = 60106,\n d = 60107,\n e = 60108,\n f = 60114,\n g = 60109,\n h = 60110,\n k = 60112,\n l = 60113,\n m = 60120,\n n = 60115,\n p = 60116,\n q = 60121,\n r = 60122,\n u = 60117,\n v = 60129,\n w = 60131;\n\nif (\"function\" === typeof Symbol && Symbol.for) {\n var x = Symbol.for;\n b = x(\"react.element\");\n c = x(\"react.portal\");\n d = x(\"react.fragment\");\n e = x(\"react.strict_mode\");\n f = x(\"react.profiler\");\n g = x(\"react.provider\");\n h = x(\"react.context\");\n k = x(\"react.forward_ref\");\n l = x(\"react.suspense\");\n m = x(\"react.suspense_list\");\n n = x(\"react.memo\");\n p = x(\"react.lazy\");\n q = x(\"react.block\");\n r = x(\"react.server.block\");\n u = x(\"react.fundamental\");\n v = x(\"react.debug_trace_mode\");\n w = x(\"react.legacy_hidden\");\n}\n\nfunction y(a) {\n if (\"object\" === typeof a && null !== a) {\n var t = a.$$typeof;\n\n switch (t) {\n case b:\n switch (a = a.type, a) {\n case d:\n case f:\n case e:\n case l:\n case m:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case h:\n case k:\n case p:\n case n:\n case g:\n return a;\n\n default:\n return t;\n }\n\n }\n\n case c:\n return t;\n }\n }\n}\n\nvar z = g,\n A = b,\n B = k,\n C = d,\n D = p,\n E = n,\n F = c,\n G = f,\n H = e,\n I = l;\nexports.ContextConsumer = h;\nexports.ContextProvider = z;\nexports.Element = A;\nexports.ForwardRef = B;\nexports.Fragment = C;\nexports.Lazy = D;\nexports.Memo = E;\nexports.Portal = F;\nexports.Profiler = G;\nexports.StrictMode = H;\nexports.Suspense = I;\n\nexports.isAsyncMode = function () {\n return !1;\n};\n\nexports.isConcurrentMode = function () {\n return !1;\n};\n\nexports.isContextConsumer = function (a) {\n return y(a) === h;\n};\n\nexports.isContextProvider = function (a) {\n return y(a) === g;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === b;\n};\n\nexports.isForwardRef = function (a) {\n return y(a) === k;\n};\n\nexports.isFragment = function (a) {\n return y(a) === d;\n};\n\nexports.isLazy = function (a) {\n return y(a) === p;\n};\n\nexports.isMemo = function (a) {\n return y(a) === n;\n};\n\nexports.isPortal = function (a) {\n return y(a) === c;\n};\n\nexports.isProfiler = function (a) {\n return y(a) === f;\n};\n\nexports.isStrictMode = function (a) {\n return y(a) === e;\n};\n\nexports.isSuspense = function (a) {\n return y(a) === l;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === d || a === f || a === v || a === e || a === l || a === m || a === w || \"object\" === typeof a && null !== a && (a.$$typeof === p || a.$$typeof === n || a.$$typeof === g || a.$$typeof === h || a.$$typeof === k || a.$$typeof === u || a.$$typeof === q || a[0] === r) ? !0 : !1;\n};\n\nexports.typeOf = y;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","'use strict';\n\nvar React = require('react');\n\nvar ReactIs = require('react-is'); // @ts-ignore remove when typed\n\n\nvar svg = require('property-information/svg'); // @ts-ignore remove when typed\n\n\nvar find = require('property-information/find'); // @ts-ignore remove when typed\n\n\nvar hastToReact = require('property-information/hast-to-react.json'); // @ts-ignore remove when typed\n\n\nvar spaces = require('space-separated-tokens'); // @ts-ignore remove when typed\n\n\nvar commas = require('comma-separated-tokens');\n\nvar style = require('style-to-object');\n\nexports.hastToReact = toReact;\nexports.hastChildrenToReact = childrenToReact;\n/**\n * @typedef {JSX.IntrinsicElements} IntrinsicElements\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n */\n\n/**\n * @typedef {Object} Info\n * @property {string?} space\n * @property {string?} attribute\n * @property {string?} property\n * @property {boolean} boolean\n * @property {boolean} booleanish\n * @property {boolean} overloadedBoolean\n * @property {boolean} number\n * @property {boolean} commaSeparated\n * @property {boolean} spaceSeparated\n * @property {boolean} commaOrSpaceSeparated\n * @property {boolean} mustUseProperty\n * @property {boolean} defined\n *\n * @typedef {Object} Schema\n * @property {Object.<string, Info>} property\n * @property {Object.<string, string>} normal\n * @property {string?} space\n *\n * @typedef {Object} Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef {Object} Context\n * @property {TransformOptions} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array.<Comment|Element|Text>} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array.<Comment|Element|Text>} children\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {keyof IntrinsicElements} ReactMarkdownNames\n *\n * @typedef {{ [key: string]: unknown, className?: string }} ReactBaseProps\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {Object} ReactMarkdownProps\n * @property {Element} node\n * @property {string} key\n * @property {ReactNode[]} children\n * @property {Position?} [sourcePosition] Passed when `options.rawSourcePos` is given\n * @property {number} [index] Passed when `options.includeElementIndex` is given\n * @property {number} [siblingCount] Passed when `options.includeElementIndex` is given\n *\n * @callback NormalComponent\n * @param {ReactBaseProps & ReactMarkdownProps} props\n * @returns {ReactNode}\n *\n * @callback CodeComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {inline?: boolean}} props\n * @returns {ReactNode}\n *\n * @callback HeadingComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {level: number}} props\n * @returns {ReactNode}\n *\n * @callback LiComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} props\n * @returns {ReactNode}\n *\n * @callback OrderedListComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {depth: number, ordered: true}} props\n * @returns {ReactNode}\n *\n * @callback TableCellComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {style?: Object.<string, unknown>, isHeader: boolean}} props\n * @returns {ReactNode}\n *\n * @callback TableRowComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {isHeader: boolean}} props\n * @returns {ReactNode}\n *\n * @callback UnorderedListComponent\n * @param {ReactBaseProps & ReactMarkdownProps & {depth: number, ordered: false}} props\n * @returns {ReactNode}\n *\n * @typedef {Object} SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableCellComponent|ReactMarkdownNames} td\n * @property {TableCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Record<Exclude<ReactMarkdownNames, keyof SpecialComponents>, NormalComponent|ReactMarkdownNames>} NormalComponents\n * @typedef {Partial<NormalComponents & SpecialComponents>} Components\n */\n\n/**\n * @typedef {Object} TransformOptions\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {string|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nvar own = {}.hasOwnProperty; // The table-related elements that must not contain whitespace text according\n// to React.\n\nvar tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr']);\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\n\nfunction childrenToReact(context, node) {\n /** @type {Array.<ReactNode>} */\n var children = [];\n var childIndex = -1;\n /** @type {Comment|Doctype|Element|Raw|Text} */\n\n var child;\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex];\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node));\n } else if (child.type === 'text') {\n // React does not permit whitespace text elements as children of table:\n // cf. https://github.com/remarkjs/react-markdown/issues/576\n if (node.type !== 'element' || !tableElements.has(node.tagName) || child.value !== '\\n') {\n children.push(child.value);\n }\n } // @ts-ignore `raw` nodes are non-standard\n else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n // @ts-ignore `raw` nodes are non-standard\n children.push(child.value);\n }\n }\n\n return children;\n}\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\n\n\nfunction toReact(context, node, index, parent) {\n var options = context.options;\n var parentSchema = context.schema;\n /** @type {ReactMarkdownNames} */\n // @ts-ignore assume a known HTML/SVG element.\n\n var name = node.tagName;\n /** @type {Object.<string, unknown>} */\n\n var properties = {};\n var schema = parentSchema;\n /** @type {string} */\n\n var property;\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg;\n context.schema = schema;\n }\n\n for (property in node.properties) {\n /* istanbul ignore else - prototype polution. */\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context);\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++;\n }\n\n var children = childrenToReact(context, node);\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--;\n } // Restore parent schema.\n\n\n context.schema = parentSchema; // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the positon interface.\n\n var position = node.position || {\n start: {\n line: null,\n column: null,\n offset: null\n },\n end: {\n line: null,\n column: null,\n offset: null\n }\n };\n /** @type {NormalComponent|SpecialComponents[keyof SpecialComponents]|ReactMarkdownNames} */\n\n var component = options.components && own.call(options.components, name) ? options.components[name] : name;\n var basic = typeof component === 'string' || component === React.Fragment;\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\"Component for name `\".concat(name, \"` not defined or is not renderable\"));\n }\n\n properties.key = [name, position.start.line, position.start.column, index].join('-');\n\n if (name === 'a' && options.linkTarget) {\n properties.target = typeof options.linkTarget === 'function' ? // @ts-ignore assume `href` is a string\n options.linkTarget(properties.href, node.children, properties.title) : options.linkTarget;\n }\n\n if (name === 'a' && options.transformLinkUri) {\n properties.href = options.transformLinkUri( // @ts-ignore assume `href` is a string\n properties.href, node.children, properties.title);\n }\n\n if (!basic && name === 'code' && parent.tagName !== 'pre') {\n properties.inline = true;\n }\n\n if (!basic && (name === 'h1' || name === 'h2' || name === 'h3' || name === 'h4' || name === 'h5' || name === 'h6')) {\n properties.level = parseInt(name.charAt(1), 10);\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri( // @ts-ignore assume `src` is a string\n properties.src, properties.alt, properties.title);\n }\n\n if (!basic && name === 'li') {\n var input = getInputElement(node);\n properties.checked = input ? Boolean(input.properties.checked) : null;\n properties.index = getElementsBeforeCount(parent, node);\n properties.ordered = parent.tagName === 'ol';\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol';\n properties.depth = context.listDepth;\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}; // @ts-ignore assume `style` is an object\n\n properties.style.textAlign = properties.align;\n delete properties.align;\n }\n\n if (!basic) {\n properties.isHeader = name === 'th';\n }\n }\n\n if (!basic && name === 'tr') {\n properties.isHeader = Boolean(parent.tagName === 'thead');\n } // If `sourcePos` is given, pass source information (line/column info from markdown source).\n\n\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position);\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position;\n } // If `includeElementIndex` is given, pass node index info to components.\n\n\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node);\n properties.siblingCount = getElementsBeforeCount(parent);\n }\n\n if (!basic) {\n properties.node = node;\n } // Ensure no React warnings are emitted for void elements w/ children.\n\n\n return children.length > 0 ? React.createElement(component, properties, children) : React.createElement(component, properties);\n}\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\n\n\nfunction getInputElement(node) {\n var index = -1;\n\n while (++index < node.children.length) {\n var child = node.children[index];\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child;\n }\n }\n\n return null;\n}\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\n\n\nfunction getElementsBeforeCount(parent, node) {\n var index = -1;\n var count = 0;\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break;\n if (parent.children[index].type === 'element') count++;\n }\n\n return count;\n}\n/**\n * @param {Object.<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\n\n\nfunction addProperty(props, prop, value, ctx) {\n /** @type {Info} */\n var info = find(ctx.schema, prop);\n var result = value; // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n\n if (result === null || result === undefined || result !== result) {\n return;\n } // Accept `array`.\n // Most props are space-separated.\n\n\n if (result && typeof result === 'object' && 'length' in result) {\n // type-coverage:ignore-next-line remove when typed.\n result = (info.commaSeparated ? commas : spaces).stringify(result);\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result);\n }\n\n if (info.space) {\n props[own.call(hastToReact, info.property) ? hastToReact[info.property] : info.property] = result;\n } else {\n props[info.attribute] = result;\n }\n}\n/**\n * @param {string} value\n * @returns {Object.<string, string>}\n */\n\n\nfunction parseStyle(value) {\n /** @type {Object.<string, string>} */\n var result = {};\n\n try {\n style(value, iterator);\n } catch (\n /** @type {Error} */\n _) {// Silent.\n }\n\n return result;\n /**\n * @param {string} name\n * @param {string} v\n */\n\n function iterator(name, v) {\n var k = name.slice(0, 4) === '-ms-' ? \"ms-\".concat(name.slice(4)) : name;\n result[k.replace(/-([a-z])/g, styleReplacer)] = v;\n }\n}\n/**\n * @param {unknown} _\n * @param {string} $1\n */\n\n\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase();\n}\n/**\n * @param {Position} pos\n * @returns {string}\n */\n\n\nfunction flattenPosition(pos) {\n return [pos.start.line, ':', pos.start.column, '-', pos.end.line, ':', pos.end.column].map(function (d) {\n return String(d);\n }).join('');\n}","'use strict';\n\nvar React = require('react');\n\nvar vfile = require('vfile');\n\nvar unified = require('unified');\n\nvar parse = require('remark-parse');\n\nvar remarkRehype = require('remark-rehype');\n\nvar PropTypes = require('prop-types'); // @ts-ignore remove when typed\n\n\nvar html = require('property-information/html');\n\nvar filter = require('./rehype-filter');\n\nvar uriTransformer = require('./uri-transformer');\n\nvar childrenToReact = require('./ast-to-react.js').hastChildrenToReact;\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').RehypeFilterOptions} FilterOptions\n * @typedef {import('./ast-to-react.js').TransformOptions} TransformOptions\n *\n * @typedef {Object} CoreOptions\n * @property {string} children\n *\n * @typedef {Object} PluginOptions\n * @property {PluggableList} [plugins=[]] **deprecated**: use `remarkPlugins` instead\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n *\n * @typedef {Object} LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n */\n\n\nmodule.exports = ReactMarkdown;\nvar own = {}.hasOwnProperty;\nvar changelog = 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md';\n/**\n * @typedef {Object} Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\n/**\n * @type {Object.<string, Deprecation>}\n */\n\nvar deprecated = {\n renderers: {\n to: 'components',\n id: 'change-renderers-to-components'\n },\n astPlugins: {\n id: 'remove-buggy-html-in-markdown-parser'\n },\n allowDangerousHtml: {\n id: 'remove-buggy-html-in-markdown-parser'\n },\n escapeHtml: {\n id: 'remove-buggy-html-in-markdown-parser'\n },\n source: {\n to: 'children',\n id: 'change-source-to-children'\n },\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n};\n/**\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\n\nfunction ReactMarkdown(options) {\n for (var key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n /** @type {Deprecation} */\n var deprecation = deprecated[key];\n console.warn(\"[react-markdown] Warning: please \".concat(deprecation.to ? \"use `\".concat(deprecation.to, \"` instead of\") : 'remove', \" `\").concat(key, \"` (see <\").concat(changelog, \"#\").concat(deprecation.id, \"> for more info)\"));\n delete deprecated[key];\n }\n }\n\n var processor = unified().use(parse) // TODO: deprecate `plugins` in v7.0.0.\n .use(options.remarkPlugins || options.plugins || []).use(remarkRehype, {\n allowDangerousHtml: true\n }).use(options.rehypePlugins || []).use(filter, options);\n /** @type {vfile} */\n\n var file;\n\n if (typeof options.children === 'string') {\n file = vfile(options.children);\n } else {\n if (options.children !== undefined && options.children !== null) {\n console.warn(\"[react-markdown] Warning: please pass a string as `children` (not: `\".concat(options.children, \"`)\"));\n }\n\n file = vfile();\n }\n /** @type {Root} */\n // @ts-ignore we’ll throw if it isn’t a root next.\n\n\n var hastNode = processor.runSync(processor.parse(file), file);\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node');\n }\n /** @type {ReactElement} */\n\n\n var result = React.createElement(React.Fragment, {}, childrenToReact({\n options: options,\n schema: html,\n listDepth: 0\n }, hastNode));\n\n if (options.className) {\n result = React.createElement('div', {\n className: options.className\n }, result);\n }\n\n return result;\n}\n\nReactMarkdown.defaultProps = {\n transformLinkUri: uriTransformer\n};\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n // type-coverage:ignore-next-line\n remarkPlugins: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))])),\n // type-coverage:ignore-next-line\n rehypePlugins: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))])),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n};\nReactMarkdown.uriTransformer = uriTransformer;","var visit = require('unist-util-visit');\n\nvar splice = [].splice;\nmodule.exports = rehypeFilter;\n/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean}\n *\n * @typedef {Object} RehypeFilterOptions\n * @property {Array.<string>} [allowedElements]\n * @property {Array.<string>} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @param {RehypeFilterOptions} options\n */\n\nfunction rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError('Only one of `allowedElements` and `disallowedElements` should be defined');\n }\n\n return options.allowedElements || options.disallowedElements || options.allowElement ? transform : undefined;\n /**\n * @param {Root} tree\n */\n\n function transform(tree) {\n visit(tree, 'element', onelement);\n }\n /**\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {number|void}\n */\n\n\n function onelement(node, index, parent) {\n /** @type {boolean} */\n var remove;\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName);\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName);\n }\n\n if (!remove && options.allowElement) {\n remove = !options.allowElement(node, index, parent);\n }\n\n if (remove) {\n /** @type {Array.<unknown>} */\n var parameters = [index, 1];\n\n if (options.unwrapDisallowed && node.children) {\n parameters = parameters.concat(node.children);\n }\n\n splice.apply(parent.children, parameters);\n return index;\n }\n\n return undefined;\n }\n}","var protocols = ['http', 'https', 'mailto', 'tel'];\nmodule.exports = uriTransformer;\n/**\n * @param {string} uri\n * @returns {string}\n */\n\nfunction uriTransformer(uri) {\n var url = (uri || '').trim();\n var first = url.charAt(0);\n\n if (first === '#' || first === '/') {\n return url;\n }\n\n var colon = url.indexOf(':');\n\n if (colon === -1) {\n return url;\n }\n\n var index = -1;\n\n while (++index < protocols.length) {\n var protocol = protocols[index];\n\n if (colon === protocol.length && url.slice(0, protocol.length).toLowerCase() === protocol) {\n return url;\n }\n }\n\n index = url.indexOf('?');\n\n if (index !== -1 && colon > index) {\n return url;\n }\n\n index = url.indexOf('#');\n\n if (index !== -1 && colon > index) {\n return url;\n } // eslint-disable-next-line no-script-url\n\n\n return 'javascript:void(0)';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = function _default(position, metric, axis) {\n var positionPercent = position === 0 ? position : position + metric;\n var positionCss = axis === 'horizontal' ? [positionPercent, 0, 0] : [0, positionPercent, 0];\n var transitionProp = 'translate3d';\n var translatedPosition = '(' + positionCss.join(',') + ')';\n return transitionProp + translatedPosition;\n};\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.fadeAnimationHandler = exports.slideStopSwipingHandler = exports.slideSwipeAnimationHandler = exports.slideAnimationHandler = void 0;\n\nvar _react = require(\"react\");\n\nvar _CSSTranslate = _interopRequireDefault(require(\"../../CSSTranslate\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * Main animation handler for the default 'sliding' style animation\n * @param props\n * @param state\n */\n\n\nvar slideAnimationHandler = function slideAnimationHandler(props, state) {\n var returnStyles = {};\n var selectedItem = state.selectedItem;\n var previousItem = selectedItem;\n var lastPosition = _react.Children.count(props.children) - 1;\n var needClonedSlide = props.infiniteLoop && (selectedItem < 0 || selectedItem > lastPosition); // Handle list position if it needs a clone\n\n if (needClonedSlide) {\n if (previousItem < 0) {\n if (props.centerMode && props.centerSlidePercentage && props.axis === 'horizontal') {\n returnStyles.itemListStyle = (0, _utils.setPosition)(-(lastPosition + 2) * props.centerSlidePercentage - (100 - props.centerSlidePercentage) / 2, props.axis);\n } else {\n returnStyles.itemListStyle = (0, _utils.setPosition)(-(lastPosition + 2) * 100, props.axis);\n }\n } else if (previousItem > lastPosition) {\n returnStyles.itemListStyle = (0, _utils.setPosition)(0, props.axis);\n }\n\n return returnStyles;\n }\n\n var currentPosition = (0, _utils.getPosition)(selectedItem, props); // if 3d is available, let's take advantage of the performance of transform\n\n var transformProp = (0, _CSSTranslate.default)(currentPosition, '%', props.axis);\n var transitionTime = props.transitionTime + 'ms';\n returnStyles.itemListStyle = {\n WebkitTransform: transformProp,\n msTransform: transformProp,\n OTransform: transformProp,\n transform: transformProp\n };\n\n if (!state.swiping) {\n returnStyles.itemListStyle = _objectSpread(_objectSpread({}, returnStyles.itemListStyle), {}, {\n WebkitTransitionDuration: transitionTime,\n MozTransitionDuration: transitionTime,\n OTransitionDuration: transitionTime,\n transitionDuration: transitionTime,\n msTransitionDuration: transitionTime\n });\n }\n\n return returnStyles;\n};\n/**\n * Swiping animation handler for the default 'sliding' style animation\n * @param delta\n * @param props\n * @param state\n * @param setState\n */\n\n\nexports.slideAnimationHandler = slideAnimationHandler;\n\nvar slideSwipeAnimationHandler = function slideSwipeAnimationHandler(delta, props, state, setState) {\n var returnStyles = {};\n var isHorizontal = props.axis === 'horizontal';\n\n var childrenLength = _react.Children.count(props.children);\n\n var initialBoundry = 0;\n var currentPosition = (0, _utils.getPosition)(state.selectedItem, props);\n var finalBoundry = props.infiniteLoop ? (0, _utils.getPosition)(childrenLength - 1, props) - 100 : (0, _utils.getPosition)(childrenLength - 1, props);\n var axisDelta = isHorizontal ? delta.x : delta.y;\n var handledDelta = axisDelta; // prevent user from swiping left out of boundaries\n\n if (currentPosition === initialBoundry && axisDelta > 0) {\n handledDelta = 0;\n } // prevent user from swiping right out of boundaries\n\n\n if (currentPosition === finalBoundry && axisDelta < 0) {\n handledDelta = 0;\n }\n\n var position = currentPosition + 100 / (state.itemSize / handledDelta);\n var hasMoved = Math.abs(axisDelta) > props.swipeScrollTolerance;\n\n if (props.infiniteLoop && hasMoved) {\n // When allowing infinite loop, if we slide left from position 0 we reveal the cloned last slide that appears before it\n // if we slide even further we need to jump to other side so it can continue - and vice versa for the last slide\n if (state.selectedItem === 0 && position > -100) {\n position -= childrenLength * 100;\n } else if (state.selectedItem === childrenLength - 1 && position < -childrenLength * 100) {\n position += childrenLength * 100;\n }\n }\n\n if (!props.preventMovementUntilSwipeScrollTolerance || hasMoved || state.swipeMovementStarted) {\n if (!state.swipeMovementStarted) {\n setState({\n swipeMovementStarted: true\n });\n }\n\n returnStyles.itemListStyle = (0, _utils.setPosition)(position, props.axis);\n } //allows scroll if the swipe was within the tolerance\n\n\n if (hasMoved && !state.cancelClick) {\n setState({\n cancelClick: true\n });\n }\n\n return returnStyles;\n};\n/**\n * Default 'sliding' style animination handler for when a swipe action stops.\n * @param props\n * @param state\n */\n\n\nexports.slideSwipeAnimationHandler = slideSwipeAnimationHandler;\n\nvar slideStopSwipingHandler = function slideStopSwipingHandler(props, state) {\n var currentPosition = (0, _utils.getPosition)(state.selectedItem, props);\n var itemListStyle = (0, _utils.setPosition)(currentPosition, props.axis);\n return {\n itemListStyle: itemListStyle\n };\n};\n/**\n * Main animation handler for the default 'fade' style animation\n * @param props\n * @param state\n */\n\n\nexports.slideStopSwipingHandler = slideStopSwipingHandler;\n\nvar fadeAnimationHandler = function fadeAnimationHandler(props, state) {\n var transitionTime = props.transitionTime + 'ms';\n var transitionTimingFunction = 'ease-in-out';\n var slideStyle = {\n position: 'absolute',\n display: 'block',\n zIndex: -2,\n minHeight: '100%',\n opacity: 0,\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n transitionTimingFunction: transitionTimingFunction,\n msTransitionTimingFunction: transitionTimingFunction,\n MozTransitionTimingFunction: transitionTimingFunction,\n WebkitTransitionTimingFunction: transitionTimingFunction,\n OTransitionTimingFunction: transitionTimingFunction\n };\n\n if (!state.swiping) {\n slideStyle = _objectSpread(_objectSpread({}, slideStyle), {}, {\n WebkitTransitionDuration: transitionTime,\n MozTransitionDuration: transitionTime,\n OTransitionDuration: transitionTime,\n transitionDuration: transitionTime,\n msTransitionDuration: transitionTime\n });\n }\n\n return {\n slideStyle: slideStyle,\n selectedStyle: _objectSpread(_objectSpread({}, slideStyle), {}, {\n opacity: 1,\n position: 'relative'\n }),\n prevStyle: _objectSpread({}, slideStyle)\n };\n};\n\nexports.fadeAnimationHandler = fadeAnimationHandler;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactEasySwipe = _interopRequireDefault(require(\"react-easy-swipe\"));\n\nvar _cssClasses = _interopRequireDefault(require(\"../../cssClasses\"));\n\nvar _Thumbs = _interopRequireDefault(require(\"../Thumbs\"));\n\nvar _document = _interopRequireDefault(require(\"../../shims/document\"));\n\nvar _window = _interopRequireDefault(require(\"../../shims/window\"));\n\nvar _utils = require(\"./utils\");\n\nvar _animations = require(\"./animations\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n\n var _super = _createSuper(Carousel); // @ts-ignore\n\n\n function Carousel(props) {\n var _this;\n\n _classCallCheck(this, Carousel);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"thumbsRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"carouselWrapperRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"listRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"itemsRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"timer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"animationHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setThumbsRef\", function (node) {\n _this.thumbsRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setCarouselWrapperRef\", function (node) {\n _this.carouselWrapperRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setListRef\", function (node) {\n _this.listRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setItemsRef\", function (node, index) {\n if (!_this.itemsRef) {\n _this.itemsRef = [];\n }\n\n _this.itemsRef[index] = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function () {\n if (_react.Children.count(_this.props.children) <= 1) {\n return;\n }\n\n _this.clearAutoPlay();\n\n if (!_this.props.autoPlay) {\n return;\n }\n\n _this.timer = setTimeout(function () {\n _this.increment();\n }, _this.props.interval);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clearAutoPlay\", function () {\n if (_this.timer) clearTimeout(_this.timer);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resetAutoPlay\", function () {\n _this.clearAutoPlay();\n\n _this.autoPlay();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"stopOnHover\", function () {\n _this.setState({\n isMouseEntered: true\n }, _this.clearAutoPlay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"startOnLeave\", function () {\n _this.setState({\n isMouseEntered: false\n }, _this.autoPlay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isFocusWithinTheCarousel\", function () {\n if (!_this.carouselWrapperRef) {\n return false;\n }\n\n if ((0, _document.default)().activeElement === _this.carouselWrapperRef || _this.carouselWrapperRef.contains((0, _document.default)().activeElement)) {\n return true;\n }\n\n return false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"navigateWithKeyboard\", function (e) {\n if (!_this.isFocusWithinTheCarousel()) {\n return;\n }\n\n var axis = _this.props.axis;\n var isHorizontal = axis === 'horizontal';\n var keyNames = {\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n ArrowLeft: 37\n };\n var nextKey = isHorizontal ? keyNames.ArrowRight : keyNames.ArrowDown;\n var prevKey = isHorizontal ? keyNames.ArrowLeft : keyNames.ArrowUp;\n\n if (nextKey === e.keyCode) {\n _this.increment();\n } else if (prevKey === e.keyCode) {\n _this.decrement();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSizes\", function () {\n if (!_this.state.initialized || !_this.itemsRef || _this.itemsRef.length === 0) {\n return;\n }\n\n var isHorizontal = _this.props.axis === 'horizontal';\n var firstItem = _this.itemsRef[0];\n\n if (!firstItem) {\n return;\n }\n\n var itemSize = isHorizontal ? firstItem.clientWidth : firstItem.clientHeight;\n\n _this.setState({\n itemSize: itemSize\n });\n\n if (_this.thumbsRef) {\n _this.thumbsRef.updateSizes();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setMountState\", function () {\n _this.setState({\n hasMount: true\n });\n\n _this.updateSizes();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickItem\", function (index, item) {\n if (_react.Children.count(_this.props.children) === 0) {\n return;\n }\n\n if (_this.state.cancelClick) {\n _this.setState({\n cancelClick: false\n });\n\n return;\n }\n\n _this.props.onClickItem(index, item);\n\n if (index !== _this.state.selectedItem) {\n _this.setState({\n selectedItem: index\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnChange\", function (index, item) {\n if (_react.Children.count(_this.props.children) <= 1) {\n return;\n }\n\n _this.props.onChange(index, item);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickThumb\", function (index, item) {\n _this.props.onClickThumb(index, item);\n\n _this.moveTo(index);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeStart\", function (event) {\n _this.setState({\n swiping: true\n });\n\n _this.props.onSwipeStart(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeEnd\", function (event) {\n _this.setState({\n swiping: false,\n cancelClick: false,\n swipeMovementStarted: false\n });\n\n _this.props.onSwipeEnd(event);\n\n _this.clearAutoPlay();\n\n if (_this.state.autoPlay) {\n _this.autoPlay();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeMove\", function (delta, event) {\n _this.props.onSwipeMove(event);\n\n var animationHandlerResponse = _this.props.swipeAnimationHandler(delta, _this.props, _this.state, _this.setState.bind(_assertThisInitialized(_this)));\n\n _this.setState(_objectSpread({}, animationHandlerResponse)); // If we have not moved, we should have an empty object returned\n // Return false to allow scrolling when not swiping\n\n\n return !!Object.keys(animationHandlerResponse).length;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"decrement\", function () {\n var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n _this.moveTo(_this.state.selectedItem - (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"increment\", function () {\n var positions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n _this.moveTo(_this.state.selectedItem + (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"moveTo\", function (position) {\n if (typeof position !== 'number') {\n return;\n }\n\n var lastPosition = _react.Children.count(_this.props.children) - 1;\n\n if (position < 0) {\n position = _this.props.infiniteLoop ? lastPosition : 0;\n }\n\n if (position > lastPosition) {\n position = _this.props.infiniteLoop ? 0 : lastPosition;\n }\n\n _this.selectItem({\n // if it's not a slider, we don't need to set position here\n selectedItem: position\n }); // don't reset auto play when stop on hover is enabled, doing so will trigger a call to auto play more than once\n // and will result in the interval function not being cleared correctly.\n\n\n if (_this.state.autoPlay && _this.state.isMouseEntered === false) {\n _this.resetAutoPlay();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClickNext\", function () {\n _this.increment(1);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClickPrev\", function () {\n _this.decrement(1);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeForward\", function () {\n _this.increment(1);\n\n if (_this.props.emulateTouch) {\n _this.setState({\n cancelClick: true\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeBackwards\", function () {\n _this.decrement(1);\n\n if (_this.props.emulateTouch) {\n _this.setState({\n cancelClick: true\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeItem\", function (newIndex) {\n return function (e) {\n if (!(0, _utils.isKeyboardEvent)(e) || e.key === 'Enter') {\n _this.moveTo(newIndex);\n }\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectItem\", function (state) {\n // Merge in the new state while updating updating previous item\n _this.setState(_objectSpread({\n previousItem: _this.state.selectedItem\n }, state), function () {\n // Run animation handler and update styles based on it\n _this.setState(_this.animationHandler(_this.props, _this.state));\n });\n\n _this.handleOnChange(state.selectedItem, _react.Children.toArray(_this.props.children)[state.selectedItem]);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInitialImage\", function () {\n var selectedItem = _this.props.selectedItem;\n var item = _this.itemsRef && _this.itemsRef[selectedItem];\n var images = item && item.getElementsByTagName('img') || [];\n return images[0];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getVariableItemHeight\", function (position) {\n var item = _this.itemsRef && _this.itemsRef[position];\n\n if (_this.state.hasMount && item && item.children.length) {\n var slideImages = item.children[0].getElementsByTagName('img') || [];\n\n if (slideImages.length > 0) {\n var image = slideImages[0];\n\n if (!image.complete) {\n // if the image is still loading, the size won't be available so we trigger a new render after it's done\n var onImageLoad = function onImageLoad() {\n _this.forceUpdate();\n\n image.removeEventListener('load', onImageLoad);\n };\n\n image.addEventListener('load', onImageLoad);\n }\n } // try to get img first, if img not there find first display tag\n\n\n var displayItem = slideImages[0] || item.children[0];\n var height = displayItem.clientHeight;\n return height > 0 ? height : null;\n }\n\n return null;\n });\n\n var initState = {\n initialized: false,\n previousItem: props.selectedItem,\n selectedItem: props.selectedItem,\n hasMount: false,\n isMouseEntered: false,\n autoPlay: props.autoPlay,\n swiping: false,\n swipeMovementStarted: false,\n cancelClick: false,\n itemSize: 1,\n itemListStyle: {},\n slideStyle: {},\n selectedStyle: {},\n prevStyle: {}\n };\n _this.animationHandler = typeof props.animationHandler === 'function' && props.animationHandler || props.animationHandler === 'fade' && _animations.fadeAnimationHandler || _animations.slideAnimationHandler;\n _this.state = _objectSpread(_objectSpread({}, initState), _this.animationHandler(props, initState));\n return _this;\n }\n\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.props.children) {\n return;\n }\n\n this.setupCarousel();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (!prevProps.children && this.props.children && !this.state.initialized) {\n this.setupCarousel();\n }\n\n if (!prevProps.autoFocus && this.props.autoFocus) {\n this.forceFocus();\n }\n\n if (prevState.swiping && !this.state.swiping) {\n // We stopped swiping, ensure we are heading to the new/current slide and not stuck\n this.setState(_objectSpread({}, this.props.stopSwipingHandler(this.props, this.state)));\n }\n\n if (prevProps.selectedItem !== this.props.selectedItem || prevProps.centerMode !== this.props.centerMode) {\n this.updateSizes();\n this.moveTo(this.props.selectedItem);\n }\n\n if (prevProps.autoPlay !== this.props.autoPlay) {\n if (this.props.autoPlay) {\n this.setupAutoPlay();\n } else {\n this.destroyAutoPlay();\n }\n\n this.setState({\n autoPlay: this.props.autoPlay\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyCarousel();\n }\n }, {\n key: \"setupCarousel\",\n value: function setupCarousel() {\n var _this2 = this;\n\n this.bindEvents();\n\n if (this.state.autoPlay && _react.Children.count(this.props.children) > 1) {\n this.setupAutoPlay();\n }\n\n if (this.props.autoFocus) {\n this.forceFocus();\n }\n\n this.setState({\n initialized: true\n }, function () {\n var initialImage = _this2.getInitialImage();\n\n if (initialImage && !initialImage.complete) {\n // if it's a carousel of images, we set the mount state after the first image is loaded\n initialImage.addEventListener('load', _this2.setMountState);\n } else {\n _this2.setMountState();\n }\n });\n }\n }, {\n key: \"destroyCarousel\",\n value: function destroyCarousel() {\n if (this.state.initialized) {\n this.unbindEvents();\n this.destroyAutoPlay();\n }\n }\n }, {\n key: \"setupAutoPlay\",\n value: function setupAutoPlay() {\n this.autoPlay();\n var carouselWrapper = this.carouselWrapperRef;\n\n if (this.props.stopOnHover && carouselWrapper) {\n carouselWrapper.addEventListener('mouseenter', this.stopOnHover);\n carouselWrapper.addEventListener('mouseleave', this.startOnLeave);\n }\n }\n }, {\n key: \"destroyAutoPlay\",\n value: function destroyAutoPlay() {\n this.clearAutoPlay();\n var carouselWrapper = this.carouselWrapperRef;\n\n if (this.props.stopOnHover && carouselWrapper) {\n carouselWrapper.removeEventListener('mouseenter', this.stopOnHover);\n carouselWrapper.removeEventListener('mouseleave', this.startOnLeave);\n }\n }\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n // as the widths are calculated, we need to resize\n // the carousel when the window is resized\n (0, _window.default)().addEventListener('resize', this.updateSizes); // issue #2 - image loading smaller\n\n (0, _window.default)().addEventListener('DOMContentLoaded', this.updateSizes);\n\n if (this.props.useKeyboardArrows) {\n (0, _document.default)().addEventListener('keydown', this.navigateWithKeyboard);\n }\n }\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {\n // removing listeners\n (0, _window.default)().removeEventListener('resize', this.updateSizes);\n (0, _window.default)().removeEventListener('DOMContentLoaded', this.updateSizes);\n var initialImage = this.getInitialImage();\n\n if (initialImage) {\n initialImage.removeEventListener('load', this.setMountState);\n }\n\n if (this.props.useKeyboardArrows) {\n (0, _document.default)().removeEventListener('keydown', this.navigateWithKeyboard);\n }\n }\n }, {\n key: \"forceFocus\",\n value: function forceFocus() {\n var _this$carouselWrapper;\n\n (_this$carouselWrapper = this.carouselWrapperRef) === null || _this$carouselWrapper === void 0 ? void 0 : _this$carouselWrapper.focus();\n }\n }, {\n key: \"renderItems\",\n value: function renderItems(isClone) {\n var _this3 = this;\n\n if (!this.props.children) {\n return [];\n }\n\n return _react.Children.map(this.props.children, function (item, index) {\n var isSelected = index === _this3.state.selectedItem;\n var isPrevious = index === _this3.state.previousItem;\n var style = isSelected && _this3.state.selectedStyle || isPrevious && _this3.state.prevStyle || _this3.state.slideStyle || {};\n\n if (_this3.props.centerMode && _this3.props.axis === 'horizontal') {\n style = _objectSpread(_objectSpread({}, style), {}, {\n minWidth: _this3.props.centerSlidePercentage + '%'\n });\n }\n\n if (_this3.state.swiping && _this3.state.swipeMovementStarted) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n pointerEvents: 'none'\n });\n }\n\n var slideProps = {\n ref: function ref(e) {\n return _this3.setItemsRef(e, index);\n },\n key: 'itemKey' + index + (isClone ? 'clone' : ''),\n className: _cssClasses.default.ITEM(true, index === _this3.state.selectedItem, index === _this3.state.previousItem),\n onClick: _this3.handleClickItem.bind(_this3, index, item),\n style: style\n };\n return /*#__PURE__*/_react.default.createElement(\"li\", slideProps, _this3.props.renderItem(item, {\n isSelected: index === _this3.state.selectedItem,\n isPrevious: index === _this3.state.previousItem\n }));\n });\n }\n }, {\n key: \"renderControls\",\n value: function renderControls() {\n var _this4 = this;\n\n var _this$props = this.props,\n showIndicators = _this$props.showIndicators,\n labels = _this$props.labels,\n renderIndicator = _this$props.renderIndicator,\n children = _this$props.children;\n\n if (!showIndicators) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: \"control-dots\"\n }, _react.Children.map(children, function (_, index) {\n return renderIndicator && renderIndicator(_this4.changeItem(index), index === _this4.state.selectedItem, index, labels.item);\n }));\n }\n }, {\n key: \"renderStatus\",\n value: function renderStatus() {\n if (!this.props.showStatus) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"p\", {\n className: \"carousel-status\"\n }, this.props.statusFormatter(this.state.selectedItem + 1, _react.Children.count(this.props.children)));\n }\n }, {\n key: \"renderThumbs\",\n value: function renderThumbs() {\n if (!this.props.showThumbs || !this.props.children || _react.Children.count(this.props.children) === 0) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(_Thumbs.default, {\n ref: this.setThumbsRef,\n onSelectItem: this.handleClickThumb,\n selectedItem: this.state.selectedItem,\n transitionTime: this.props.transitionTime,\n thumbWidth: this.props.thumbWidth,\n labels: this.props.labels,\n emulateTouch: this.props.emulateTouch\n }, this.props.renderThumbs(this.props.children));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n if (!this.props.children || _react.Children.count(this.props.children) === 0) {\n return null;\n }\n\n var isSwipeable = this.props.swipeable && _react.Children.count(this.props.children) > 1;\n var isHorizontal = this.props.axis === 'horizontal';\n var canShowArrows = this.props.showArrows && _react.Children.count(this.props.children) > 1; // show left arrow?\n\n var hasPrev = canShowArrows && (this.state.selectedItem > 0 || this.props.infiniteLoop) || false; // show right arrow\n\n var hasNext = canShowArrows && (this.state.selectedItem < _react.Children.count(this.props.children) - 1 || this.props.infiniteLoop) || false;\n var itemsClone = this.renderItems(true);\n var firstClone = itemsClone.shift();\n var lastClone = itemsClone.pop();\n var swiperProps = {\n className: _cssClasses.default.SLIDER(true, this.state.swiping),\n onSwipeMove: this.onSwipeMove,\n onSwipeStart: this.onSwipeStart,\n onSwipeEnd: this.onSwipeEnd,\n style: this.state.itemListStyle,\n tolerance: this.props.swipeScrollTolerance\n };\n var containerStyles = {};\n\n if (isHorizontal) {\n swiperProps.onSwipeLeft = this.onSwipeForward;\n swiperProps.onSwipeRight = this.onSwipeBackwards;\n\n if (this.props.dynamicHeight) {\n var itemHeight = this.getVariableItemHeight(this.state.selectedItem); // swiperProps.style.height = itemHeight || 'auto';\n\n containerStyles.height = itemHeight || 'auto';\n }\n } else {\n swiperProps.onSwipeUp = this.props.verticalSwipe === 'natural' ? this.onSwipeBackwards : this.onSwipeForward;\n swiperProps.onSwipeDown = this.props.verticalSwipe === 'natural' ? this.onSwipeForward : this.onSwipeBackwards;\n swiperProps.style = _objectSpread(_objectSpread({}, swiperProps.style), {}, {\n height: this.state.itemSize\n });\n containerStyles.height = this.state.itemSize;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n \"aria-label\": this.props.ariaLabel,\n className: _cssClasses.default.ROOT(this.props.className),\n ref: this.setCarouselWrapperRef,\n tabIndex: this.props.useKeyboardArrows ? 0 : undefined\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.CAROUSEL(true),\n style: {\n width: this.props.width\n }\n }, this.renderControls(), this.props.renderArrowPrev(this.onClickPrev, hasPrev, this.props.labels.leftArrow), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.WRAPPER(true, this.props.axis),\n style: containerStyles\n }, isSwipeable ? /*#__PURE__*/_react.default.createElement(_reactEasySwipe.default, _extends({\n tagName: \"ul\",\n innerRef: this.setListRef\n }, swiperProps, {\n allowMouseEvents: this.props.emulateTouch\n }), this.props.infiniteLoop && lastClone, this.renderItems(), this.props.infiniteLoop && firstClone) : /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: _cssClasses.default.SLIDER(true, this.state.swiping),\n ref: function ref(node) {\n return _this5.setListRef(node);\n },\n style: this.state.itemListStyle || {}\n }, this.props.infiniteLoop && lastClone, this.renderItems(), this.props.infiniteLoop && firstClone)), this.props.renderArrowNext(this.onClickNext, hasNext, this.props.labels.rightArrow), this.renderStatus()), this.renderThumbs());\n }\n }]);\n\n return Carousel;\n}(_react.default.Component);\n\nexports.default = Carousel;\n\n_defineProperty(Carousel, \"displayName\", 'Carousel');\n\n_defineProperty(Carousel, \"defaultProps\", {\n ariaLabel: undefined,\n axis: 'horizontal',\n centerSlidePercentage: 80,\n interval: 3000,\n labels: {\n leftArrow: 'previous slide / item',\n rightArrow: 'next slide / item',\n item: 'slide item'\n },\n onClickItem: _utils.noop,\n onClickThumb: _utils.noop,\n onChange: _utils.noop,\n onSwipeStart: function onSwipeStart() {},\n onSwipeEnd: function onSwipeEnd() {},\n onSwipeMove: function onSwipeMove() {\n return false;\n },\n preventMovementUntilSwipeScrollTolerance: false,\n renderArrowPrev: function renderArrowPrev(onClickHandler, hasPrev, label) {\n return /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: _cssClasses.default.ARROW_PREV(!hasPrev),\n onClick: onClickHandler\n });\n },\n renderArrowNext: function renderArrowNext(onClickHandler, hasNext, label) {\n return /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n \"aria-label\": label,\n className: _cssClasses.default.ARROW_NEXT(!hasNext),\n onClick: onClickHandler\n });\n },\n renderIndicator: function renderIndicator(onClickHandler, isSelected, index, label) {\n return /*#__PURE__*/_react.default.createElement(\"li\", {\n className: _cssClasses.default.DOT(isSelected),\n onClick: onClickHandler,\n onKeyDown: onClickHandler,\n value: index,\n key: index,\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": \"\".concat(label, \" \").concat(index + 1)\n });\n },\n renderItem: function renderItem(item) {\n return item;\n },\n renderThumbs: function renderThumbs(children) {\n var images = _react.Children.map(children, function (item) {\n var img = item; // if the item is not an image, try to find the first image in the item's children.\n\n if (item.type !== 'img') {\n img = _react.Children.toArray(item.props.children).find(function (children) {\n return children.type === 'img';\n });\n }\n\n if (!img) {\n return undefined;\n }\n\n return img;\n });\n\n if (images.filter(function (image) {\n return image;\n }).length === 0) {\n console.warn(\"No images found! Can't build the thumb list without images. If you don't need thumbs, set showThumbs={false} in the Carousel. Note that it's not possible to get images rendered inside custom components. More info at https://github.com/leandrowd/react-responsive-carousel/blob/master/TROUBLESHOOTING.md\");\n return [];\n }\n\n return images;\n },\n statusFormatter: _utils.defaultStatusFormatter,\n selectedItem: 0,\n showArrows: true,\n showIndicators: true,\n showStatus: true,\n showThumbs: true,\n stopOnHover: true,\n swipeScrollTolerance: 5,\n swipeable: true,\n transitionTime: 350,\n verticalSwipe: 'standard',\n width: '100%',\n animationHandler: 'slide',\n swipeAnimationHandler: _animations.slideSwipeAnimationHandler,\n stopSwipingHandler: _animations.slideStopSwipingHandler\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setPosition = exports.getPosition = exports.isKeyboardEvent = exports.defaultStatusFormatter = exports.noop = void 0;\n\nvar _react = require(\"react\");\n\nvar _CSSTranslate = _interopRequireDefault(require(\"../../CSSTranslate\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar noop = function noop() {};\n\nexports.noop = noop;\n\nvar defaultStatusFormatter = function defaultStatusFormatter(current, total) {\n return \"\".concat(current, \" of \").concat(total);\n};\n\nexports.defaultStatusFormatter = defaultStatusFormatter;\n\nvar isKeyboardEvent = function isKeyboardEvent(e) {\n return e ? e.hasOwnProperty('key') : false;\n};\n/**\n * Gets the list 'position' relative to a current index\n * @param index\n */\n\n\nexports.isKeyboardEvent = isKeyboardEvent;\n\nvar getPosition = function getPosition(index, props) {\n if (props.infiniteLoop) {\n // index has to be added by 1 because of the first cloned slide\n ++index;\n }\n\n if (index === 0) {\n return 0;\n }\n\n var childrenLength = _react.Children.count(props.children);\n\n if (props.centerMode && props.axis === 'horizontal') {\n var currentPosition = -index * props.centerSlidePercentage;\n var lastPosition = childrenLength - 1;\n\n if (index && (index !== lastPosition || props.infiniteLoop)) {\n currentPosition += (100 - props.centerSlidePercentage) / 2;\n } else if (index === lastPosition) {\n currentPosition += 100 - props.centerSlidePercentage;\n }\n\n return currentPosition;\n }\n\n return -index * 100;\n};\n/**\n * Sets the 'position' transform for sliding animations\n * @param position\n * @param forceReflow\n */\n\n\nexports.getPosition = getPosition;\n\nvar setPosition = function setPosition(position, axis) {\n var style = {};\n ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) {\n // @ts-ignore\n style[prop] = (0, _CSSTranslate.default)(position, '%', axis);\n });\n return style;\n};\n\nexports.setPosition = setPosition;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _cssClasses = _interopRequireDefault(require(\"../cssClasses\"));\n\nvar _dimensions = require(\"../dimensions\");\n\nvar _CSSTranslate = _interopRequireDefault(require(\"../CSSTranslate\"));\n\nvar _reactEasySwipe = _interopRequireDefault(require(\"react-easy-swipe\"));\n\nvar _window = _interopRequireDefault(require(\"../shims/window\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar isKeyboardEvent = function isKeyboardEvent(e) {\n return e.hasOwnProperty('key');\n};\n\nvar Thumbs = /*#__PURE__*/function (_Component) {\n _inherits(Thumbs, _Component);\n\n var _super = _createSuper(Thumbs);\n\n function Thumbs(_props) {\n var _this;\n\n _classCallCheck(this, Thumbs);\n\n _this = _super.call(this, _props);\n\n _defineProperty(_assertThisInitialized(_this), \"itemsWrapperRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"itemsListRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"thumbsRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setItemsWrapperRef\", function (node) {\n _this.itemsWrapperRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setItemsListRef\", function (node) {\n _this.itemsListRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setThumbsRef\", function (node, index) {\n if (!_this.thumbsRef) {\n _this.thumbsRef = [];\n }\n\n _this.thumbsRef[index] = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSizes\", function () {\n if (!_this.props.children || !_this.itemsWrapperRef || !_this.thumbsRef) {\n return;\n }\n\n var total = _react.Children.count(_this.props.children);\n\n var wrapperSize = _this.itemsWrapperRef.clientWidth;\n var itemSize = _this.props.thumbWidth ? _this.props.thumbWidth : (0, _dimensions.outerWidth)(_this.thumbsRef[0]);\n var visibleItems = Math.floor(wrapperSize / itemSize);\n var showArrows = visibleItems < total;\n var lastPosition = showArrows ? total - visibleItems : 0;\n\n _this.setState(function (_state, props) {\n return {\n itemSize: itemSize,\n visibleItems: visibleItems,\n firstItem: showArrows ? _this.getFirstItem(props.selectedItem) : 0,\n lastPosition: lastPosition,\n showArrows: showArrows\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickItem\", function (index, item, e) {\n if (!isKeyboardEvent(e) || e.key === 'Enter') {\n var handler = _this.props.onSelectItem;\n\n if (typeof handler === 'function') {\n handler(index, item);\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeStart\", function () {\n _this.setState({\n swiping: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeEnd\", function () {\n _this.setState({\n swiping: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwipeMove\", function (delta) {\n var deltaX = delta.x;\n\n if (!_this.state.itemSize || !_this.itemsWrapperRef || !_this.state.visibleItems) {\n return false;\n }\n\n var leftBoundary = 0;\n\n var childrenLength = _react.Children.count(_this.props.children);\n\n var currentPosition = -(_this.state.firstItem * 100) / _this.state.visibleItems;\n var lastLeftItem = Math.max(childrenLength - _this.state.visibleItems, 0);\n var lastLeftBoundary = -lastLeftItem * 100 / _this.state.visibleItems; // prevent user from swiping left out of boundaries\n\n if (currentPosition === leftBoundary && deltaX > 0) {\n deltaX = 0;\n } // prevent user from swiping right out of boundaries\n\n\n if (currentPosition === lastLeftBoundary && deltaX < 0) {\n deltaX = 0;\n }\n\n var wrapperSize = _this.itemsWrapperRef.clientWidth;\n var position = currentPosition + 100 / (wrapperSize / deltaX); // if 3d isn't available we will use left to move\n\n if (_this.itemsListRef) {\n ['WebkitTransform', 'MozTransform', 'MsTransform', 'OTransform', 'transform', 'msTransform'].forEach(function (prop) {\n _this.itemsListRef.style[prop] = (0, _CSSTranslate.default)(position, '%', _this.props.axis);\n });\n }\n\n return true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideRight\", function (positions) {\n _this.moveTo(_this.state.firstItem - (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideLeft\", function (positions) {\n _this.moveTo(_this.state.firstItem + (typeof positions === 'number' ? positions : 1));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"moveTo\", function (position) {\n // position can't be lower than 0\n position = position < 0 ? 0 : position; // position can't be higher than last postion\n\n position = position >= _this.state.lastPosition ? _this.state.lastPosition : position;\n\n _this.setState({\n firstItem: position\n });\n });\n\n _this.state = {\n selectedItem: _props.selectedItem,\n swiping: false,\n showArrows: false,\n firstItem: 0,\n visibleItems: 0,\n lastPosition: 0\n };\n return _this;\n }\n\n _createClass(Thumbs, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setupThumbs();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.selectedItem !== this.state.selectedItem) {\n this.setState({\n selectedItem: this.props.selectedItem,\n firstItem: this.getFirstItem(this.props.selectedItem)\n });\n }\n\n if (this.props.children === prevProps.children) {\n return;\n } // This will capture any size changes for arrow adjustments etc.\n // usually in the same render cycle so we don't see any flickers\n\n\n this.updateSizes();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyThumbs();\n }\n }, {\n key: \"setupThumbs\",\n value: function setupThumbs() {\n // as the widths are calculated, we need to resize\n // the carousel when the window is resized\n (0, _window.default)().addEventListener('resize', this.updateSizes); // issue #2 - image loading smaller\n\n (0, _window.default)().addEventListener('DOMContentLoaded', this.updateSizes); // when the component is rendered we need to calculate\n // the container size to adjust the responsive behaviour\n\n this.updateSizes();\n }\n }, {\n key: \"destroyThumbs\",\n value: function destroyThumbs() {\n // removing listeners\n (0, _window.default)().removeEventListener('resize', this.updateSizes);\n (0, _window.default)().removeEventListener('DOMContentLoaded', this.updateSizes);\n }\n }, {\n key: \"getFirstItem\",\n value: function getFirstItem(selectedItem) {\n var firstItem = selectedItem;\n\n if (selectedItem >= this.state.lastPosition) {\n firstItem = this.state.lastPosition;\n }\n\n if (selectedItem < this.state.firstItem + this.state.visibleItems) {\n firstItem = this.state.firstItem;\n }\n\n if (selectedItem < this.state.firstItem) {\n firstItem = selectedItem;\n }\n\n return firstItem;\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this2 = this;\n\n return this.props.children.map(function (img, index) {\n var itemClass = _cssClasses.default.ITEM(false, index === _this2.state.selectedItem);\n\n var thumbProps = {\n key: index,\n ref: function ref(e) {\n return _this2.setThumbsRef(e, index);\n },\n className: itemClass,\n onClick: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]),\n onKeyDown: _this2.handleClickItem.bind(_this2, index, _this2.props.children[index]),\n 'aria-label': \"\".concat(_this2.props.labels.item, \" \").concat(index + 1),\n style: {\n width: _this2.props.thumbWidth\n }\n };\n return /*#__PURE__*/_react.default.createElement(\"li\", _extends({}, thumbProps, {\n role: \"button\",\n tabIndex: 0\n }), img);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n if (!this.props.children) {\n return null;\n }\n\n var isSwipeable = _react.Children.count(this.props.children) > 1; // show left arrow?\n\n var hasPrev = this.state.showArrows && this.state.firstItem > 0; // show right arrow\n\n var hasNext = this.state.showArrows && this.state.firstItem < this.state.lastPosition; // obj to hold the transformations and styles\n\n var itemListStyles = {};\n var currentPosition = -this.state.firstItem * (this.state.itemSize || 0);\n var transformProp = (0, _CSSTranslate.default)(currentPosition, 'px', this.props.axis);\n var transitionTime = this.props.transitionTime + 'ms';\n itemListStyles = {\n WebkitTransform: transformProp,\n MozTransform: transformProp,\n MsTransform: transformProp,\n OTransform: transformProp,\n transform: transformProp,\n msTransform: transformProp,\n WebkitTransitionDuration: transitionTime,\n MozTransitionDuration: transitionTime,\n MsTransitionDuration: transitionTime,\n OTransitionDuration: transitionTime,\n transitionDuration: transitionTime,\n msTransitionDuration: transitionTime\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.CAROUSEL(false)\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: _cssClasses.default.WRAPPER(false),\n ref: this.setItemsWrapperRef\n }, /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n className: _cssClasses.default.ARROW_PREV(!hasPrev),\n onClick: function onClick() {\n return _this3.slideRight();\n },\n \"aria-label\": this.props.labels.leftArrow\n }), isSwipeable ? /*#__PURE__*/_react.default.createElement(_reactEasySwipe.default, {\n tagName: \"ul\",\n className: _cssClasses.default.SLIDER(false, this.state.swiping),\n onSwipeLeft: this.slideLeft,\n onSwipeRight: this.slideRight,\n onSwipeMove: this.onSwipeMove,\n onSwipeStart: this.onSwipeStart,\n onSwipeEnd: this.onSwipeEnd,\n style: itemListStyles,\n innerRef: this.setItemsListRef,\n allowMouseEvents: this.props.emulateTouch\n }, this.renderItems()) : /*#__PURE__*/_react.default.createElement(\"ul\", {\n className: _cssClasses.default.SLIDER(false, this.state.swiping),\n ref: function ref(node) {\n return _this3.setItemsListRef(node);\n },\n style: itemListStyles\n }, this.renderItems()), /*#__PURE__*/_react.default.createElement(\"button\", {\n type: \"button\",\n className: _cssClasses.default.ARROW_NEXT(!hasNext),\n onClick: function onClick() {\n return _this3.slideLeft();\n },\n \"aria-label\": this.props.labels.rightArrow\n })));\n }\n }]);\n\n return Thumbs;\n}(_react.Component);\n\nexports.default = Thumbs;\n\n_defineProperty(Thumbs, \"displayName\", 'Thumbs');\n\n_defineProperty(Thumbs, \"defaultProps\", {\n axis: 'horizontal',\n labels: {\n leftArrow: 'previous slide / item',\n rightArrow: 'next slide / item',\n item: 'slide item'\n },\n selectedItem: 0,\n thumbWidth: 80,\n transitionTime: 350\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar _default = {\n ROOT: function ROOT(customClassName) {\n return (0, _classnames.default)(_defineProperty({\n 'carousel-root': true\n }, customClassName || '', !!customClassName));\n },\n CAROUSEL: function CAROUSEL(isSlider) {\n return (0, _classnames.default)({\n carousel: true,\n 'carousel-slider': isSlider\n });\n },\n WRAPPER: function WRAPPER(isSlider, axis) {\n return (0, _classnames.default)({\n 'thumbs-wrapper': !isSlider,\n 'slider-wrapper': isSlider,\n 'axis-horizontal': axis === 'horizontal',\n 'axis-vertical': axis !== 'horizontal'\n });\n },\n SLIDER: function SLIDER(isSlider, isSwiping) {\n return (0, _classnames.default)({\n thumbs: !isSlider,\n slider: isSlider,\n animated: !isSwiping\n });\n },\n ITEM: function ITEM(isSlider, selected, previous) {\n return (0, _classnames.default)({\n thumb: !isSlider,\n slide: isSlider,\n selected: selected,\n previous: previous\n });\n },\n ARROW_PREV: function ARROW_PREV(disabled) {\n return (0, _classnames.default)({\n 'control-arrow control-prev': true,\n 'control-disabled': disabled\n });\n },\n ARROW_NEXT: function ARROW_NEXT(disabled) {\n return (0, _classnames.default)({\n 'control-arrow control-next': true,\n 'control-disabled': disabled\n });\n },\n DOT: function DOT(selected) {\n return (0, _classnames.default)({\n dot: true,\n selected: selected\n });\n }\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.outerWidth = void 0;\n\nvar outerWidth = function outerWidth(el) {\n var width = el.offsetWidth;\n var style = getComputedStyle(el);\n width += parseInt(style.marginLeft) + parseInt(style.marginRight);\n return width;\n};\n\nexports.outerWidth = outerWidth;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Carousel\", {\n enumerable: true,\n get: function get() {\n return _Carousel.default;\n }\n});\nObject.defineProperty(exports, \"CarouselProps\", {\n enumerable: true,\n get: function get() {\n return _types.CarouselProps;\n }\n});\nObject.defineProperty(exports, \"Thumbs\", {\n enumerable: true,\n get: function get() {\n return _Thumbs.default;\n }\n});\n\nvar _Carousel = _interopRequireDefault(require(\"./components/Carousel\"));\n\nvar _types = require(\"./components/Carousel/types\");\n\nvar _Thumbs = _interopRequireDefault(require(\"./components/Thumbs\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = function _default() {\n return document;\n};\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = function _default() {\n return window;\n};\n\nexports.default = _default;","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","'use strict';\n\nmodule.exports = parse;\n\nvar fromMarkdown = require('mdast-util-from-markdown');\n\nfunction parse(options) {\n var self = this;\n this.Parser = parse;\n\n function parse(doc) {\n return fromMarkdown(doc, Object.assign({}, self.data('settings'), options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n }));\n }\n}","'use strict';\n\nvar mdast2hast = require('mdast-util-to-hast');\n\nmodule.exports = remark2rehype; // Attacher.\n// If a destination is given, runs the destination with the new hast tree\n// (bridge mode).\n// Without destination, returns the tree: further plugins run on that tree\n// (mutate mode).\n\nfunction remark2rehype(destination, options) {\n if (destination && !destination.process) {\n options = destination;\n destination = null;\n }\n\n return destination ? bridge(destination, options) : mutate(options);\n} // Bridge mode.\n// Runs the destination with the new hast tree.\n\n\nfunction bridge(destination, options) {\n return transformer;\n\n function transformer(node, file, next) {\n destination.run(mdast2hast(node, options), file, done);\n\n function done(error) {\n next(error);\n }\n }\n} // Mutate-mode.\n// Further transformers run on the hast tree.\n\n\nfunction mutate(options) {\n return transformer;\n\n function transformer(node) {\n return mdast2hast(node, options);\n }\n}","var _toConsumableArray = require(\"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _defineProperty = require(\"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Created by Samuel on 6/4/2016.\n * Simple wrapper functions to produce shorter UUIDs for cookies, maybe everything?\n */\nvar _require = require('uuid'),\n uuidv4 = _require.v4;\n\nvar anyBase = require('any-base');\n\nvar flickrBase58 = '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ';\nvar cookieBase90 = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~\";\nvar baseOptions = {\n consistentLength: true\n}; // A default generator, instantiated only if used.\n\nvar toFlickr;\n/**\n * Takes a UUID, strips the dashes, and translates.\n * @param {string} longId\n * @param {function(string)} translator\n * @param {Object} [paddingParams]\n * @returns {string}\n */\n\nvar shortenUUID = function shortenUUID(longId, translator, paddingParams) {\n var translated = translator(longId.toLowerCase().replace(/-/g, ''));\n if (!paddingParams || !paddingParams.consistentLength) return translated;\n return translated.padStart(paddingParams.shortIdLength, paddingParams.paddingChar);\n};\n/**\n * Translate back to hex and turn back into UUID format, with dashes\n * @param {string} shortId\n * @param {function(string)} translator\n * @returns {string}\n */\n\n\nvar enlargeUUID = function enlargeUUID(shortId, translator) {\n var uu1 = translator(shortId).padStart(32, '0'); // Join the zero padding and the UUID and then slice it up with match\n\n var m = uu1.match(/(\\w{8})(\\w{4})(\\w{4})(\\w{4})(\\w{12})/); // Accumulate the matches and join them.\n\n return [m[1], m[2], m[3], m[4], m[5]].join('-');\n}; // Calculate length for the shortened ID\n\n\nvar getShortIdLength = function getShortIdLength(alphabetLength) {\n return Math.ceil(Math.log(Math.pow(2, 128)) / Math.log(alphabetLength));\n};\n\nmodule.exports = function () {\n /**\n * @param {string} toAlphabet - Defaults to flickrBase58 if not provided\n * @param {Object} [options]\n *\n * @returns {{new: (function()),\n * uuid: (function()),\n * fromUUID: (function(string)),\n * toUUID: (function(string)),\n * alphabet: (string)}}\n */\n var makeConvertor = function makeConvertor(toAlphabet, options) {\n // Default to Flickr 58\n var useAlphabet = toAlphabet || flickrBase58; // Default to baseOptions\n\n var selectedOptions = _objectSpread(_objectSpread({}, baseOptions), options); // Check alphabet for duplicate entries\n\n\n if (_toConsumableArray(new Set(Array.from(useAlphabet))).length !== useAlphabet.length) {\n throw new Error('The provided Alphabet has duplicate characters resulting in unreliable results');\n }\n\n var shortIdLength = getShortIdLength(useAlphabet.length); // Padding Params\n\n var paddingParams = {\n shortIdLength: shortIdLength,\n consistentLength: selectedOptions.consistentLength,\n paddingChar: useAlphabet[0]\n }; // UUIDs are in hex, so we translate to and from.\n\n var fromHex = anyBase(anyBase.HEX, useAlphabet);\n var toHex = anyBase(useAlphabet, anyBase.HEX);\n\n var generate = function generate() {\n return shortenUUID(uuidv4(), fromHex, paddingParams);\n };\n\n var translator = {\n new: generate,\n generate: generate,\n uuid: uuidv4,\n fromUUID: function fromUUID(uuid) {\n return shortenUUID(uuid, fromHex, paddingParams);\n },\n toUUID: function toUUID(shortUuid) {\n return enlargeUUID(shortUuid, toHex);\n },\n alphabet: useAlphabet,\n maxLength: shortIdLength\n };\n Object.freeze(translator);\n return translator;\n }; // Expose the constants for other purposes.\n\n\n makeConvertor.constants = {\n flickrBase58: flickrBase58,\n cookieBase90: cookieBase90\n }; // Expose the generic v4 UUID generator for convenience\n\n makeConvertor.uuid = uuidv4; // Provide a generic generator\n\n makeConvertor.generate = function () {\n if (!toFlickr) {\n // Generate on first use;\n toFlickr = makeConvertor(flickrBase58).generate;\n }\n\n return toFlickr();\n };\n\n return makeConvertor;\n}();","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || new Array(16);\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","var extend = require('xtend');\n\nvar mqTypes = ['blank', 'all', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'print'];\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\nfunction itemsValid(rules, type, prop) {\n var flag = true;\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (typeof rules[i] !== type || prop && !rules[i].hasOwnProperty(prop)) {\n flag = false;\n break;\n }\n }\n\n return flag;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Boolean}\n */\n\n\nfunction allValid(rules, type, prop) {\n if (!rules || !rules.length || typeof rules === 'string') {\n return 'none';\n }\n\n if (type === 'object' && (!prop || typeof prop !== 'string') || !itemsValid(rules, type, prop)) {\n return 'some';\n }\n\n return 'all';\n}\n/**\n * Normalize between array with strings and array with objects\n *\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Object}\n */\n\n\nfunction prepareRules(rules, type, prop) {\n var collection = [];\n var o = {};\n\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n if (type === 'string') {\n o = extend({}, {\n __media: rules[i]\n });\n } else {\n o = extend({}, rules[i]);\n o.__media = rules[i][prop];\n }\n\n collection.push(o);\n }\n\n return collection;\n}\n/**\n * @param {Boolean} isMax\n *\n * @return {Function}\n */\n\n\nfunction determineSortOrder(isMax) {\n /**\n * Determine sort order based on provided arguments\n *\n * @param {Object} a\n * @param {Object} b\n *\n * @return {Integer}\n */\n return function (a, b) {\n var sortValA = a.sortVal;\n var sortValB = b.sortVal;\n var ruleA = a.item.__media;\n var ruleB = b.item.__media;\n isMax = typeof isMax !== 'undefined' ? isMax : false; // Consider print for sorting if sortVals are equal\n\n if (sortValA === sortValB) {\n if (ruleA.match(/print/)) {\n // a contains print and should be sorted after b\n return 1;\n }\n\n if (ruleB.match(/print/)) {\n // b contains print and should be sorted after a\n return -1;\n }\n } // Return descending sort order for max-(width|height) media queries\n\n\n if (isMax) {\n return sortValB - sortValA;\n } // Return ascending sort order\n\n\n return sortValA - sortValB;\n };\n}\n/**\n * @return {Object}\n */\n\n\nfunction createCollection() {\n var mqCollection = {};\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n mqCollection[mqTypes[i]] = [];\n }\n\n return mqCollection;\n}\n/**\n * @param {Object} collection\n * @param {Array} rules\n *\n * @return {Object}\n */\n\n\nfunction addRulesToCollection(collection, rules) {\n // Sort media queries by kind, this is needed to output them in the right order\n for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) {\n var item = rules[i];\n var rule = item.__media;\n var collectionType = 'blank';\n var valMatch = rule.match(/\\d+/g);\n\n if (rule.match(/min-width/)) {\n collectionType = 'minWidth';\n } else if (rule.match(/min-height/)) {\n collectionType = 'minHeight';\n } else if (rule.match(/max-width/)) {\n collectionType = 'maxWidth';\n } else if (rule.match(/max-height/)) {\n collectionType = 'maxHeight';\n } else if (rule.match(/print/)) {\n collectionType = 'print';\n } else if (rule.match(/all/)) {\n collectionType = 'all';\n }\n\n collection[collectionType].push({\n item: item,\n sortVal: valMatch ? valMatch[0] : 0\n });\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n *\n * @return {Object}\n */\n\n\nfunction sortCollection(collection) {\n var sorter;\n\n for (var collectionType in collection) {\n if (collection.hasOwnProperty(collectionType)) {\n sorter = determineSortOrder(false);\n\n if (collectionType === 'maxWidth' || collectionType === 'maxHeight') {\n sorter = determineSortOrder(true);\n }\n\n collection[collectionType].sort(sorter);\n }\n }\n\n return collection;\n}\n/**\n * @param {Object} collection\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction transformCollection(collection, type, prop) {\n var transformed = [];\n var collectionItem;\n\n function iterateCollectionItem(collectionItem) {\n var resultVal;\n\n for (var i = 0, typeLength = collectionItem.length; i < typeLength; i++) {\n if (type === 'string') {\n resultVal = collectionItem[i].item.__media;\n } else {\n resultVal = collectionItem[i].item;\n delete resultVal.__media;\n }\n\n transformed.push(resultVal);\n }\n }\n\n for (var i = 0, mqTypesLength = mqTypes.length; i < mqTypesLength; i++) {\n iterateCollectionItem(collection[mqTypes[i]]);\n }\n\n return transformed;\n}\n/**\n * @param {Array} rules\n * @param {String} type\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nfunction sortInit(rules, type, prop) {\n switch (allValid(rules, type, prop)) {\n case 'none':\n return [];\n\n case 'some':\n return rules;\n }\n\n var collection = createCollection();\n rules = prepareRules(rules, type, prop);\n addRulesToCollection(collection, rules);\n sortCollection(collection);\n return transformCollection(collection, type, prop);\n}\n/**\n * @param {Array} rules\n * @param {String} prop\n *\n * @return {Array}\n */\n\n\nmodule.exports = function (rules, prop) {\n if (rules) {\n if (prop) {\n return sortInit(rules, 'object', prop);\n }\n\n return sortInit(rules, 'string');\n }\n\n return [];\n};","'use strict';\n\nexports.parse = parse;\nexports.stringify = stringify;\nvar empty = '';\nvar space = ' ';\nvar whiteSpace = /[ \\t\\n\\r\\f]+/g;\n\nfunction parse(value) {\n var input = String(value || empty).trim();\n return input === empty ? [] : input.split(whiteSpace);\n}\n\nfunction stringify(values) {\n return values.join(space).trim();\n}","var parse = require('inline-style-parser');\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\n\n\nfunction StyleToObject(style, iterator) {\n var output = null;\n\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;","'use strict';\n\nvar wrap = require('./wrap.js');\n\nmodule.exports = trough;\ntrough.wrap = wrap;\nvar slice = [].slice; // Create new middleware.\n\nfunction trough() {\n var fns = [];\n var middleware = {};\n middleware.run = run;\n middleware.use = use;\n return middleware; // Run `fns`. Last argument must be a completion handler.\n\n function run() {\n var index = -1;\n var input = slice.call(arguments, 0, -1);\n var done = arguments[arguments.length - 1];\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done);\n }\n\n next.apply(null, [null].concat(input)); // Run the next `fn`, if any.\n\n function next(err) {\n var fn = fns[++index];\n var params = slice.call(arguments, 0);\n var values = params.slice(1);\n var length = input.length;\n var pos = -1;\n\n if (err) {\n done(err);\n return;\n } // Copy non-nully input into values.\n\n\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos];\n }\n }\n\n input = values; // Next or done.\n\n if (fn) {\n wrap(fn, next).apply(null, input);\n } else {\n done.apply(null, [null].concat(input));\n }\n }\n } // Add `fn` to the list.\n\n\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn);\n }\n\n fns.push(fn);\n return middleware;\n }\n}","'use strict';\n\nvar slice = [].slice;\nmodule.exports = wrap; // Wrap `fn`.\n// Can be sync or async; return a promise, receive a completion handler, return\n// new values and errors.\n\nfunction wrap(fn, callback) {\n var invoked;\n return wrapped;\n\n function wrapped() {\n var params = slice.call(arguments, 0);\n var callback = fn.length > params.length;\n var result;\n\n if (callback) {\n params.push(done);\n }\n\n try {\n result = fn.apply(null, params);\n } catch (error) {\n // Well, this is quite the pickle.\n // `fn` received a callback and invoked it (thus continuing the pipeline),\n // but later also threw an error.\n // We’re not about to restart the pipeline again, so the only thing left\n // to do is to throw the thing instead.\n if (callback && invoked) {\n throw error;\n }\n\n return done(error);\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done);\n } else if (result instanceof Error) {\n done(result);\n } else {\n then(result);\n }\n }\n } // Invoke `next`, only once.\n\n\n function done() {\n if (!invoked) {\n invoked = true;\n callback.apply(null, arguments);\n }\n } // Invoke `done` with one value.\n // Tracks if an error is passed, too.\n\n\n function then(value) {\n done(null, value);\n }\n}","'use strict';\n\nvar bail = require('bail');\n\nvar buffer = require('is-buffer');\n\nvar extend = require('extend');\n\nvar plain = require('is-plain-obj');\n\nvar trough = require('trough');\n\nvar vfile = require('vfile'); // Expose a frozen processor.\n\n\nmodule.exports = unified().freeze();\nvar slice = [].slice;\nvar own = {}.hasOwnProperty; // Process pipeline.\n\nvar pipeline = trough().use(pipelineParse).use(pipelineRun).use(pipelineStringify);\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file);\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done);\n\n function done(error, tree, file) {\n if (error) {\n next(error);\n } else {\n ctx.tree = tree;\n ctx.file = file;\n next();\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n var result = p.stringify(ctx.tree, ctx.file);\n\n if (result === undefined || result === null) {// Empty.\n } else if (typeof result === 'string' || buffer(result)) {\n ctx.file.contents = result;\n } else {\n ctx.file.result = result;\n }\n} // Function to create the first processor.\n\n\nfunction unified() {\n var attachers = [];\n var transformers = trough();\n var namespace = {};\n var freezeIndex = -1;\n var frozen; // Data management.\n\n processor.data = data; // Lock.\n\n processor.freeze = freeze; // Plugins.\n\n processor.attachers = attachers;\n processor.use = use; // API.\n\n processor.parse = parse;\n processor.stringify = stringify;\n processor.run = run;\n processor.runSync = runSync;\n processor.process = process;\n processor.processSync = processSync; // Expose.\n\n return processor; // Create a new processor based on the processor in the current scope.\n\n function processor() {\n var destination = unified();\n var index = -1;\n\n while (++index < attachers.length) {\n destination.use.apply(null, attachers[index]);\n }\n\n destination.data(extend(true, {}, namespace));\n return destination;\n } // Freeze: used to signal a processor that has finished configuration.\n //\n // For example, take unified itself: it’s frozen.\n // Plugins should not be added to it.\n // Rather, it should be extended, by invoking it, before modifying it.\n //\n // In essence, always invoke this when exporting a processor.\n\n\n function freeze() {\n var values;\n var transformer;\n\n if (frozen) {\n return processor;\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex];\n\n if (values[1] === false) {\n continue;\n }\n\n if (values[1] === true) {\n values[1] = undefined;\n }\n\n transformer = values[0].apply(processor, values.slice(1));\n\n if (typeof transformer === 'function') {\n transformers.use(transformer);\n }\n }\n\n frozen = true;\n freezeIndex = Infinity;\n return processor;\n } // Data management.\n // Getter / setter for processor-specific informtion.\n\n\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen);\n namespace[key] = value;\n return processor;\n } // Get `key`.\n\n\n return own.call(namespace, key) && namespace[key] || null;\n } // Set space.\n\n\n if (key) {\n assertUnfrozen('data', frozen);\n namespace = key;\n return processor;\n } // Get space.\n\n\n return namespace;\n } // Plugin management.\n //\n // Pass it:\n // * an attacher and options,\n // * a preset,\n // * a list of presets, attachers, and arguments (list of attachers and\n // options).\n\n\n function use(value) {\n var settings;\n assertUnfrozen('use', frozen);\n\n if (value === null || value === undefined) {// Empty.\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments);\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value);\n } else {\n addPreset(value);\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`');\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings);\n }\n\n return processor;\n\n function addPreset(result) {\n addList(result.plugins);\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings);\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value);\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value);\n } else {\n addPreset(value);\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`');\n }\n }\n\n function addList(plugins) {\n var index = -1;\n\n if (plugins === null || plugins === undefined) {// Empty.\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n while (++index < plugins.length) {\n add(plugins[index]);\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`');\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin);\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(true, entry[1], value);\n }\n\n entry[1] = value;\n } else {\n attachers.push(slice.call(arguments));\n }\n }\n }\n\n function find(plugin) {\n var index = -1;\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n return attachers[index];\n }\n }\n } // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor.\n\n\n function parse(doc) {\n var file = vfile(doc);\n var Parser;\n freeze();\n Parser = processor.Parser;\n assertParser('parse', Parser);\n\n if (newable(Parser, 'parse')) {\n return new Parser(String(file), file).parse();\n }\n\n return Parser(String(file), file); // eslint-disable-line new-cap\n } // Run transforms on a unist node representation of a file (in string or\n // vfile representation), async.\n\n\n function run(node, file, cb) {\n assertNode(node);\n freeze();\n\n if (!cb && typeof file === 'function') {\n cb = file;\n file = null;\n }\n\n if (!cb) {\n return new Promise(executor);\n }\n\n executor(null, cb);\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done);\n\n function done(error, tree, file) {\n tree = tree || node;\n\n if (error) {\n reject(error);\n } else if (resolve) {\n resolve(tree);\n } else {\n cb(null, tree, file);\n }\n }\n }\n } // Run transforms on a unist node representation of a file (in string or\n // vfile representation), sync.\n\n\n function runSync(node, file) {\n var result;\n var complete;\n run(node, file, done);\n assertDone('runSync', 'run', complete);\n return result;\n\n function done(error, tree) {\n complete = true;\n result = tree;\n bail(error);\n }\n } // Stringify a unist node representation of a file (in string or vfile\n // representation) into a string using the `Compiler` on the processor.\n\n\n function stringify(node, doc) {\n var file = vfile(doc);\n var Compiler;\n freeze();\n Compiler = processor.Compiler;\n assertCompiler('stringify', Compiler);\n assertNode(node);\n\n if (newable(Compiler, 'compile')) {\n return new Compiler(node, file).compile();\n }\n\n return Compiler(node, file); // eslint-disable-line new-cap\n } // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor, then run transforms on that node, and\n // compile the resulting node using the `Compiler` on the processor, and\n // store that result on the vfile.\n\n\n function process(doc, cb) {\n freeze();\n assertParser('process', processor.Parser);\n assertCompiler('process', processor.Compiler);\n\n if (!cb) {\n return new Promise(executor);\n }\n\n executor(null, cb);\n\n function executor(resolve, reject) {\n var file = vfile(doc);\n pipeline.run(processor, {\n file: file\n }, done);\n\n function done(error) {\n if (error) {\n reject(error);\n } else if (resolve) {\n resolve(file);\n } else {\n cb(null, file);\n }\n }\n }\n } // Process the given document (in string or vfile representation), sync.\n\n\n function processSync(doc) {\n var file;\n var complete;\n freeze();\n assertParser('processSync', processor.Parser);\n assertCompiler('processSync', processor.Compiler);\n file = vfile(doc);\n process(file, done);\n assertDone('processSync', 'process', complete);\n return file;\n\n function done(error) {\n complete = true;\n bail(error);\n }\n }\n} // Check if `value` is a constructor.\n\n\nfunction newable(value, name) {\n return typeof value === 'function' && value.prototype && ( // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n keys(value.prototype) || name in value.prototype);\n} // Check if `value` is an object with keys.\n\n\nfunction keys(value) {\n var key;\n\n for (key in value) {\n return true;\n }\n\n return false;\n} // Assert a parser is available.\n\n\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`');\n }\n} // Assert a compiler is available.\n\n\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`');\n }\n} // Assert the processor is not frozen.\n\n\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error('Cannot invoke `' + name + '` on a frozen processor.\\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.');\n }\n} // Assert `node` is a unist node.\n\n\nfunction assertNode(node) {\n if (!node || typeof node.type !== 'string') {\n throw new Error('Expected node, got `' + node + '`');\n }\n} // Assert that `complete` is `true`.\n\n\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error('`' + name + '` finished async. Use `' + asyncName + '` instead');\n }\n}","'use strict';\n\nmodule.exports = function (value) {\n if (Object.prototype.toString.call(value) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.prototype;\n};","'use strict';\n\nmodule.exports = u;\n\nfunction u(type, props, value) {\n var node;\n\n if ((value === null || value === undefined) && (typeof props !== 'object' || Array.isArray(props))) {\n value = props;\n props = {};\n }\n\n node = Object.assign({\n type: String(type)\n }, props);\n\n if (Array.isArray(value)) {\n node.children = value;\n } else if (value !== null && value !== undefined) {\n node.value = String(value);\n }\n\n return node;\n}","'use strict';\n\nmodule.exports = generated;\n\nfunction generated(node) {\n return !node || !node.position || !node.position.start || !node.position.start.line || !node.position.start.column || !node.position.end || !node.position.end.line || !node.position.end.column;\n}","'use strict';\n\nmodule.exports = convert;\n\nfunction convert(test) {\n if (test == null) {\n return ok;\n }\n\n if (typeof test === 'string') {\n return typeFactory(test);\n }\n\n if (typeof test === 'object') {\n return 'length' in test ? anyFactory(test) : allFactory(test);\n }\n\n if (typeof test === 'function') {\n return test;\n }\n\n throw new Error('Expected function, string, or object as test');\n} // Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\n\n\nfunction allFactory(test) {\n return all;\n\n function all(node) {\n var key;\n\n for (key in test) {\n if (node[key] !== test[key]) return false;\n }\n\n return true;\n }\n}\n\nfunction anyFactory(tests) {\n var checks = [];\n var index = -1;\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index]);\n }\n\n return any;\n\n function any() {\n var index = -1;\n\n while (++index < checks.length) {\n if (checks[index].apply(this, arguments)) {\n return true;\n }\n }\n\n return false;\n }\n} // Utility to convert a string into a function which checks a given node’s type\n// for said string.\n\n\nfunction typeFactory(test) {\n return type;\n\n function type(node) {\n return Boolean(node && node.type === test);\n }\n} // Utility to return true.\n\n\nfunction ok() {\n return true;\n}","'use strict';\n\nvar start = factory('start');\nvar end = factory('end');\nmodule.exports = position;\nposition.start = start;\nposition.end = end;\n\nfunction position(node) {\n return {\n start: start(node),\n end: end(node)\n };\n}\n\nfunction factory(type) {\n point.displayName = type;\n return point;\n\n function point(node) {\n var point = node && node.position && node.position[type] || {};\n return {\n line: point.line || null,\n column: point.column || null,\n offset: isNaN(point.offset) ? null : point.offset\n };\n }\n}","'use strict';\n\nvar own = {}.hasOwnProperty;\nmodule.exports = stringify;\n\nfunction stringify(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return '';\n } // Node.\n\n\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position);\n } // Position.\n\n\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value);\n } // Point.\n\n\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value);\n } // ?\n\n\n return '';\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {};\n }\n\n return index(point.line) + ':' + index(point.column);\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {};\n }\n\n return point(pos.start) + '-' + point(pos.end);\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1;\n}","module.exports = identity;\n\nfunction identity(d) {\n return d;\n}","'use strict';\n\nmodule.exports = visitParents;\n\nvar convert = require('unist-util-is/convert');\n\nvar color = require('./color');\n\nvar CONTINUE = true;\nvar SKIP = 'skip';\nvar EXIT = false;\nvisitParents.CONTINUE = CONTINUE;\nvisitParents.SKIP = SKIP;\nvisitParents.EXIT = EXIT;\n\nfunction visitParents(tree, test, visitor, reverse) {\n var step;\n var is;\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor;\n visitor = test;\n test = null;\n }\n\n is = convert(test);\n step = reverse ? -1 : 1;\n factory(tree, null, [])();\n\n function factory(node, index, parents) {\n var value = typeof node === 'object' && node !== null ? node : {};\n var name;\n\n if (typeof value.type === 'string') {\n name = typeof value.tagName === 'string' ? value.tagName : typeof value.name === 'string' ? value.name : undefined;\n visit.displayName = 'node (' + color(value.type + (name ? '<' + name + '>' : '')) + ')';\n }\n\n return visit;\n\n function visit() {\n var grandparents = parents.concat(node);\n var result = [];\n var subresult;\n var offset;\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents));\n\n if (result[0] === EXIT) {\n return result;\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n offset = (reverse ? node.children.length : -1) + step;\n\n while (offset > -1 && offset < node.children.length) {\n subresult = factory(node.children[offset], offset, grandparents)();\n\n if (subresult[0] === EXIT) {\n return subresult;\n }\n\n offset = typeof subresult[1] === 'number' ? subresult[1] : offset + step;\n }\n }\n\n return result;\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value;\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value];\n }\n\n return [value];\n}","'use strict';\n\nmodule.exports = visit;\n\nvar visitParents = require('unist-util-visit-parents');\n\nvar CONTINUE = visitParents.CONTINUE;\nvar SKIP = visitParents.SKIP;\nvar EXIT = visitParents.EXIT;\nvisit.CONTINUE = CONTINUE;\nvisit.SKIP = SKIP;\nvisit.EXIT = EXIT;\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor;\n visitor = test;\n test = null;\n }\n\n visitParents(tree, test, overload, reverse);\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1];\n var index = parent ? parent.children.indexOf(node) : null;\n return visitor(node, index, parent);\n }\n}","'use strict';\n\nvar stringify = require('unist-util-stringify-position');\n\nmodule.exports = VMessage; // Inherit from `Error#`.\n\nfunction VMessagePrototype() {}\n\nVMessagePrototype.prototype = Error.prototype;\nVMessage.prototype = new VMessagePrototype(); // Message properties.\n\nvar proto = VMessage.prototype;\nproto.file = '';\nproto.name = '';\nproto.reason = '';\nproto.message = '';\nproto.stack = '';\nproto.fatal = null;\nproto.column = null;\nproto.line = null; // Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\n\nfunction VMessage(reason, position, origin) {\n var parts;\n var range;\n var location;\n\n if (typeof position === 'string') {\n origin = position;\n position = null;\n }\n\n parts = parseOrigin(origin);\n range = stringify(position) || '1:1';\n location = {\n start: {\n line: null,\n column: null\n },\n end: {\n line: null,\n column: null\n }\n }; // Node.\n\n if (position && position.position) {\n position = position.position;\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position;\n position = position.start;\n } else {\n // Point.\n location.start = position;\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack;\n reason = reason.message;\n }\n\n this.message = reason;\n this.name = range;\n this.reason = reason;\n this.line = position ? position.line : null;\n this.column = position ? position.column : null;\n this.location = location;\n this.source = parts[0];\n this.ruleId = parts[1];\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null];\n var index;\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':');\n\n if (index === -1) {\n result[1] = origin;\n } else {\n result[0] = origin.slice(0, index);\n result[1] = origin.slice(index + 1);\n }\n }\n\n return result;\n}","'use strict';\n\nmodule.exports = require('./lib');","'use strict';\n\nvar p = require('./minpath');\n\nvar proc = require('./minproc');\n\nvar buffer = require('is-buffer');\n\nmodule.exports = VFile;\nvar own = {}.hasOwnProperty; // Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\n\nvar order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname'];\nVFile.prototype.toString = toString; // Access full path (`~/index.min.js`).\n\nObject.defineProperty(VFile.prototype, 'path', {\n get: getPath,\n set: setPath\n}); // Access parent path (`~`).\n\nObject.defineProperty(VFile.prototype, 'dirname', {\n get: getDirname,\n set: setDirname\n}); // Access basename (`index.min.js`).\n\nObject.defineProperty(VFile.prototype, 'basename', {\n get: getBasename,\n set: setBasename\n}); // Access extname (`.js`).\n\nObject.defineProperty(VFile.prototype, 'extname', {\n get: getExtname,\n set: setExtname\n}); // Access stem (`index.min`).\n\nObject.defineProperty(VFile.prototype, 'stem', {\n get: getStem,\n set: setStem\n}); // Construct a new file.\n\nfunction VFile(options) {\n var prop;\n var index;\n\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || buffer(options)) {\n options = {\n contents: options\n };\n } else if ('message' in options && 'messages' in options) {\n return options;\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options);\n }\n\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = proc.cwd(); // Set path related properties in the correct order.\n\n index = -1;\n\n while (++index < order.length) {\n prop = order[index];\n\n if (own.call(options, prop)) {\n this[prop] = options[prop];\n }\n } // Set non-path related properties.\n\n\n for (prop in options) {\n if (order.indexOf(prop) < 0) {\n this[prop] = options[prop];\n }\n }\n}\n\nfunction getPath() {\n return this.history[this.history.length - 1];\n}\n\nfunction setPath(path) {\n assertNonEmpty(path, 'path');\n\n if (this.path !== path) {\n this.history.push(path);\n }\n}\n\nfunction getDirname() {\n return typeof this.path === 'string' ? p.dirname(this.path) : undefined;\n}\n\nfunction setDirname(dirname) {\n assertPath(this.path, 'dirname');\n this.path = p.join(dirname || '', this.basename);\n}\n\nfunction getBasename() {\n return typeof this.path === 'string' ? p.basename(this.path) : undefined;\n}\n\nfunction setBasename(basename) {\n assertNonEmpty(basename, 'basename');\n assertPart(basename, 'basename');\n this.path = p.join(this.dirname || '', basename);\n}\n\nfunction getExtname() {\n return typeof this.path === 'string' ? p.extname(this.path) : undefined;\n}\n\nfunction setExtname(extname) {\n assertPart(extname, 'extname');\n assertPath(this.path, 'extname');\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46\n /* `.` */\n ) {\n throw new Error('`extname` must start with `.`');\n }\n\n if (extname.indexOf('.', 1) > -1) {\n throw new Error('`extname` cannot contain multiple dots');\n }\n }\n\n this.path = p.join(this.dirname, this.stem + (extname || ''));\n}\n\nfunction getStem() {\n return typeof this.path === 'string' ? p.basename(this.path, this.extname) : undefined;\n}\n\nfunction setStem(stem) {\n assertNonEmpty(stem, 'stem');\n assertPart(stem, 'stem');\n this.path = p.join(this.dirname || '', stem + (this.extname || ''));\n} // Get the value of the file.\n\n\nfunction toString(encoding) {\n return (this.contents || '').toString(encoding);\n} // Assert that `part` is not a path (i.e., does not contain `p.sep`).\n\n\nfunction assertPart(part, name) {\n if (part && part.indexOf(p.sep) > -1) {\n throw new Error('`' + name + '` cannot be a path: did not expect `' + p.sep + '`');\n }\n} // Assert that `part` is not empty.\n\n\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty');\n }\n} // Assert `path` exists.\n\n\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too');\n }\n}","'use strict';\n\nvar VMessage = require('vfile-message');\n\nvar VFile = require('./core.js');\n\nmodule.exports = VFile;\nVFile.prototype.message = message;\nVFile.prototype.info = info;\nVFile.prototype.fail = fail; // Create a message with `reason` at `position`.\n// When an error is passed in as `reason`, copies the stack.\n\nfunction message(reason, position, origin) {\n var message = new VMessage(reason, position, origin);\n\n if (this.path) {\n message.name = this.path + ':' + message.name;\n message.file = this.path;\n }\n\n message.fatal = false;\n this.messages.push(message);\n return message;\n} // Fail: creates a vmessage, associates it with the file, and throws it.\n\n\nfunction fail() {\n var message = this.message.apply(this, arguments);\n message.fatal = true;\n throw message;\n} // Info: creates a vmessage, associates it with the file, and marks the fatality\n// as null.\n\n\nfunction info() {\n var message = this.message.apply(this, arguments);\n message.fatal = null;\n return message;\n}","'use strict'; // A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexports.basename = basename;\nexports.dirname = dirname;\nexports.extname = extname;\nexports.join = join;\nexports.sep = '/';\n\nfunction basename(path, ext) {\n var start = 0;\n var end = -1;\n var index;\n var firstNonSlashEnd;\n var seenNonSlash;\n var extIndex;\n\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string');\n }\n\n assertPath(path);\n index = path.length;\n\n if (ext === undefined || !ext.length || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47\n /* `/` */\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1;\n break;\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true;\n end = index + 1;\n }\n }\n\n return end < 0 ? '' : path.slice(start, end);\n }\n\n if (ext === path) {\n return '';\n }\n\n firstNonSlashEnd = -1;\n extIndex = ext.length - 1;\n\n while (index--) {\n if (path.charCodeAt(index) === 47\n /* `/` */\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true;\n firstNonSlashEnd = index + 1;\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index;\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd;\n } else if (end < 0) {\n end = path.length;\n }\n\n return path.slice(start, end);\n}\n\nfunction dirname(path) {\n var end;\n var unmatchedSlash;\n var index;\n assertPath(path);\n\n if (!path.length) {\n return '.';\n }\n\n end = -1;\n index = path.length; // Prefix `--` is important to not run on `0`.\n\n while (--index) {\n if (path.charCodeAt(index) === 47\n /* `/` */\n ) {\n if (unmatchedSlash) {\n end = index;\n break;\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true;\n }\n }\n\n return end < 0 ? path.charCodeAt(0) === 47\n /* `/` */\n ? '/' : '.' : end === 1 && path.charCodeAt(0) === 47\n /* `/` */\n ? '//' : path.slice(0, end);\n}\n\nfunction extname(path) {\n var startDot = -1;\n var startPart = 0;\n var end = -1; // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n\n var preDotState = 0;\n var unmatchedSlash;\n var code;\n var index;\n assertPath(path);\n index = path.length;\n\n while (index--) {\n code = path.charCodeAt(index);\n\n if (code === 47\n /* `/` */\n ) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1;\n break;\n }\n\n continue;\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true;\n end = index + 1;\n }\n\n if (code === 46\n /* `.` */\n ) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index;\n } else if (preDotState !== 1) {\n preDotState = 1;\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1;\n }\n }\n\n if (startDot < 0 || end < 0 || // We saw a non-dot character immediately before the dot.\n preDotState === 0 || // The (right-most) trimmed path component is exactly `..`.\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n\n return path.slice(startDot, end);\n}\n\nfunction join() {\n var index = -1;\n var joined;\n\n while (++index < arguments.length) {\n assertPath(arguments[index]);\n\n if (arguments[index]) {\n joined = joined === undefined ? arguments[index] : joined + '/' + arguments[index];\n }\n }\n\n return joined === undefined ? '.' : normalize(joined);\n} // Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\n\n\nfunction normalize(path) {\n var absolute;\n var value;\n assertPath(path);\n absolute = path.charCodeAt(0) === 47;\n /* `/` */\n // Normalize the path according to POSIX rules.\n\n value = normalizeString(path, !absolute);\n\n if (!value.length && !absolute) {\n value = '.';\n }\n\n if (value.length && path.charCodeAt(path.length - 1) === 47\n /* / */\n ) {\n value += '/';\n }\n\n return absolute ? '/' + value : value;\n} // Resolve `.` and `..` elements in a path with directory names.\n\n\nfunction normalizeString(path, allowAboveRoot) {\n var result = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var index = -1;\n var code;\n var lastSlashIndex;\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index);\n } else if (code === 47\n /* `/` */\n ) {\n break;\n } else {\n code = 47;\n /* `/` */\n }\n\n if (code === 47\n /* `/` */\n ) {\n if (lastSlash === index - 1 || dots === 1) {// Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (result.length < 2 || lastSegmentLength !== 2 || result.charCodeAt(result.length - 1) !== 46\n /* `.` */\n || result.charCodeAt(result.length - 2) !== 46\n /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/');\n /* istanbul ignore else - No clue how to cover it. */\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = '';\n lastSegmentLength = 0;\n } else {\n result = result.slice(0, lastSlashIndex);\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/');\n }\n\n lastSlash = index;\n dots = 0;\n continue;\n }\n } else if (result.length) {\n result = '';\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n\n if (allowAboveRoot) {\n result = result.length ? result + '/..' : '..';\n lastSegmentLength = 2;\n }\n } else {\n if (result.length) {\n result += '/' + path.slice(lastSlash + 1, index);\n } else {\n result = path.slice(lastSlash + 1, index);\n }\n\n lastSegmentLength = index - lastSlash - 1;\n }\n\n lastSlash = index;\n dots = 0;\n } else if (code === 46\n /* `.` */\n && dots > -1) {\n dots++;\n } else {\n dots = -1;\n }\n }\n\n return result;\n}\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));\n }\n}","'use strict'; // Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\n\nexports.cwd = cwd;\n\nfunction cwd() {\n return '/';\n}","module.exports = extend;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {};\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _BackgroundUtils = _interopRequireDefault(require(\"./lib/BackgroundUtils\"));\n\nvar _HelperUtils = require(\"./lib/HelperUtils\");\n\nvar _ImageUtils = require(\"./lib/ImageUtils\");\n\nvar _ImageCache = require(\"./lib/ImageCache\");\n\nvar _ImageRef = require(\"./lib/ImageRef\");\n\nvar _ImageHandling = require(\"./lib/ImageHandling\");\n\nvar _StyleUtils = require(\"./lib/StyleUtils\");\n\nvar _StyleCreation = require(\"./lib/StyleCreation\");\n\nvar _IntersectionObserverUtils = require(\"./lib/IntersectionObserverUtils\");\n\nvar _SimpleUtils = require(\"./lib/SimpleUtils\");\n\nvar BackgroundImage = function (_React$Component) {\n (0, _inheritsLoose2.default)(BackgroundImage, _React$Component);\n\n function BackgroundImage(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n\n _this.intersectionListener = function () {\n var imageInCache = (0, _ImageCache.inImageCache)(_this.props);\n\n if (!_this.state.isVisible && typeof _this.props.onStartLoad === \"function\") {\n _this.props.onStartLoad({\n wasCached: imageInCache\n });\n }\n\n _this.imageRef = (0, _ImageRef.activatePictureRef)(_this.imageRef, _this.props, _this.selfRef);\n\n _this.setState(function (state) {\n return {\n isVisible: true,\n imageState: state.imageState + 1\n };\n }, function () {\n _this.setState(function (state) {\n return {\n imgLoaded: imageInCache,\n imgCached: (0, _ImageRef.hasActivatedPictureRefs)(_this.imageRef),\n imageState: state.imageState + 1\n };\n });\n });\n };\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = convertedProps.fadeIn;\n var seenBefore = (0, _ImageCache.inImageCache)(convertedProps);\n\n if (!seenBefore && (0, _SimpleUtils.isBrowser)() && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n }\n\n if (!(0, _SimpleUtils.isBrowser)()) {\n isVisible = false;\n }\n\n if (convertedProps.critical) {\n isVisible = true;\n IOSupported = false;\n }\n\n var hasNoScript = !(convertedProps.critical && !fadeIn) && !(0, _SimpleUtils.isBrowser)();\n var imageState = 0;\n\n var _fixClassName = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName[0];\n\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(convertedProps.className));\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n _this.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: isVisible\n }), _this.handleImageLoaded);\n _this.selfRef = null;\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore,\n imageState: imageState,\n currentClassNames: currentClassNames\n };\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(this.props.className));\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: (0, _ImageCache.inImageCache)(this.props)\n });\n }\n\n if (this.props.critical || this.state.seenBefore) {\n if ((0, _ImageRef.imageReferenceCompleted)(this.imageRef, this.props)) {\n this.handleImageLoaded();\n }\n }\n\n var _fixClassName2 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName2[0];\n\n this.setState({\n currentClassNames: currentClassNames\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n if ((0, _ImageUtils.imagePropsChanged)(this.props, prevProps)) {\n var convertedProps = (0, _HelperUtils.convertProps)(this.props);\n var imageInCache = (0, _ImageCache.inImageCache)(convertedProps);\n\n var _fixClassName3 = (0, _StyleUtils.fixClassName)(convertedProps),\n currentClassNames = _fixClassName3[0];\n\n this.setState({\n isVisible: imageInCache || convertedProps.critical,\n imgLoaded: imageInCache,\n seenBefore: imageInCache,\n currentClassNames: currentClassNames\n }, function () {\n _this2.bgImage = (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"currentSrc\",\n returnArray: true\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"src\",\n returnArray: true\n });\n _this2.imageRef = (0, _ImageRef.createPictureRef)((0, _extends2.default)({}, convertedProps, {\n isVisible: _this2.state.isVisible\n }), _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.imageRef) {\n if (Array.isArray(this.imageRef)) {\n this.imageRef.forEach(function (currentImageRef) {\n if (!!currentImageRef && !(0, _SimpleUtils.isString)(currentImageRef)) {\n currentImageRef.onload = null;\n }\n });\n } else {\n this.imageRef.onload = null;\n }\n }\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n this.selfRef = ref;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, this.intersectionListener, this.props.rootMargin);\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n (0, _ImageCache.activateCacheForImage)(this.props);\n this.setState(function (state) {\n return {\n imgLoaded: true,\n imageState: state.imageState + 1\n };\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props), this.props.preserveStackingContext),\n className = _fixOpacity.className,\n _fixOpacity$style = _fixOpacity.style,\n style = _fixOpacity$style === void 0 ? {} : _fixOpacity$style,\n fluid = _fixOpacity.fluid,\n fixed = _fixOpacity.fixed,\n backgroundColor = _fixOpacity.backgroundColor,\n durationFadeIn = _fixOpacity.durationFadeIn,\n Tag = _fixOpacity.Tag,\n children = _fixOpacity.children,\n keepStatic = _fixOpacity.keepStatic,\n props = (0, _objectWithoutPropertiesLoose2.default)(_fixOpacity, [\"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"durationFadeIn\", \"Tag\", \"children\", \"keepStatic\"]);\n\n var remainingProps = (0, _HelperUtils.stripRemainingProps)(props);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : typeof backgroundColor !== \"undefined\" ? backgroundColor : \"\";\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached || this.props.fadeIn === \"soft\";\n var transitionDelay = shouldFadeIn ? durationFadeIn / 2 + \"ms\" : \"none\";\n var divStyle = (0, _extends2.default)({\n position: \"relative\"\n }, style);\n if (!this.props.preserveStackingContext) divStyle.opacity = 0.99;\n var image = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed,\n returnArray: true\n });\n var noScriptImageData = (0, _ImageUtils.getCurrentSrcData)({\n fluid: fluid,\n fixed: fixed\n }) || {};\n\n if (fluid || fixed) {\n if (fixed) {\n divStyle.width = style.width || image.width;\n divStyle.height = style.height || image.height;\n divStyle.display = \"inline-block\";\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n }\n } else if (keepStatic) {\n noScriptImageData.srcSet = '';\n } else {\n return null;\n }\n\n var newImageSettings = (0, _ImageHandling.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n state: this.state\n });\n this.bgImage = newImageSettings.nextImageArray || newImageSettings.nextImage || this.bgImage;\n var pseudoStyles = (0, _StyleCreation.createPseudoStyles)((0, _extends2.default)({\n className: this.state.currentClassNames,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings, {\n originalData: fluid || fixed\n }));\n var noScriptPseudoStyles = (0, _StyleCreation.createNoScriptStyles)({\n image: image,\n bgColor: bgColor,\n className: this.state.currentClassNames,\n backgroundStyles: this.backgroundStyles,\n style: style\n });\n var componentKey = \"\" + (fluid ? \"fluid\" : \"\") + (fixed ? \"fixed\" : \"\") + \"-\" + JSON.stringify(noScriptImageData.srcSet);\n var currentStyles = (0, _extends2.default)({}, this.backgroundStyles, divStyle);\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: this.state.currentClassNames,\n style: currentStyles,\n ref: this.handleRef,\n key: componentKey\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", null, _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: noScriptPseudoStyles\n }\n })), children);\n };\n\n return BackgroundImage;\n}(_react.default.Component);\n\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n durationFadeIn: 500,\n Tag: \"div\",\n preserveStackingContext: false,\n rootMargin: \"200px\",\n keepStatic: false\n};\n\nvar fixedObject = _propTypes.default.shape({\n width: _propTypes.default.number.isRequired,\n height: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n srcAvif: _propTypes.default.string,\n srcSetAvif: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nvar fluidObject = _propTypes.default.shape({\n aspectRatio: _propTypes.default.number.isRequired,\n src: _propTypes.default.string.isRequired,\n srcSet: _propTypes.default.string.isRequired,\n sizes: _propTypes.default.string,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n srcAvif: _propTypes.default.string,\n srcSetAvif: _propTypes.default.string,\n media: _propTypes.default.string\n});\n\nBackgroundImage.propTypes = {\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fixedObject, _propTypes.default.string]))]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject), _propTypes.default.arrayOf(_propTypes.default.oneOfType([fluidObject, _propTypes.default.string]))]),\n fadeIn: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n durationFadeIn: _propTypes.default.number,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n preserveStackingContext: _propTypes.default.bool,\n rootMargin: _propTypes.default.string,\n keepStatic: _propTypes.default.bool\n};\nvar _default = BackgroundImage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.getBackgroundStylesForSingleClass = exports.getStyleRules = exports.getStyleRulesForClassName = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar getStyleRulesForClassName = function getStyleRulesForClassName(className) {\n var styleSheets = (0, _SimpleUtils.isBrowser)() ? window.document.styleSheets : [];\n\n for (var i = 0; i < styleSheets.length; i++) {\n var classes = void 0;\n\n try {\n classes = typeof styleSheets[i].rules !== 'undefined' ? styleSheets[i].rules : typeof styleSheets[i].cssRules !== 'undefined' ? styleSheets[i].cssRules : '';\n } catch (e) {}\n\n if (classes) {\n var foundClass = Array.prototype.slice.call(classes).reduce(function (foundAcc, styleRule) {\n if (styleRule.selectorText === className) {\n foundAcc.push(styleRule);\n }\n\n return foundAcc;\n }, []);\n\n if (foundClass.length) {\n return foundClass;\n }\n }\n }\n\n return [];\n};\n\nexports.getStyleRulesForClassName = getStyleRulesForClassName;\n\nvar getStyleRules = function getStyleRules(cssStyleRules) {\n var styles = {};\n\n if (cssStyleRules.length > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n var constructorName = cssStyleRules[0].style.constructor.name || cssStyleRules[0].style.constructor.toString();\n\n switch (constructorName) {\n case 'CSS2Properties':\n case '[object MSStyleCSSProperties]':\n Object.values(cssStyleRules[0].style).forEach(function (prop) {\n styles[(0, _SimpleUtils.toCamelCase)(prop)] = cssStyleRules[0].style[prop];\n });\n break;\n\n case 'CSSStyleDeclaration':\n styles = cssStyleRules[0].style;\n break;\n\n default:\n console.error('Unknown style object prototype');\n break;\n }\n }\n\n return styles;\n};\n\nexports.getStyleRules = getStyleRules;\n\nvar getBackgroundStylesForSingleClass = function getBackgroundStylesForSingleClass(className) {\n if (className && (0, _SimpleUtils.isString)(className)) {\n var cssStyleRules = getStyleRulesForClassName(\".\" + className);\n\n if ((cssStyleRules === null || cssStyleRules === void 0 ? void 0 : cssStyleRules.length) > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n return Object.keys(getStyleRules(cssStyleRules)).filter(function (key) {\n return key.indexOf('background') === 0 && cssStyleRules[0].style[key] !== '';\n }).reduce(function (newData, key) {\n newData[(0, _SimpleUtils.toCamelCase)(key)] = cssStyleRules[0].style[key];\n return newData;\n }, {});\n }\n }\n\n return {};\n};\n\nexports.getBackgroundStylesForSingleClass = getBackgroundStylesForSingleClass;\n\nvar getBackgroundStyles = function getBackgroundStyles(className) {\n if ((0, _SimpleUtils.isBrowser)()) {\n var classes = (0, _SimpleUtils.stringToArray)(className);\n\n if (classes instanceof Array) {\n var classObjects = [];\n classes.forEach(function (item) {\n return classObjects.push(getBackgroundStylesForSingleClass(item));\n });\n return Object.assign.apply(Object, classObjects);\n }\n\n return getBackgroundStylesForSingleClass(className);\n }\n\n return {};\n};\n\nvar _default = getBackgroundStyles;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetComponentClassCache = exports.activateCacheForComponentClass = exports.inComponentClassCache = void 0;\nvar componentClassCache = Object.create({});\n\nvar inComponentClassCache = function inComponentClassCache(className) {\n return componentClassCache[className] || false;\n};\n\nexports.inComponentClassCache = inComponentClassCache;\n\nvar activateCacheForComponentClass = function activateCacheForComponentClass(className) {\n if (className) {\n componentClassCache[className] = true;\n }\n};\n\nexports.activateCacheForComponentClass = activateCacheForComponentClass;\n\nvar resetComponentClassCache = function resetComponentClassCache() {\n for (var className in componentClassCache) {\n delete componentClassCache[className];\n }\n};\n\nexports.resetComponentClassCache = resetComponentClassCache;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.convertProps = exports.stripRemainingProps = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _filterInvalidDomProps = _interopRequireDefault(require(\"filter-invalid-dom-props\"));\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar stripRemainingProps = function stripRemainingProps(props) {\n return (0, _filterInvalidDomProps.default)(props);\n};\n\nexports.stripRemainingProps = stripRemainingProps;\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var fixed = convertedProps.fixed,\n fluid = convertedProps.fluid;\n\n if (fluid && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fluid')) {\n convertedProps.fluid = (0, _MediaUtils.groupByMedia)(convertedProps.fluid);\n }\n\n if (fixed && (0, _MediaUtils.hasArtDirectionSupport)(props, 'fixed')) {\n convertedProps.fixed = (0, _MediaUtils.groupByMedia)(convertedProps.fixed);\n }\n\n return convertedProps;\n};\n\nexports.convertProps = convertProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetImageCache = exports.activateCacheForMultipleImages = exports.activateCacheForImage = exports.allInImageCache = exports.inImageCache = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return allInImageCache(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if ((0, _SimpleUtils.isObject)(src)) {\n var objectSrc = (0, _ImageUtils.getImageSrcKey)({\n fluid: src,\n fixed: src\n });\n return imageCache[objectSrc] || false;\n }\n\n return imageCache[src] || false;\n};\n\nexports.inImageCache = inImageCache;\n\nvar allInImageCache = function allInImageCache(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n return imageStack.every(function (imageData, index) {\n return inImageCache(convertedProps, index, true);\n });\n};\n\nexports.allInImageCache = allInImageCache;\n\nvar activateCacheForImage = function activateCacheForImage(props, index, isLoop) {\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateCacheForMultipleImages(props);\n }\n\n var src = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getImageSrcKey)(convertedProps);\n\n if (src) {\n if ((0, _SimpleUtils.isObject)(src)) {\n var objectSrc = (0, _ImageUtils.getImageSrcKey)({\n fluid: src,\n fixed: src\n });\n imageCache[objectSrc] = true;\n } else {\n imageCache[src] = true;\n }\n }\n};\n\nexports.activateCacheForImage = activateCacheForImage;\n\nvar activateCacheForMultipleImages = function activateCacheForMultipleImages(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n imageStack.forEach(function (imageData, index) {\n return activateCacheForImage(convertedProps, index, true);\n });\n};\n\nexports.activateCacheForMultipleImages = activateCacheForMultipleImages;\n\nvar resetImageCache = function resetImageCache() {\n for (var prop in imageCache) {\n delete imageCache[prop];\n }\n};\n\nexports.resetImageCache = resetImageCache;","\"use strict\";\n\nexports.__esModule = true;\nexports.switchImageSettings = void 0;\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar switchImageSettings = function switchImageSettings(_ref) {\n var image = _ref.image,\n bgImage = _ref.bgImage,\n imageRef = _ref.imageRef,\n state = _ref.state;\n var currentSources = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\"\n });\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var lastImage = Array.isArray(bgImage) ? (0, _SimpleUtils.filteredJoin)(bgImage) : bgImage;\n var nextImage;\n var nextImageArray;\n var finalImage = returnArray && state.seenBefore && !!currentSources;\n\n if (returnArray) {\n if (!currentSources) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\",\n returnArray: returnArray\n });\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\",\n returnArray: returnArray\n }), nextImage);\n }\n\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n }), nextImage);\n\n if ((state.imgLoaded || !!currentSources) && state.isVisible) {\n if (currentSources) {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"currentSrc\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n } else {\n nextImage = (0, _SimpleUtils.combineArray)((0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n returnArray: returnArray\n }), nextImage);\n finalImage = true;\n }\n }\n\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, bgImage);\n var dummyArray = (0, _ImageUtils.createDummyImageArray)(image.length);\n nextImage = (0, _SimpleUtils.combineArray)(nextImage, dummyArray);\n nextImageArray = nextImage;\n nextImage = (0, _SimpleUtils.filteredJoin)(nextImage);\n } else {\n nextImage = \"\";\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"tracedSVG\"\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"base64\"\n });\n\n if (state.imgLoaded && state.isVisible) {\n nextImage = currentSources;\n finalImage = true;\n }\n }\n\n var afterOpacity = state.imageState % 2;\n\n if (!returnArray && nextImage === \"\" && state.imgLoaded && state.isVisible && imageRef && !imageRef.currentSrc) {\n nextImage = (0, _ImageUtils.getCurrentFromData)({\n data: imageRef,\n propName: \"src\",\n checkLoaded: false\n });\n finalImage = true;\n }\n\n if (!nextImage) nextImage = lastImage;\n var newImageSettings = {\n lastImage: lastImage,\n nextImage: nextImage,\n afterOpacity: afterOpacity,\n finalImage: finalImage\n };\n if (nextImageArray) newImageSettings.nextImageArray = nextImageArray;\n return newImageSettings;\n};\n\nexports.switchImageSettings = switchImageSettings;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageReferenceCompleted = exports.hasPictureRef = exports.hasActivatedPictureRefs = exports.activateMultiplePictureRefs = exports.activatePictureRef = exports.createMultiplePictureRefs = exports.createPictureRef = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar _ImageCache = require(\"./ImageCache\");\n\nvar createPictureRef = function createPictureRef(props, onLoad, index, isLoop) {\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return createMultiplePictureRefs(props, onLoad);\n }\n\n var img = new Image();\n\n img.onload = function () {\n return onLoad();\n };\n\n if (!img.complete && typeof convertedProps.onLoad === \"function\") {\n img.addEventListener('load', convertedProps.onLoad);\n }\n\n if (typeof convertedProps.onError === \"function\") {\n img.addEventListener('error', convertedProps.onError);\n }\n\n if (convertedProps.crossOrigin) {\n img.crossOrigin = convertedProps.crossOrigin;\n }\n\n if ((convertedProps.critical || convertedProps.isVisible) && !isLoop) {\n return activatePictureRef(img, convertedProps, index, isLoop);\n }\n\n return img;\n }\n\n return null;\n};\n\nexports.createPictureRef = createPictureRef;\n\nvar createMultiplePictureRefs = function createMultiplePictureRefs(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n var imageRefs = imageStack.map(function (imageData, index) {\n return createPictureRef(convertedProps, onLoad, index, true);\n });\n\n if (convertedProps.critical || convertedProps.isVisible) {\n return activatePictureRef(imageRefs, convertedProps);\n }\n\n return imageRefs;\n};\n\nexports.createMultiplePictureRefs = createMultiplePictureRefs;\n\nvar activatePictureRef = function activatePictureRef(imageRef, props, selfRef, index, isLoop) {\n if (selfRef === void 0) {\n selfRef = null;\n }\n\n if (index === void 0) {\n index = 0;\n }\n\n if (isLoop === void 0) {\n isLoop = false;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _SimpleUtils.isBrowser)() && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n var isImageStack = (0, _ImageUtils.hasImageArray)(convertedProps) && !(0, _MediaUtils.hasArtDirectionArray)(convertedProps);\n\n if (isImageStack && !isLoop) {\n return activateMultiplePictureRefs(imageRef, props, selfRef);\n }\n\n var bodyClone = document.createElement('body');\n var imageData = isImageStack ? (0, _ImageUtils.getSelectedImage)(convertedProps, index) : (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n if (!imageData) {\n return null;\n }\n\n if ((0, _SimpleUtils.isString)(imageData)) {\n return imageData;\n }\n\n if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n }\n\n if ((0, _ImageUtils.hasPictureElement)()) {\n var pic = document.createElement('picture');\n\n if (selfRef) {\n pic.width = imageRef.width;\n pic.height = imageRef.height;\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)(convertedProps)) {\n var sources = (0, _MediaUtils.createArtDirectionSources)(convertedProps).reverse();\n sources.forEach(function (currentSource) {\n return pic.appendChild(currentSource);\n });\n }\n\n var sourcesAvif = (0, _MediaUtils.createSourceElementForSrcSet)(imageData, 'avif');\n sourcesAvif && pic.appendChild(sourcesAvif);\n var sourcesWebp = (0, _MediaUtils.createSourceElementForSrcSet)(imageData, 'webp');\n sourcesWebp && pic.appendChild(sourcesWebp);\n pic.appendChild(imageRef);\n bodyClone.appendChild(pic);\n }\n\n imageRef.sizes = imageData.sizes || \"\";\n imageRef.srcset = imageData.srcSet || \"\";\n imageRef.src = imageData.src || \"\";\n return imageRef;\n }\n\n return null;\n};\n\nexports.activatePictureRef = activatePictureRef;\n\nvar activateMultiplePictureRefs = function activateMultiplePictureRefs(imageRefs, props, selfRef) {\n return imageRefs.map(function (imageRef, index) {\n return activatePictureRef(imageRef, props, selfRef, index, true);\n });\n};\n\nexports.activateMultiplePictureRefs = activateMultiplePictureRefs;\n\nvar hasActivatedPictureRefs = function hasActivatedPictureRefs(imageRefs) {\n return Array.isArray(imageRefs) ? imageRefs.every(function (imageRef) {\n return hasPictureRef(imageRef);\n }) : hasPictureRef(imageRefs);\n};\n\nexports.hasActivatedPictureRefs = hasActivatedPictureRefs;\n\nvar hasPictureRef = function hasPictureRef(imageRef) {\n return (0, _SimpleUtils.isString)(imageRef) || !!imageRef && !!imageRef.currentSrc;\n};\n\nexports.hasPictureRef = hasPictureRef;\n\nvar imageReferenceCompleted = function imageReferenceCompleted(imageRef, props) {\n return imageRef ? Array.isArray(imageRef) ? imageRef.every(function (singleImageRef) {\n return (0, _ImageUtils.imageLoaded)(singleImageRef);\n }) || (0, _ImageCache.inImageCache)(props) : (0, _ImageUtils.imageLoaded)(imageRef) || (0, _ImageCache.inImageCache)(props) : (0, _SimpleUtils.isString)(imageRef);\n};\n\nexports.imageReferenceCompleted = imageReferenceCompleted;","\"use strict\";\n\nexports.__esModule = true;\nexports.imageLoaded = exports.createDummyImageArray = exports.imageArrayPropsChanged = exports.imagePropsChanged = exports.hasImageUrl = exports.isBase64 = exports.getUrlString = exports.getSelectedImage = exports.getCurrentSrcData = exports.getImageSrcKey = exports.getCurrentFromData = exports.hasImageArray = exports.hasPictureElement = void 0;\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar hasPictureElement = function hasPictureElement() {\n return typeof HTMLPictureElement !== \"undefined\" || (0, _SimpleUtils.isBrowser)();\n};\n\nexports.hasPictureElement = hasPictureElement;\n\nvar hasImageArray = function hasImageArray(props) {\n return Boolean(props.fluid && Array.isArray(props.fluid) || props.fixed && Array.isArray(props.fixed));\n};\n\nexports.hasImageArray = hasImageArray;\n\nvar getCurrentFromData = function getCurrentFromData(_ref) {\n var data = _ref.data,\n propName = _ref.propName,\n _ref$addUrl = _ref.addUrl,\n addUrl = _ref$addUrl === void 0 ? true : _ref$addUrl,\n _ref$returnArray = _ref.returnArray,\n returnArray = _ref$returnArray === void 0 ? false : _ref$returnArray,\n _ref$checkLoaded = _ref.checkLoaded,\n checkLoaded = _ref$checkLoaded === void 0 ? true : _ref$checkLoaded;\n if (!data || !propName) return \"\";\n var tracedSVG = propName === \"tracedSVG\";\n\n if (Array.isArray(data) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n })) {\n var imageString = data.map(function (dataElement) {\n if (propName === \"currentSrc\" || propName === 'src') {\n return checkLoaded ? imageLoaded(dataElement) && dataElement[propName] || \"\" : dataElement[propName];\n }\n\n if (propName === \"CSS_STRING\" && (0, _SimpleUtils.isString)(dataElement)) {\n return dataElement;\n }\n\n return (0, _SimpleUtils.isString)(dataElement) ? dataElement : dataElement && propName in dataElement ? dataElement[propName] : \"\";\n });\n return getUrlString({\n imageString: imageString,\n tracedSVG: tracedSVG,\n addUrl: addUrl,\n returnArray: returnArray\n });\n }\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: data\n }) && (propName === \"currentSrc\" || propName === \"src\" || propName === \"base64\" || tracedSVG)) {\n var currentData = getCurrentSrcData({\n fluid: data\n });\n return propName in currentData ? getUrlString({\n imageString: currentData[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n }\n\n if (typeof data !== 'object') {\n return '';\n }\n\n if ((propName === \"currentSrc\" || propName === 'src') && propName in data) {\n return getUrlString({\n imageString: checkLoaded ? imageLoaded(data) && data[propName] || \"\" : data[propName],\n addUrl: addUrl\n });\n }\n\n return propName in data ? getUrlString({\n imageString: data[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n};\n\nexports.getCurrentFromData = getCurrentFromData;\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = getCurrentSrcData({\n fluid: fluid,\n fixed: fixed\n });\n return data ? data.src || null : null;\n};\n\nexports.getImageSrcKey = getImageSrcKey;\n\nvar getCurrentSrcData = function getCurrentSrcData(_ref3, index) {\n var fluid = _ref3.fluid,\n fixed = _ref3.fixed,\n returnArray = _ref3.returnArray;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n if (returnArray) {\n return currentData;\n }\n\n if ((0, _SimpleUtils.isBrowser)() && (0, _MediaUtils.hasArtDirectionArray)({\n fluid: fluid,\n fixed: fixed\n })) {\n var mediaData = currentData.slice().reverse();\n var foundMedia = mediaData.findIndex(_MediaUtils.matchesMedia);\n\n if (foundMedia !== -1) {\n return mediaData[foundMedia];\n }\n }\n\n return currentData[index];\n }\n\n return currentData;\n};\n\nexports.getCurrentSrcData = getCurrentSrcData;\n\nvar getSelectedImage = function getSelectedImage(_ref4, index) {\n var fluid = _ref4.fluid,\n fixed = _ref4.fixed;\n\n if (index === void 0) {\n index = 0;\n }\n\n var currentData = fluid || fixed;\n\n if (hasImageArray({\n fluid: fluid,\n fixed: fixed\n })) {\n return currentData[index] || currentData[0];\n }\n\n return currentData;\n};\n\nexports.getSelectedImage = getSelectedImage;\n\nvar getUrlString = function getUrlString(_ref5) {\n var imageString = _ref5.imageString,\n _ref5$tracedSVG = _ref5.tracedSVG,\n tracedSVG = _ref5$tracedSVG === void 0 ? false : _ref5$tracedSVG,\n _ref5$addUrl = _ref5.addUrl,\n addUrl = _ref5$addUrl === void 0 ? true : _ref5$addUrl,\n _ref5$returnArray = _ref5.returnArray,\n returnArray = _ref5$returnArray === void 0 ? false : _ref5$returnArray,\n _ref5$hasImageUrls = _ref5.hasImageUrls,\n hasImageUrls = _ref5$hasImageUrls === void 0 ? false : _ref5$hasImageUrls;\n\n if (Array.isArray(imageString)) {\n var stringArray = imageString.map(function (currentString) {\n if (currentString) {\n var _base = isBase64(currentString);\n\n var _imageUrl = hasImageUrls || hasImageUrl(currentString);\n\n var currentReturnString = currentString && tracedSVG ? \"\\\"\" + currentString + \"\\\"\" : currentString && !_base && !tracedSVG && _imageUrl ? \"'\" + currentString + \"'\" : currentString;\n return addUrl && currentString ? \"url(\" + currentReturnString + \")\" : currentReturnString;\n }\n\n return currentString;\n });\n return returnArray ? stringArray : (0, _SimpleUtils.filteredJoin)(stringArray);\n }\n\n var base64 = isBase64(imageString);\n var imageUrl = hasImageUrls || hasImageUrl(imageString);\n var returnString = imageString && tracedSVG ? \"\\\"\" + imageString + \"\\\"\" : imageString && !base64 && !tracedSVG && imageUrl ? \"'\" + imageString + \"'\" : imageString;\n return imageString ? addUrl ? \"url(\" + returnString + \")\" : returnString : \"\";\n};\n\nexports.getUrlString = getUrlString;\n\nvar isBase64 = function isBase64(base64String) {\n return (0, _SimpleUtils.isString)(base64String) && base64String.indexOf(\"base64\") !== -1;\n};\n\nexports.isBase64 = isBase64;\n\nvar hasImageUrl = function hasImageUrl(imageString) {\n return (0, _SimpleUtils.isString)(imageString) && imageString.substr(0, 4) === \"http\";\n};\n\nexports.hasImageUrl = hasImageUrl;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || imageArrayPropsChanged(props, prevProps) || props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src;\n};\n\nexports.imagePropsChanged = imagePropsChanged;\n\nvar imageArrayPropsChanged = function imageArrayPropsChanged(props, prevProps) {\n var isPropsFluidArray = Array.isArray(props.fluid);\n var isPrevPropsFluidArray = Array.isArray(prevProps.fluid);\n var isPropsFixedArray = Array.isArray(props.fixed);\n var isPrevPropsFixedArray = Array.isArray(prevProps.fixed);\n\n if (isPropsFluidArray && !isPrevPropsFluidArray || isPropsFixedArray && !isPrevPropsFixedArray || !isPropsFluidArray && isPrevPropsFluidArray || !isPropsFixedArray && isPrevPropsFixedArray) {\n return true;\n }\n\n if (isPropsFluidArray && isPrevPropsFluidArray) {\n if (props.fluid.length === prevProps.fluid.length) {\n return props.fluid.some(function (image, index) {\n return image.src !== prevProps.fluid[index].src;\n });\n }\n\n return true;\n }\n\n if (isPropsFixedArray && isPrevPropsFixedArray) {\n if (props.fixed.length === prevProps.fixed.length) {\n return props.fixed.some(function (image, index) {\n return image.src !== prevProps.fixed[index].src;\n });\n }\n\n return true;\n }\n};\n\nexports.imageArrayPropsChanged = imageArrayPropsChanged;\n\nvar createDummyImageArray = function createDummyImageArray(length) {\n var DUMMY_IMG = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n var dummyImageURI = getUrlString({\n imageString: DUMMY_IMG\n });\n return Array(length).fill(dummyImageURI);\n};\n\nexports.createDummyImageArray = createDummyImageArray;\n\nvar imageLoaded = function imageLoaded(imageRef) {\n return imageRef ? (0, _SimpleUtils.isString)(imageRef) || imageRef.complete && imageRef.naturalWidth !== 0 && imageRef.naturalHeight !== 0 : false;\n};\n\nexports.imageLoaded = imageLoaded;","\"use strict\";\n\nexports.__esModule = true;\nexports.listenToIntersections = exports.getIO = exports.callbackIO = void 0;\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar io;\nvar listeners = new WeakMap();\n\nvar callbackIO = function callbackIO(entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var callback = listeners.get(entry.target);\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n callback();\n }\n }\n });\n};\n\nexports.callbackIO = callbackIO;\n\nvar getIO = function getIO(rootMargin) {\n if (typeof io === \"undefined\" && (0, _SimpleUtils.isBrowser)() && window.IntersectionObserver) {\n io = new window.IntersectionObserver(callbackIO, {\n rootMargin: rootMargin\n });\n }\n\n return io;\n};\n\nexports.getIO = getIO;\n\nvar listenToIntersections = function listenToIntersections(element, callback, rootMargin) {\n if (rootMargin === void 0) {\n rootMargin = \"200px\";\n }\n\n var observer = getIO(rootMargin);\n\n if (observer) {\n observer.observe(element);\n listeners.set(element, callback);\n return function () {\n observer.unobserve(element);\n listeners.delete(element);\n };\n }\n\n return function () {};\n};\n\nexports.listenToIntersections = listenToIntersections;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.matchesMedia = exports.hasArtDirectionArray = exports.hasArtDirectionSupport = exports.createArtDirectionSources = exports.createSourceElementForSrcSet = exports.groupByMedia = void 0;\n\nvar _sortMediaQueries = _interopRequireDefault(require(\"sort-media-queries\"));\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar groupByMedia = function groupByMedia(imageVariants) {\n var without = [];\n var sortedVariants = (0, _sortMediaQueries.default)(imageVariants, 'media');\n sortedVariants.forEach(function (variant) {\n return !variant.media && without.push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return sortedVariants;\n};\n\nexports.groupByMedia = groupByMedia;\n\nvar createSourceElementForSrcSet = function createSourceElementForSrcSet(image, type) {\n var source = document.createElement('source');\n var srcSetName = \"srcSet\" + (0, _SimpleUtils.capitalize)(type);\n\n if (srcSetName in image) {\n source.type = \"image/\" + type;\n source.srcset = image[srcSetName];\n }\n\n if (image.sizes) {\n source.sizes = image.sizes;\n }\n\n if (image.media) {\n source.media = image.media;\n }\n\n return source.srcset ? source : null;\n};\n\nexports.createSourceElementForSrcSet = createSourceElementForSrcSet;\n\nvar createArtDirectionSources = function createArtDirectionSources(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var currentSource = fluid || fixed;\n return currentSource.reduce(function (sources, image) {\n if (!image.media) {\n return sources;\n }\n\n var sourceWebp = createSourceElementForSrcSet(image, 'webp');\n var sourceAvif = createSourceElementForSrcSet(image, 'avif');\n sourceWebp && sources.push(sourceWebp);\n sourceAvif && sources.push(sourceAvif);\n return sources;\n }, []);\n};\n\nexports.createArtDirectionSources = createArtDirectionSources;\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(props, prop) {\n return props[prop] && Array.isArray(props[prop]) && props[prop].some(function (image) {\n return !!image && typeof image.media !== 'undefined';\n });\n};\n\nexports.hasArtDirectionSupport = hasArtDirectionSupport;\n\nvar hasArtDirectionArray = function hasArtDirectionArray(props) {\n return hasArtDirectionSupport(props, 'fluid') || hasArtDirectionSupport(props, 'fixed');\n};\n\nexports.hasArtDirectionArray = hasArtDirectionArray;\n\nvar matchesMedia = function matchesMedia(_ref2) {\n var media = _ref2.media;\n return media ? (0, _SimpleUtils.isBrowser)() && typeof window.matchMedia !== \"undefined\" && !!window.matchMedia(media).matches : false;\n};\n\nexports.matchesMedia = matchesMedia;","\"use strict\";\n\nexports.__esModule = true;\nexports.combineArray = exports.filteredJoin = exports.hashString = exports.stringToArray = exports.capitalize = exports.toKebabCase = exports.toCamelCase = exports.isObject = exports.isString = exports.isBrowser = void 0;\n\nvar isBrowser = function isBrowser() {\n return typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n};\n\nexports.isBrowser = isBrowser;\n\nvar isString = function isString(value) {\n return Object.prototype.toString.call(value) === '[object String]';\n};\n\nexports.isString = isString;\n\nvar isObject = function isObject(value) {\n return Object.prototype.toString.call(value) === '[object Object]';\n};\n\nexports.isObject = isObject;\n\nvar toCamelCase = function toCamelCase(str) {\n return isString(str) && str.indexOf('-') !== -1 && str.toLowerCase().replace(/(?:^\\w|-|[A-Z]|\\b\\w)/g, function (letter, index) {\n return index === 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s|\\W+/g, '') || str;\n};\n\nexports.toCamelCase = toCamelCase;\n\nvar toKebabCase = function toKebabCase(str) {\n return isString(str) && str.replace(/\\s|\\W+/g, '').replace(/[A-Z]/g, function (match) {\n return \"-\" + match.toLowerCase();\n });\n};\n\nexports.toKebabCase = toKebabCase;\n\nvar capitalize = function capitalize(str) {\n return (str === null || str === void 0 ? void 0 : str.charAt(0).toUpperCase()) + str.slice(1);\n};\n\nexports.capitalize = capitalize;\n\nvar stringToArray = function stringToArray(str, delimiter) {\n if (delimiter === void 0) {\n delimiter = \" \";\n }\n\n if (str instanceof Array) {\n return str;\n }\n\n if (isString(str)) {\n if (str.includes(delimiter)) {\n return str.split(delimiter);\n }\n\n return [str];\n }\n\n return false;\n};\n\nexports.stringToArray = stringToArray;\n\nvar hashString = function hashString(str) {\n return isString(str) && [].reduce.call(str, function (hash, item) {\n hash = (hash << 5) - hash + item.charCodeAt(0);\n return hash | 0;\n }, 0);\n};\n\nexports.hashString = hashString;\n\nvar filteredJoin = function filteredJoin(arrayToJoin) {\n return arrayToJoin.filter(function (item) {\n return item !== \"\";\n }).join();\n};\n\nexports.filteredJoin = filteredJoin;\n\nvar combineArray = function combineArray(fromArray, toArray) {\n if (!Array.isArray(fromArray)) {\n return [fromArray];\n }\n\n return fromArray.map(function (item, index) {\n return item || toArray && toArray[index];\n });\n};\n\nexports.combineArray = combineArray;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createNoScriptStyles = exports.createStyleImage = exports.createPseudoStyles = exports.createPseudoElementMediaQuery = exports.createPseudoElementWithContent = exports.createPseudoElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _StyleUtils = require(\"./StyleUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _MediaUtils = require(\"./MediaUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar createPseudoElement = function createPseudoElement(className, appendix) {\n if (appendix === void 0) {\n appendix = \":before\";\n }\n\n var escapedClassName = (0, _StyleUtils.escapeClassNames)(className);\n var classes = (0, _SimpleUtils.stringToArray)(escapedClassName);\n var pseudoClasses = \"\";\n\n if (Array.isArray(classes)) {\n classes = classes.filter(function (c) {\n return c !== '';\n });\n\n if (classes.length > 0) {\n pseudoClasses = \".\" + classes.join('.') + appendix;\n }\n }\n\n return pseudoClasses;\n};\n\nexports.createPseudoElement = createPseudoElement;\n\nvar createPseudoElementWithContent = function createPseudoElementWithContent(pseudoElementString, imageSource) {\n return \"\\n \" + pseudoElementString + \" {\\n opacity: 1;\\n background-image: \" + imageSource + \";\\n }\";\n};\n\nexports.createPseudoElementWithContent = createPseudoElementWithContent;\n\nvar createPseudoElementMediaQuery = function createPseudoElementMediaQuery(pseudoElementString, media, imageSource, imageSourceWebP) {\n return \"\\n @media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSource) + \"\\n }\\n \" + (imageSourceWebP && \"@media \" + media + \" {\\n \" + createPseudoElementWithContent(pseudoElementString, imageSourceWebP) + \"\\n }\") + \"\\n \";\n};\n\nexports.createPseudoElementMediaQuery = createPseudoElementMediaQuery;\n\nvar createPseudoStyles = function createPseudoStyles(_ref) {\n var className = _ref.className,\n transitionDelay = _ref.transitionDelay,\n lastImage = _ref.lastImage,\n nextImage = _ref.nextImage,\n afterOpacity = _ref.afterOpacity,\n bgColor = _ref.bgColor,\n fadeIn = _ref.fadeIn,\n backgroundStyles = _ref.backgroundStyles,\n style = _ref.style,\n finalImage = _ref.finalImage,\n originalData = _ref.originalData;\n var pseudoBefore = createPseudoElement(className);\n var pseudoAfter = createPseudoElement(className, \":after\");\n var currentBackgroundStyles = (0, _extends2.default)({}, backgroundStyles, style);\n return \"\\n \" + pseudoBefore + \",\\n \" + pseudoAfter + \" {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n \" + (0, _StyleUtils.setTransitionStyles)(transitionDelay, fadeIn) + \"\\n \" + (0, _StyleUtils.kebabifyBackgroundStyles)(currentBackgroundStyles) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + ((!afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n opacity: \" + Number(!afterOpacity) + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + ((afterOpacity || finalImage) && createStyleImage(nextImage, originalData) || \"\") + \"\\n \" + (!afterOpacity && lastImage && createStyleImage(lastImage, originalData) || \"\") + \"\\n \" + (finalImage ? \"opacity: \" + Number(afterOpacity) + \";\" : \"\") + \"\\n }\\n \";\n};\n\nexports.createPseudoStyles = createPseudoStyles;\n\nvar createStyleImage = function createStyleImage(image, originalData) {\n var hasStackedImages = (0, _ImageUtils.hasImageArray)({\n fluid: originalData\n }) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: originalData\n });\n\n if ((0, _SimpleUtils.isBrowser)() || hasStackedImages) {\n return image ? \"background-image: \" + image + \";\" : \"\";\n }\n\n return \"\";\n};\n\nexports.createStyleImage = createStyleImage;\n\nvar createNoScriptStyles = function createNoScriptStyles(_ref2) {\n var className = _ref2.className,\n image = _ref2.image;\n\n if (image) {\n var returnArray = Array.isArray(image) && !(0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n });\n var addUrl = false;\n var allSources = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"src\",\n checkLoaded: false,\n addUrl: addUrl,\n returnArray: returnArray\n });\n var sourcesAsUrl = (0, _ImageUtils.getUrlString)({\n imageString: allSources,\n hasImageUrls: true,\n returnArray: returnArray\n });\n var sourcesAsUrlWithCSS = \"\";\n\n if (returnArray) {\n var cssStrings = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n });\n sourcesAsUrlWithCSS = (0, _SimpleUtils.filteredJoin)((0, _SimpleUtils.combineArray)(sourcesAsUrl, cssStrings));\n }\n\n var pseudoBefore = createPseudoElement(className);\n\n if ((0, _MediaUtils.hasArtDirectionArray)({\n fluid: image\n })) {\n return image.map(function (currentMedia) {\n var sourceString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.src\n });\n var webPString = (0, _ImageUtils.getUrlString)({\n imageString: currentMedia.srcWebp || \"\"\n });\n\n if (currentMedia.media) {\n return createPseudoElementMediaQuery(pseudoBefore, currentMedia.media, sourceString, webPString);\n }\n\n return createPseudoElementMediaQuery(pseudoBefore, 'screen', sourceString, webPString);\n }).join('');\n }\n\n return createPseudoElementWithContent(pseudoBefore, sourcesAsUrlWithCSS || sourcesAsUrl);\n }\n\n return \"\";\n};\n\nexports.createNoScriptStyles = createNoScriptStyles;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.presetBackgroundStyles = exports.fixOpacity = exports.setTransitionStyles = exports.kebabifyBackgroundStyles = exports.escapeClassNames = exports.fixClassName = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _shortUuid = _interopRequireDefault(require(\"short-uuid\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ClassCache = require(\"./ClassCache\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _SimpleUtils = require(\"./SimpleUtils\");\n\nvar fixClassName = function fixClassName(_ref) {\n var className = _ref.className,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"className\"]);\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var elementExists = (0, _ClassCache.inComponentClassCache)(className);\n var imageData = (0, _ImageUtils.getCurrentSrcData)(convertedProps);\n\n var additionalClassname = _shortUuid.default.generate();\n\n var randomClass = \" gbi-\" + (0, _SimpleUtils.hashString)(imageData && imageData.srcSet || className || \"noclass\") + \"-\" + additionalClassname;\n var additionalClass = elementExists || !className ? randomClass : \"\";\n var componentClassNames = (\"\" + (className || \"\") + (additionalClass || \"\")).trim();\n if (!elementExists) (0, _ClassCache.activateCacheForComponentClass)(className);\n return [componentClassNames];\n};\n\nexports.fixClassName = fixClassName;\n\nvar escapeClassNames = function escapeClassNames(classNames) {\n if (classNames) {\n var specialChars = (0, _SimpleUtils.isBrowser)() && window._gbiSpecialChars ? window._gbiSpecialChars : typeof __GBI_SPECIAL_CHARS__ !== \"undefined\" ? __GBI_SPECIAL_CHARS__ : ':/';\n var specialCharRegEx = new RegExp(\"[\" + specialChars + \"]\", 'g');\n return classNames.replace(specialCharRegEx, '\\\\$&');\n }\n\n return classNames;\n};\n\nexports.escapeClassNames = escapeClassNames;\n\nvar kebabifyBackgroundStyles = function kebabifyBackgroundStyles(styles) {\n if ((0, _SimpleUtils.isString)(styles)) {\n return styles;\n }\n\n if (styles instanceof Object) {\n return Object.keys(styles).filter(function (key) {\n return key.indexOf('background') === 0 && styles[key] !== '';\n }).reduce(function (resultingStyles, key) {\n return \"\" + resultingStyles + (0, _SimpleUtils.toKebabCase)(key) + \": \" + styles[key] + \";\\n\";\n }, \"\");\n }\n\n return \"\";\n};\n\nexports.kebabifyBackgroundStyles = kebabifyBackgroundStyles;\n\nvar setTransitionStyles = function setTransitionStyles(transitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n return fadeIn ? \"transition: opacity 0.5s ease \" + transitionDelay + \";\" : \"transition: none;\";\n};\n\nexports.setTransitionStyles = setTransitionStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2.default)({}, props);\n\n if (!styledProps.preserveStackingContext) {\n try {\n if (styledProps.style && styledProps.style.opacity) {\n if (isNaN(styledProps.style.opacity) || styledProps.style.opacity > 0.99) {\n styledProps.style.opacity = 0.99;\n }\n }\n } catch (e) {}\n }\n\n return styledProps;\n};\n\nexports.fixOpacity = fixOpacity;\n\nvar presetBackgroundStyles = function presetBackgroundStyles(backgroundStyles) {\n var defaultBackgroundStyles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\"\n };\n return (0, _extends2.default)({}, defaultBackgroundStyles, backgroundStyles);\n};\n\nexports.presetBackgroundStyles = presetBackgroundStyles;","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport \"./_article.scss\"\n\nconst Article = ({ article, variant }) => {\n const { blog_categories, publishedAt, title, slug } = article\n\n const category =\n blog_categories[0] !== undefined && blog_categories[0] !== null ? (\n <p>{blog_categories[0]}</p>\n ) : null\n return (\n <>\n <div className={`article article__${variant}`}>\n <div className={`article__${variant}__categoria`}>{category}</div>\n <h3 className={`article__${variant}__titulo`}>\n <Link to={`/identidad21/${slug}`}>{title}</Link>\n </h3>\n <p className={`article__${variant}__fecha`}>{publishedAt}</p>\n </div>\n </>\n )\n}\n\nexport default Article\n","import React from \"react\"\nimport { useBlogArticles } from \"../../hooks\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { Article, Button } from \"../index\"\nimport \"./_blogSection.scss\"\n\nconst BlogSection = ({ blog, latest, theme, title, anchor }) => {\n const data = useBlogArticles()\n const blogArticle = data?.allStrapiBlogArticles?.nodes\n\n const customArticle = blog.map(article =>\n blogArticle?.find(art => art.strapiId === article.id)\n )\n\n const destacado = latest ? (\n <Article\n key={blogArticle[0]?.id}\n article={blogArticle[0]}\n variant={\"destacado\"}\n />\n ) : (\n <Article\n key={customArticle[0].id}\n article={customArticle[0]}\n variant={\"destacado\"}\n />\n )\n\n const latestArticles =\n blogArticle.length > 1 ? (\n <div className={`col-12 col-md-6 blogSection__articles `}>\n {blogArticle\n .map(article => (\n <Article key={article.id} article={article} variant={\"info\"} />\n ))\n .slice(1, 4)}\n </div>\n ) : null\n\n const customArticles =\n blog.length > 1 ? (\n <div className={`col-12 col-md-6 blogSection__articles `}>\n {customArticle\n .map(article => (\n <Article key={article.id} article={article} variant={\"info\"} />\n ))\n .slice(1, 4)}\n </div>\n ) : null\n\n const articles = latest ? latestArticles : customArticles\n\n const image = latest ? blogArticle[0].blogImage : customArticle[0].blogImage\n\n const colVariant =\n (!latest && blog.length === 1) || (latest && blogArticle.length === 1)\n ? \"col-md-9\"\n : \"col-md-6\"\n\n const buttonVariant = theme === \"dark\" ? \"button-light\" : \"button-green\"\n\n return (\n <div id={`${anchor}`} className={`${theme}-theme`}>\n <div className={`container blogSection `}>\n <div className=\"row\">\n <h2 className=\"col-12 text-center\">{title}</h2>\n </div>\n <div className={`row justify-content-center `}>\n <div className={`col-12 ${colVariant} `} id={`blog-img-container`}>\n <div className={`blogSection__bgImage`}>\n {image.nameImage?.url ? (\n <img src={image.nameImage.url} alt={image.alt} />\n ) : (\n <StaticImage\n src=\"../../images/logo-siglo.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"no-image\"\n className={`card-bgImage-blog default`}\n />\n )}\n\n {destacado}\n </div>\n </div>\n {articles}\n </div>\n <div className=\"row justify-content-center py-5\">\n <Button\n content={\"Ver más\"}\n path={`/identidad21`}\n variant={buttonVariant}\n />\n </div>\n </div>\n </div>\n )\n}\n\nexport default BlogSection\n","import React from \"react\"\nimport { Link } from \"gatsby\"\n// import { getImage } from \"gatsby-plugin-image\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { FaChevronRight } from \"@react-icons/all-files/fa/FaChevronRight\"\nimport \"./_card.scss\"\n\nconst Card = ({ article, variant }) => {\n const link = variant === \"event\" ? \"artÃculo\" : \"noticia\"\n const image = variant === \"event\" ? article?.blogImage : article?.newsImage\n return (\n <div className=\"BgImage__Card\">\n {image?.nameImage?.url ? (\n <img\n src={image.nameImage.url}\n alt={image.alt}\n className=\"BgImage__Card--img\"\n />\n ) : (\n <StaticImage\n src=\"../../images/logo-siglo.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"no-image\"\n className=\"BgImage__Card--img\"\n />\n )}\n <div className=\"Card\">\n <div className=\"Card__item\">\n <div className=\"Card__body\">\n {variant === \"event\" ? (\n <p className=\"Card__date\">{article.publishedAt}</p>\n ) : (\n <p className=\"Card__date\">{article.published_at}</p>\n )}\n <p className=\"Card__title\">{article.title}</p>\n <p className=\"Card__description\">{article.description}</p>\n </div>\n\n <Link to={article.slug} className=\"Card__link\">\n Leer {link}\n <FaChevronRight color=\"#00806e\" />\n </Link>\n </div>\n </div>\n </div>\n )\n}\n\nexport default Card\n","import * as React from \"react\"\nimport { Link } from \"gatsby\"\nimport \"./_button.scss\"\n\nconst Button = props => {\n const { content, variant, path, icon, icon2, extPath } = props\n\n let button\n\n if (content.startsWith(\"http\") || content.startsWith(\"/static/\")){\n button = <img src={content} alt={`${content}`} className={variant} />\n } else if (extPath) {\n button = (\n <a href={extPath} style={{ textDecoration: 'none' }} target=\"_blank\" rel=\"noreferrer\" className={`${variant}`}>\n {content}\n </a>\n )\n } else {\n button = (\n <Link to={path} style={{ textDecoration: 'none' }}>\n <button className={`${variant}`}>\n {/* Si se coloca un Ãcono, darle margen izquierdo o derecho con style-inline */}\n {icon}\n {content}\n {icon2}\n </button>\n </Link>\n )}\n\n return button\n}\n\nexport default Button\n","import * as React from \"react\"\n\nconst LoadButton = ({ content, variant, click, disabled }) => {\n const button = disabled ? (\n <button className={`button-disabled`}>{content}</button>\n ) : (\n <button className={`${variant}`} onClick={click}>\n {/* Si se coloca un Ãcono, darle margen izquierdo o derecho con style-inline */}\n {content}\n </button>\n )\n\n return button\n}\n\nexport default LoadButton\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { SocialMediaIcons } from \"../index\"\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\"\nimport \"./_footer.scss\"\nimport { useFooter } from \"../../hooks\"\nimport { LinksBlock, ImagesBlock, ContactsBlock } from \"../\"\n\nconst Footer = () => {\n const footer = useFooter()\n\n const { logo, blocks, socialMediaIcons } = footer?.allStrapiFooter?.nodes[0]\n\n const image = getImage(logo?.nameImage)\n\n const iconLinks = socialMediaIcons?.iconLinks\n const socialMediaTitle = socialMediaIcons?.title\n\n const block = blocks\n .map(block => {\n return (\n <React.Fragment key={`${block?.id}-${block?.type}`}>\n {block?.type === \"linksBlock\" ? (\n <LinksBlock\n titleLink={block?.titleLink}\n externalLinks={block?.links?.externalLinks}\n internalLinks={block?.links?.internalLinks}\n />\n ) : null}\n\n {block?.type === \"contactsBlock\" ? (\n <ContactsBlock\n title={block?.title}\n contacts={block?.contacts}\n iconsContacts={block?.iconsContacts}\n />\n ) : null}\n\n {block?.type === \"imagesBlock\" ? (\n <ImagesBlock title={block?.title} images={block?.images} />\n ) : null}\n </React.Fragment>\n )\n })\n .slice(0, 6)\n\n return (\n <footer className=\"footer\">\n <div className=\"container\">\n <Link to=\"/\">\n <GatsbyImage\n alt={logo?.alt}\n image={image}\n className=\"footer__container__logo\"\n />\n </Link>\n\n <div className=\"footer__main\">{block}</div>\n </div>\n {socialMediaIcons && (\n <SocialMediaIcons message={socialMediaTitle} iconLinks={iconLinks} />\n )}\n </footer>\n )\n}\n\nexport default Footer\n","import React, { useState } from \"react\"\nimport { Link } from \"gatsby\"\nimport {\n useAttendanceModes,\n useCareerStudyClass,\n usePages,\n useProgramTypes,\n useCareers,\n} from \"../../../hooks\"\nimport { Icon, OneInternalLink } from \"../..\"\n\nconst DropdownMenu = ({\n submenuItem,\n active,\n section,\n handleLocation,\n handleMenuShown,\n pageExist,\n}) => {\n const [isShown, setIsShown] = useState(false)\n const pages = usePages()\n const careers = useCareers()\n let childs = false\n const activeClass = isShown ? \"active\" : \"\"\n const dataProgramTypes = useProgramTypes()\n const dataCareerStudyClass = useCareerStudyClass()\n const dataAttendaceModes = useAttendanceModes()\n\n if (\n (submenuItem.level2 !== null && submenuItem.level2 !== undefined) ||\n submenuItem.name === \"Tipo de programa\" ||\n submenuItem.name === \"Programas y Carreras\" ||\n submenuItem.name === \"Modalidades\"\n ) {\n childs = true\n } else {\n childs = false\n }\n\n const handleType = (value, id) => {\n handleLocation(value, id)\n handleMenuShown()\n }\n\n const programTypes = dataProgramTypes?.allStrapiStudyClasses?.nodes.map(\n type => {\n return (\n <li key={type.id}>\n {handleLocation !== null && handleLocation !== undefined ? (\n <button className onClick={() => handleType(type.name, 1)}>\n <p>{type.name}</p>\n </button>\n ) : (\n <Link\n to={\"/oferta-academica-filtro/\"}\n state={{ id: 1, value: type.name }}\n >\n <p>{type.name}</p>\n </Link>\n )}\n </li>\n )\n }\n )\n const careerStudyClasses = dataCareerStudyClass?.allStrapiCareerStudyClasses?.nodes.map(\n type => {\n return (\n <li key={type.id}>\n {handleLocation !== null && handleLocation !== undefined ? (\n <button\n className\n onClick={() => {\n handleType(type.name, 4)\n }}\n >\n <p>{type.name}</p>\n </button>\n ) : (\n <Link\n to={\"/oferta-academica-filtro/\"}\n state={{ id: 4, value: type.name }}\n >\n <p>{type.name}</p>\n </Link>\n )}\n </li>\n )\n }\n )\n const attendaceModes = dataAttendaceModes?.allStrapiAttendanceModes?.nodes.map(\n type => {\n return (\n <li key={type.id}>\n {handleLocation !== null && handleLocation !== undefined ? (\n <button\n className\n onClick={() => {\n handleType(type.name, 2)\n }}\n >\n <p>{type.name}</p>\n </button>\n ) : (\n <Link\n to={\"/oferta-academica-filtro/\"}\n state={{ id: 2, value: type.name }}\n >\n <p>{type.name}</p>\n </Link>\n )}\n </li>\n )\n }\n )\n\n const submenuPagesL2 = pages?.allStrapiPages?.nodes.map(submenuL2Item => {\n if (submenuL2Item?.strapiParent?.id === submenuItem.id && pageExist) {\n childs = true\n return (\n <li key={submenuL2Item.id}>\n <Link to={`/${section}/${submenuItem.slug}/${submenuL2Item.slug}`}>\n <p>{submenuL2Item.name}</p>\n </Link>\n </li>\n )\n } else {\n return null\n }\n })\n\n const submenuL2external = submenuItem.level2?.externalLinks.map(\n externalLink => {\n return (\n <li key={externalLink.id}>\n <a href={externalLink.url} target=\"_blank\" rel=\"noreferrer\">\n <p>{externalLink.name}</p>\n </a>\n </li>\n )\n }\n )\n const submenuL2internal = submenuItem.level2?.internalLinks.map(\n internalLink => {\n return (\n <li>\n <OneInternalLink\n internalLink={internalLink}\n variant={\"menu\"}\n ></OneInternalLink>\n </li>\n )\n }\n )\n\n let customLink = \"\"\n if (\n submenuItem.level1external !== null &&\n submenuItem.level1external !== undefined\n ) {\n customLink = (\n <a\n className=\"submenuLink\"\n href={submenuItem.level1external.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <p>{submenuItem.level1external.name}</p>\n {childs && (\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n )}\n </a>\n )\n } else if (\n submenuItem.level1internal !== null &&\n submenuItem.level1internal !== undefined\n ) {\n if (\n submenuItem.level1internal.singlePage !== null &&\n submenuItem.level1internal.singlePage !== undefined\n ) {\n customLink = (\n <Link\n className=\"submenuLink\"\n to={`/${submenuItem.level1internal.singlePage.replace(/_/g, \"-\")}`}\n >\n <p>{submenuItem.level1internal.name}</p>\n {childs && (\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n )}\n </Link>\n )\n } else if (\n submenuItem.level1internal.page !== null &&\n submenuItem.level1internal.page !== undefined\n ) {\n customLink = pages?.allStrapiPages?.nodes.map(page => {\n if (page.strapiId === submenuItem.level1internal.page.id) {\n const slugSection =\n page.menuSection !== null ? `/${page.menuSection.slug}` : \"\"\n const slugParent =\n page.strapiParent !== null ? `/${page.strapiParent.slug}` : \"\"\n return (\n <Link\n key={page.id}\n className=\"submenuLink\"\n to={`${slugSection}${slugParent}/${submenuItem.level1internal?.page?.slug}`}\n >\n <p>{submenuItem.level1internal.name}</p>\n {childs && (\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n )}\n </Link>\n )\n }\n return null\n })\n } else if (\n submenuItem.level1internal.career !== null &&\n submenuItem.level1internal.career !== undefined\n ) {\n for(let career of careers.allStrapiCareers.nodes){\n if (submenuItem.level1internal.career.id === career.strapiId) {\n customLink = \n <Link\n className=\"submenuLink\"\n to={`/oferta-academica/${submenuItem.level1internal.career.slug}`}\n >\n <p>{submenuItem.level1internal.name}</p>\n {childs && (\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n )}\n </Link>\n break\n }else{\n customLink = null\n }\n }\n\n } else {\n customLink = (\n <div className=\"submenuLink\">\n <p>{submenuItem.level1internal.name}</p>\n {childs && (\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n )}\n </div>\n )\n }\n } else {\n customLink = (\n <Link className=\"submenuLink\" to={`/${section}/${submenuItem.slug}`}>\n <p>{submenuItem.name}</p>\n {childs && (\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n )}\n </Link>\n )\n }\n \n return (\n <>\n {customLink !== null ? (\n <>\n <li>\n <div\n role=\"button\"\n tabIndex=\"0\"\n className=\"subListItem\"\n onMouseEnter={() => setIsShown(active ? isShown : true)}\n onMouseLeave={() => setIsShown(active ? isShown : false)}\n >\n {customLink}\n {childs && (\n <button\n className={`dropdown d-lg-none ${active && isShown}`}\n onClick={() => setIsShown(!isShown && active)}\n >\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </button>\n )}\n </div>\n </li>\n\n <div\n role=\"button\"\n tabIndex=\"0\"\n onMouseEnter={() => setIsShown(active ? isShown : true)}\n onMouseLeave={() => setIsShown(active ? isShown : false)}\n className={`submenu__level2 ${activeClass}`}\n aria-labelledby={submenuItem?.id}\n >\n {isShown && childs && (\n <ul>\n {submenuItem.name === \"Tipo de programa\" && programTypes}\n {submenuItem.name === \"Programas y Carreras\" &&\n careerStudyClasses}\n {submenuItem.name === \"Modalidades\" && attendaceModes}\n {submenuPagesL2}\n {submenuItem.level2 !== null &&\n submenuItem.level2 !== undefined &&\n submenuL2external}\n {submenuItem.level2 !== null &&\n submenuItem.level2 !== undefined &&\n submenuL2internal}\n </ul>\n )}\n </div>\n </>\n ) : null}\n </>\n )\n}\nexport default DropdownMenu\n","var dataAcademicOffer = [\n {\n id: 0,\n name: \"Tipo de programa\",\n menuSection: {},\n slug: '#',\n parent: null\n },\n {\n id: 1,\n name: \"Programas y Carreras\",\n slug: '#',\n parent: null\n },\n {\n id: 2,\n name: \"Modalidades\",\n slug: '#',\n parent: null\n },\n\n]\n\nexport default dataAcademicOffer\n","import React, { useState } from \"react\"\nimport { Link } from \"gatsby\"\nimport DropdownMenu from \"./dropdown.component\"\nimport { Icon } from \"../..\"\nimport dataAcademicOffer from \"../academicOfferMenuData\"\n\nconst Menu = ({ section, active, handleLocation, handleOverlay }) => {\n const [isShown, setIsShown] = useState(false)\n const rotate = active && isShown ? \"rotate\" : \"\"\n let childs = false\n\n const handleMenuShown = () => {\n setIsShown(false)\n handleOverlay()\n }\n\n const academicOffer = dataAcademicOffer?.map(submenuItem => {\n if (submenuItem?.parent === null) {\n childs = true\n return (\n <DropdownMenu\n key={submenuItem?.id}\n submenuItem={submenuItem}\n section={section.slug}\n active={active}\n handleLocation={handleLocation}\n handleMenuShown={handleMenuShown}\n />\n )\n } else {\n return null\n }\n })\n const submenuPages = section?.pages.map(submenuItem => {\n if (submenuItem?.parent === null) {\n childs = true\n return (\n <DropdownMenu\n key={submenuItem?.strapiId}\n submenuItem={submenuItem}\n section={section.slug}\n active={active}\n pageExist={true}\n />\n )\n } else {\n return null\n }\n })\n const submenuLevel1 = section?.submenu.map(submenuItem => {\n if (\n submenuItem?.level1external !== null &&\n submenuItem?.level1external !== undefined\n ) {\n childs = true\n return (\n <DropdownMenu\n key={submenuItem?.level1external.id}\n submenuItem={submenuItem}\n section={section.slug}\n active={active}\n />\n )\n } else {\n return (\n <DropdownMenu\n key={submenuItem?.level1internal.id}\n submenuItem={submenuItem}\n section={section.slug}\n active={active}\n />\n )\n }\n })\n\n return (\n <li>\n <div\n role=\"button\"\n tabIndex=\"0\"\n className=\"listItem\"\n onMouseEnter={() => setIsShown(active ? isShown : true)}\n onMouseLeave={() => setIsShown(active ? isShown : false)}\n >\n {section.link ? (\n <Link to={`/${section.slug}`}>\n {section.nameSection}\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div>\n </Link>\n ) : (\n <>\n <p>{section.nameSection}\n <div className=\"dropdown d-none d-lg-block\">\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </div> \n </p>\n </>\n )}\n {childs && (\n <button\n className={`dropdown d-lg-none ${rotate}`}\n onClick={() => setIsShown(!isShown && active)}\n >\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </button>\n )}\n\n {isShown && (\n <>\n <div className=\"submenu\">\n <div className=\"container px-0\">\n <div className=\"submenu__level1\">\n <ul>\n {section.slug === \"oferta-academica\" && academicOffer}\n {section.submenu.length > 0 && submenuLevel1}\n {submenuPages}\n </ul>\n </div>\n <div className=\"m-auto image-block\">\n <div\n className=\"submenu__image\"\n style={{\n backgroundImage: `url(\"${section.imageSection.publicURL}\")`,\n }}\n >\n <div className=\"submenu__image--shadow\"></div>\n <div className=\"submenu__image--text\">\n <h5>{section.titleImageSection}</h5>\n <p>{section.descriptionImage}</p>\n <Link to={`/${section.linkImage}`}>\n {section.nameLinkImage}\n </Link>\n </div>\n </div>\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n </li>\n )\n}\nexport default Menu\n","import React from 'react'\nimport { Link } from \"gatsby\"\nimport { Icon } from \"../\"\n\nconst ExternalServiceLink = ({\n name,\n theme,\n externalLink,\n internalLink,\n internalLinkRoute,\n image,\n icon\n}) => {\n\n return (\n <div className=\"col-12 col-lg-4 mb-3\">\n {internalLink && (\n <Link\n to={internalLinkRoute} \n className={`button login-${theme}`} \n style={{\n backgroundImage: `url(\"${image?.publicURL}\")`,\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"137px 70px\",\n backgroundPosition: \"90% 0px\",\n display: \"flex\",\n justifyContent: \"flex-start\"\n }}>\n {icon && (\n <div>\n <Icon type={icon.type} code={icon.code} />\n </div>\n )}\n <div>\n {name}\n </div>\n </Link> \n )}\n {externalLink && (\n <a \n href={externalLink?.url} \n target=\"_blank\"\n rel=\"noreferrer\"\n className={`button login-${theme}`} \n style={{\n backgroundImage: `url(\"${image?.publicURL}\")`,\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"137px 70px\",\n backgroundPosition: \"90% 0px\",\n display: \"flex\",\n justifyContent: \"flex-start\"\n }}>\n {icon && (\n <div>\n <Icon type={icon.type} code={icon.code} />\n </div>\n )}\n <div>\n {name}\n </div>\n </a>\n )}\n \n </div>\n )\n}\n\nexport default ExternalServiceLink\n","import React from \"react\"\nimport { useExternalServiceLinks, usePages } from \"../../hooks\"\nimport ExternalServiceLink from \"./externalServiceLink.component\"\n\nconst ExternalServices = () => {\n const data = useExternalServiceLinks()\n const pages = usePages()\n \n const links = data?.allStrapiExternalServiceLinks?.nodes.map(link => {\n let internalRoute = null\n if (link.internalLink !== null) {\n pages?.allStrapiPages?.nodes.map((page) => {\n if (page.strapiId === link.internalLink.page.id) {\n const slugSection =\n page.menuSection !== null ? `/${page.menuSection.slug}` : \"\"\n const slugParent =\n page.strapiParent !== null ? `/${page.strapiParent.slug}` : \"\" \n internalRoute = `${slugSection}${slugParent}/${link?.internalLink?.page?.slug}`\n }\n return internalRoute\n })\n }\n return (\n <ExternalServiceLink\n key={link?.id}\n image={link?.image}\n icon={link?.icon}\n name={link?.name}\n theme={link?.theme}\n externalLink={link?.externalLink}\n internalLink={link?.internalLink}\n internalLinkRoute = {internalRoute}\n />\n )})\n\n return (\n <div className=\"login\">\n <div className=\"container px-0 py-5\">{links}</div>\n </div>\n )\n}\nexport default ExternalServices\n","import React from \"react\"\nimport { useGlobalConfig } from \"../../hooks\"\nimport { SearchCareer } from \"../\"\n\nconst EnrollForm = () => {\n const data = useGlobalConfig()\n const dataform = data.allStrapiGlobalConfig.nodes\n\n // const formComponent =\n // dataform[0]?.formHeader !== null &&\n // dataform[0]?.formHeader !== undefined ? (\n // <ContactForm\n // form={dataform[0]?.formHeader}\n // theme={'dark'}\n // title={dataform[0]?.formHeader.Name}\n\n // />\n // ) : null\n\n\n\n const formComponent =\n dataform[0].searchCareerHeader !== null &&\n dataform[0].searchCareerHeader !== undefined &&\n dataform[0].searchCareerHeader.fields?.enable &&\n dataform[0].searchCareerHeader.type === \"searchCareer\" ?\n (\n <SearchCareer\n title={dataform[0].searchCareerHeader.fields?.title}\n theme={'dark'}\n //theme={dataform[0].searchCareerHeader.fields?.theme}\n anchor={dataform[0].searchCareerHeader.fields?.enable}\n />\n ) : null\n\n return (\n <>\n <div className=\"enroll-form\">\n {formComponent}\n {/* <div>{formComponent}</div> */}\n </div>\n </>\n )\n}\nexport default EnrollForm\n","import React, { useState, useEffect } from \"react\"\nimport \"./_header.scss\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { useMenuSections } from \"../../hooks\"\nimport Menu from \"./Navbar/menu.component\"\nimport ExternalServices from \"./externalServices.component\"\nimport EnrollForm from \"./enroll.component\"\nimport { useWindowSize } from \"../../hooks/\"\nimport { Icon } from \"..\"\n\nconst Header = ({ handleScroll, active, handleLocation }) => {\n const dimensions = useWindowSize()\n const [isLoginShown, setIsLoginShown] = useState(false)\n const [isEnrollShown, setIsEnrollShown] = useState(false)\n const [isMenuShown, setIsMenuShown] = useState(false)\n const [isActive, setIsActive] = useState(active)\n const menu = useMenuSections()\n const menuList = menu.allStrapiMenuSections.nodes\n\n useEffect(() => {\n setIsActive(false)\n handleScroll(false)\n }, [dimensions]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const rotateLogin = isLoginShown ? \"rotate\" : \"\"\n const rotateEnroll = isEnrollShown ? \"rotate\" : \"\"\n const activeMenu = active ? \"active\" : \"\"\n const enroll = isEnrollShown && (\n <div\n role=\"button\"\n tabIndex=\"0\"\n onMouseLeave={() => setIsEnrollShown(false)}\n >\n <EnrollForm />\n </div>\n )\n const login = isLoginShown && (\n <div role=\"button\" tabIndex=\"0\" onMouseLeave={() => setIsLoginShown(false)}>\n <ExternalServices />\n </div>\n )\n const overlayActive = () => {\n return isLoginShown || isEnrollShown || isMenuShown\n }\n const activeTrue = () => {\n handleScroll(true)\n }\n const activeFalse = () => {\n handleScroll(false)\n }\n\n const handleOverlay = () => {\n setIsMenuShown(false)\n active = false\n activeFalse()\n }\n const overlay = overlayActive() && !isActive && (\n <div className=\"overlay-header\"></div>\n )\n // const overlayHeader = isActive && <div className=\"overlay-header\"></div>\n const closeMenu = active && (\n <div>\n <div\n role=\"button\"\n tabIndex=\"0\"\n aria-labelledby=\"close\"\n className=\"overlay-sidebar d-lg-none\"\n onClick={activeFalse}\n onKeyDown={activeFalse}\n ></div>\n <button id=\"close\" className=\"navbar__close\" onClick={activeFalse}>\n <Icon type={\"fas\"} code={\"times\"} />\n </button>\n </div>\n )\n\n const menuSections = menuList.map((section, index) => (\n <Menu\n key={index}\n section={section}\n active={active}\n handleLocation={handleLocation}\n handleOverlay={handleOverlay}\n />\n ))\n\n return (\n <header className=\"header\" id=\"top\">\n {overlay}\n <nav className=\"navbar\">\n <div className=\"container px-3 px-md-0\">\n <button className=\"navbar__button\" onClick={activeTrue}>\n <Icon type={\"fas\"} code={\"bars\"} />\n </button>\n <div className=\"navbar__brand\">\n <a className=\"\" href=\"/\">\n <StaticImage\n src=\"../../images/logo-siglo.png\"\n width={112}\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"siteTitle\"\n />\n </a>\n </div>\n {/* {overlayHeader} */}\n {closeMenu}\n <div\n role=\"button\"\n tabIndex=\"0\"\n className={`navbar__menu ${activeMenu}`}\n onMouseEnter={() => {\n setIsLoginShown(false)\n setIsEnrollShown(false)\n setIsMenuShown(true)\n }}\n onMouseLeave={() => setIsMenuShown(false)}\n >\n <ul>{menuSections}</ul>\n </div>\n <div className=\"navbar__buttons\">\n <button\n onClick={() => {\n setIsLoginShown(!isLoginShown)\n setIsEnrollShown(false)\n }}\n className={`button-green ${rotateLogin}`}\n >\n <Icon type={\"far\"} code={\"user\"} />\n <p>Soy Estudiante</p>\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </button>\n {login}\n <button\n onClick={() => {\n setIsEnrollShown(!isEnrollShown)\n setIsLoginShown(false)\n }}\n className={`button button-green ${rotateEnroll}`}\n >\n <Icon type={\"fas\"} code={\"search\"} />\n <p>Buscá tu Carrera</p>\n\n <Icon type={\"fas\"} code={\"angle-down\"} />\n </button>\n {enroll}\n <a\n href=\"https://www.21.edu.ar/oferta-academica\"\n className=\"button-yellow button-yellow-menu\"\n >\n <Icon type={\"fas\"} code={\"shopping-cart\"} />\n <p>Inscribite Ahora</p>\n </a>\n </div>\n </div>\n </nav>\n </header>\n )\n}\nexport default Header\n","import React from \"react\";\nimport { Seo, CustomSection, Banner, SubMenu, BotIframe} from \"../index\";\nimport { useHome } from \"../../hooks\";\n\nconst HomePage = () => {\n const data = useHome();\n const pageInfo = data?.allStrapiHome?.nodes[0];\n const sections = data?.allStrapiHome?.nodes[0]?.sections;\n const bannerItems = data?.allStrapiHome?.nodes[0]?.banner?.banner_items;\n const titleShort = data?.allStrapiHome?.nodes[0]?.titleHome?.title;\n const titleLong = data?.allStrapiHome?.nodes[0]?.titleHome?.detail;\n const subMenu = (\n <SubMenu\n titleShort={titleShort}\n titleLong={titleLong}\n sections={sections}\n />\n );\n\n let SEO = \"\";\n\n if (\n pageInfo?.homeSeo !== null &&\n pageInfo?.homeSeo !== undefined &&\n pageInfo?.homeSeo.pageTitle !== null\n ) {\n const { description, keywords, pageTitle } = pageInfo?.homeSeo ?? {};\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n );\n } else {\n SEO = <Seo title={\"Home\"} />;\n }\n\n return (\n <>\n {SEO}\n {bannerItems !== undefined &&\n bannerItems !== null &&\n bannerItems.length > 0 && <Banner bannerItems={bannerItems} />}\n {sections !== undefined &&\n sections !== null &&\n sections.length > 0 &&\n subMenu}\n {sections !== undefined && sections !== null && sections.length > 0 && (\n <CustomSection sections={sections} />\n )}\n {/* <BotIframe /> */}\n </>\n );\n};\n\nexport default HomePage;\n","import React from \"react\"\nimport { useMetrics } from \"../../hooks\"\nimport { ProfileCard, Numbers, Button } from \"../index\"\nimport \"./_metricas.scss\"\n\nconst Metrics = ({ metrics, title, theme }) => {\n const data = useMetrics()\n\n const metricsList = data?.allStrapiMetrics?.nodes\n\n const customMetricsList = metrics.map(metric =>\n metricsList.find(art => art.strapiId === metric.id)\n )\n\n const numbersList = customMetricsList\n .map(number => (\n <Numbers\n key={number?.id}\n alt={`Picture of ${number?.name}`}\n variant={\"number\"}\n picture={number?.iconCifra}\n name={number?.name}\n number={number?.cifra}\n cols={4}\n />\n ))\n .slice(0, 3)\n\n const customMetrics = customMetricsList\n .map(metric => (\n <ProfileCard\n key={metric?.id}\n alt={`Profile picture of ${metric?.name}`}\n variant={\"metric\"}\n profilePicture={metric?.picture}\n testimony={metric?.subtitle}\n name={metric?.description}\n cols={4}\n />\n ))\n .slice(0, 3)\n\n const btnTheme = theme === \"dark\" ? \"light\" : \"green\"\n\n return (\n <div className={`metric-block container-fluid theme-${theme}`}>\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12\">\n <h2>{title}</h2>\n </div>\n </div>\n <div className=\"row mt-4 mb-5 justify-content-center\">\n {numbersList}\n </div>\n <div className=\"row mt-4 justify-content-center\">{customMetrics}</div>\n <div className=\"row justify-content-center mt-4\">\n <Button\n content={\"Más acerca de Siglo 21\"} /* Ver si sale de STRAPI */\n path={`#`}\n variant={`button-${btnTheme}`}\n />\n </div>\n </div>\n </div>\n )\n}\n\nexport default Metrics\n","import * as React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport \"./_numbers.scss\"\n\nconst Numbers = ({ alt, variant, picture, name, number, cols }) => {\n const image = getImage(picture)\n\n return (\n <div\n className={`col-12 col-md-${cols} align-items-center justify-content-center ${variant}`}\n >\n <div className=\"row \">\n <div className=\"col-4 text-right px-0 image\">\n <GatsbyImage image={image} alt={alt} />\n </div>\n <div className=\"col-8 text-left\">\n <p className=\"cifra\">{number}</p>\n </div>\n </div>\n <div className=\" col-12 px-0 text-center\">\n <p className=\"name mb-1\">{name}</p>\n </div>\n </div>\n )\n}\n\nexport default Numbers\n","import * as React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\n\nconst ProfileCard = ({\n alt,\n variant,\n profilePicture,\n testimony,\n name,\n role,\n cols,\n}) => {\n const image = getImage(profilePicture)\n const columnsMetric =\n variant === \"metric\" ? \"col-12 col-md-8 box\" : \"col-8 texto\"\n\n const onlyTestimony =\n variant === \"testimony\" && cols === 12\n ? ` ${variant} one-testimony `\n : ` col-lg-${cols} ${variant} `\n\n return (\n <div className={`col-12 ${onlyTestimony}`}>\n <div className=\"col-4 px-0 image \">\n <GatsbyImage image={image} alt={alt} />\n </div>\n <div className={columnsMetric}>\n <p className=\"info\">{testimony}</p>\n <p className=\"author \">{name}</p>\n <p className=\"role\">{role}</p>\n </div>\n </div>\n )\n}\n\nexport default ProfileCard\n","export const descriptionOpenGraph = 'https://inscribite.21.edu.ar/';\nexport const imageSigloOpenGraph = 'https://21.edu.ar/icons/icon-512x512.png';\n","import * as React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\nimport { useGlobalSeo } from \"../../hooks\"\nimport {descriptionOpenGraph, imageSigloOpenGraph} from \"../../constants/config\"\n\nfunction Seo({ description, lang, meta, title, keywords }) {\n const data = useGlobalSeo()\n \n const {\n author,\n robots,\n siteMetadata: { siteDesc, siteKeywords, siteTitle },\n } = data?.allStrapiGlobalSeo?.nodes[0]\n\n const metaDescription = description ? description : siteDesc\n const defaultTitle = siteTitle\n const preventIndex = robots ? `index, follow` : `noindex, nofollow`\n const defaultKeywords = keywords ? keywords : siteKeywords\n\n return (\n <Helmet\n htmlAttributes={{\n lang,\n }}\n title={title}\n titleTemplate={defaultTitle ? `%s | ${defaultTitle}` : null}\n meta={[\n {\n name: `robots`,\n content: preventIndex,\n },\n {\n name: `description`,\n content: metaDescription,\n },\n {\n name: `keywords`,\n content: defaultKeywords,\n },\n {\n property: `og:title`,\n content: title,\n },\n {\n property: `og:description`,\n content: descriptionOpenGraph,\n },\n {\n property: `og:image`,\n content: imageSigloOpenGraph,\n },\n {\n property: `og:type`,\n content: `website`,\n },\n {\n name: `twitter:card`,\n content: `summary`,\n },\n {\n name: `twitter:creator`,\n content: author || ``,\n },\n {\n name: `twitter:title`,\n content: title,\n },\n {\n name: `twitter:description`,\n content: metaDescription,\n },\n ].concat(meta)}\n // link={[]}\n />\n )\n}\n\nSeo.defaultProps = {\n lang: `es`,\n meta: [],\n description: ``,\n}\n\nSeo.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n}\n\nexport default Seo\n","import React from \"react\"\nimport { useSocialMedia } from \"../../hooks\"\n\nimport \"./_socialMedia.scss\"\n\nconst SocialMedia = ({ social_medias }) => {\n const data = useSocialMedia()\n\n const socialMediaList = data?.allStrapiSocialMedias?.nodes\n\n const customSocialMediaList = social_medias.map(media =>\n socialMediaList.find(art => art.strapiId === media.id)\n )\n\n const customSocialMedia = customSocialMediaList.map(item => (\n <div\n className={`socialMediaCard ${(item?.name?.toLowerCase() === \"instagram\" ||\n item?.name.toLowerCase() === \"twitter\") &&\n \"scroll\"\n }`}\n key={item?.id}\n dangerouslySetInnerHTML={{ __html: item?.socialMediaCode }}\n />\n ))\n return (\n customSocialMedia.length > 0 && (\n <div className=\"socialMediaSection\">\n <div className=\"socialMediaContainer\">\n {customSocialMedia}\n </div>\n </div>\n )\n )\n}\nexport default SocialMedia\n","import React from 'react';\nimport './_socialMediaIcons.scss';\nimport { Icon }from \"../\"\n\nconst SocialMediaIcons = ({ message, iconLinks }) => (\n <div className=\"socialMediaIconsContainer\">\n <div className=\"container\">\n <p className=\"socialMediaIconsContainer__message col-12 col-lg-8\">{message}</p>\n <div className=\"socialMediaIconsContainer__icons col-12 col-lg-4\">\n {iconLinks.map((iconLink, idx) => {\n const icon = iconLink?.icon?.icon\n const link = iconLink?.link\n return (\n <a href={link?.url} target=\"_blank\" rel=\"noreferrer\" title={link?.name} key={idx}>\n <Icon type={icon?.type} code={icon?.code} /> \n </a>\n )})}\n </div>\n </div>\n </div>\n);\n\nexport default SocialMediaIcons;","import React from \"react\"\nimport { useTestimonies } from \"../../hooks\"\nimport { ProfileCard } from \"../index\"\nimport \"./_testimony.scss\"\n\nconst Testimony = ({ testimony, latest, theme, title }) => {\n const data = useTestimonies()\n const testimonies = data?.allStrapiTestimonies?.nodes\n const customTestimony = testimony.map(tmony =>\n testimonies.find(tmy => tmy.strapiId === tmony.id)\n )\n\n const latestTestimonies = testimonies\n .map(testimony => (\n <ProfileCard\n key={testimony?.id}\n alt={`Profile picture of ${testimony?.name}`}\n variant=\"testimony\"\n profilePicture={testimony?.profilePicture}\n testimony={testimony?.testimony}\n name={testimony?.name}\n role={testimony?.role}\n cols={columns(testimonies.slice(0, 3))}\n />\n ))\n .slice(0, 3)\n\n const customTestimonies = customTestimony\n .map(testimony => (\n <ProfileCard\n key={testimony?.id}\n alt={`Profile picture of ${testimony?.name}`}\n variant=\"testimony\"\n profilePicture={testimony?.profilePicture}\n testimony={testimony?.testimony}\n name={testimony?.name}\n role={testimony?.role}\n cols={columns(customTestimony.slice(0, 3))}\n />\n ))\n .slice(0, 3)\n\n const testimoniesList = latest ? latestTestimonies : customTestimonies\n\n function columns(arr) {\n let length = arr.length\n let cols = 12 / length\n return cols\n }\n\n return (\n <div className={`testimony-block container-fluid ${theme}-theme`}>\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12\">\n <h2>{title}</h2>\n </div>\n </div>\n <div className=\"row justify-content-center mt-4\">{testimoniesList}</div>\n </div>\n </div>\n )\n}\n\nexport default Testimony\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import React from \"react\"\nimport \"./_contactForm.scss\"\nimport HubspotForm from \"react-hubspot-form\"\nimport { useScript, useLinkTag } from \"../../hooks\"\n\nconst ContactForm = ({ form, theme, anchor, title, formFields }) => {\n useLinkTag(`${process.env.GATSBY_S3_HOST}/jquery-ui.min.css`)\n useScript(\"https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js\")\n useScript(`${process.env.GATSBY_S3_HOST}/jquery.min.js`)\n useScript(`${process.env.GATSBY_S3_HOST}/jquery-ui.min.js`)\n useScript(`${process.env.GATSBY_S3_HOST}/autocomplete-module.js`)\n useScript(\n `${process.env.GATSBY_S3_VALIDATIONS_MODULE_HOST}/validations-module.js`\n )\n\n function modalityValues(string) {\n for (const modality of formFields) {\n if (modality.field === \"modalidad_de_interes\") {\n for (const value of modality.value) {\n if (value.name === string) {\n return true\n }\n }\n return false\n }\n }\n }\n\n async function initializeForm() {\n if (formFields !== undefined && formFields !== null) {\n const careerOptions = {\n distance_distributed: modalityValues(\"Educación Distribuida\"),\n distance_distributed_home: modalityValues(\"Educación Distribuida Home\"),\n insite: modalityValues(\"Presencial\"),\n insite_home: modalityValues(\"Presencial Home\"),\n insite_home_rio_iv: modalityValues(\"Presencial Home Rio IV\"),\n insite_distributed: modalityValues(\"Presencial Distribuida\"),\n\n interest_id: formFields[4].value,\n interest_code: formFields[3].value,\n interest: formFields[2].value,\n program_type: formFields[1].value,\n }\n\n window[\"inputsValidations\"](false, careerOptions)\n }\n }\n\n const id =\n anchor !== null && anchor !== undefined && anchor !== \"\" ? anchor : \"form\"\n return (\n <div\n id={`${id}`}\n className={`contact-block container-fluid theme-${theme}`}\n >\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12\">\n <h2>{title}</h2>\n </div>\n </div>\n <div className=\"col-12 row justify-content-center py-2 m-auto\">\n <div className=\"hubspot-form-wrapper\">\n <HubspotForm\n portalId={form.PortalID}\n formId={form.formId}\n onReady={initializeForm}\n />\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default ContactForm\n","import React from \"react\"\nimport { Image, Text , Video} from \"..\"\nimport \"./_aside.scss\"\n\nconst Aside = ({ content }) => {\n const asideBlock = content.map((block, idx) => {\n const { fields, paragraph, image, video, type, icon } = block\n\n const fieldsContent = fields.enable && (\n <p className={\"Aside__summary\"}>{fields.summary}</p>\n )\n const textContent = paragraph && (\n <Text text={paragraph} variant={\"Aside\"} icon={icon} />\n )\n const imageContent = (\n <div className=\"Aside__images row\">\n {image &&\n image.map((img, idx) => (\n <Image\n data={img}\n key={idx}\n variant={\"Aside__images\"}\n cols={columns(image)}\n />\n ))}\n </div>\n )\n const videoContent = (\n <div className=\"row\">\n {video &&\n video.map((vid, idx) => (\n <Video\n data={vid}\n key={idx}\n variant={\"Aside\"}\n cols={columns(video)}\n />\n ))}\n </div>\n )\n\n /* ¿¿¿¿¿¿ FUNCTION PARA LLEVAR A CONTEXT ??? */\n function columns(arr) {\n let length = arr.length\n let cols = 12 / length\n return cols\n }\n /* ============================================== */\n\n return (\n <div key={idx}>\n {type === \"text\" ? (\n <>\n {fieldsContent}\n {textContent}\n {imageContent}\n {videoContent}\n </>\n ) : null}\n </div>\n )\n })\n return (\n <aside className=\"aside col-12 col-lg-3\">{asideBlock}</aside>\n )\n}\n\nexport default Aside\n","import React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport { BgImage } from \"gbimage-bridge\"\nimport \"./_image.scss\"\n\nconst Image = ({ data, background, variant, cols }) => {\n const image = getImage(data?.nameImage)\n const imageContent = background ? (\n <BgImage image={image} className={`bgImage ${variant} `} />\n ) : (\n <GatsbyImage image={image} alt={data?.alt} />\n )\n return <div className={`${variant}__img col-${cols}`}>{imageContent}</div>\n}\nexport default Image\n","import React from \"react\"\nimport Markdown from \"react-markdown\"\nimport { Icon } from \"../\"\n\nconst Text = ({ text, variant, icon }) => {\n\n return (\n <div>\n {icon && (\n <div style={{ paddingLeft: \"16px\", marginBottom: \"-14px\"}}>\n <Icon type={icon?.icon?.type} code={icon?.icon?.code} />\n </div>\n )}\n <div className={`markdown text ${variant}__text`}>\n <Markdown escapeHtml={true}>{text}</Markdown>\n </div> \n </div>\n )\n}\n\nexport default Text\n","import React from \"react\"\nimport Script from \"@gumgum/react-script-tag\"\nimport {\n Text,\n Image,\n Video,\n EmbebedMap,\n ButtonPage,\n CardsList,\n PdfCard,\n Slider,\n BannerSimple,\n} from \"..\"\nimport \"./_content.scss\"\n\nconst Content = ({ content }) => {\n const haveData = field => {\n return field !== null && field !== undefined\n }\n\n const contentBlock = content.map((block, idx) => {\n const {\n fields,\n paragraph,\n image,\n video,\n type,\n source,\n title,\n externalSrc,\n internalSrc,\n card,\n script,\n link,\n description,\n icon,\n imageSlider,\n banner_item,\n } = block\n\n const fieldsContent = fields?.enable && (\n <p className={\"Content__summary\"}>{fields?.summary}</p>\n )\n const textContent = paragraph && (\n <Text text={paragraph} variant={\"Content\"} icon={icon} />\n )\n\n const imageContent = image?.length > 0 && (\n <div className=\"Content__images row\">\n {image.map((img, idx) => (\n <Image\n data={img}\n key={idx}\n variant={\"Content__images\"}\n cols={columns(image)}\n />\n ))}\n </div>\n )\n\n const videoContent = video?.length > 0 && (\n <div className=\"Content__video row\">\n {video.map((vid, idx) => (\n <Video\n data={vid}\n key={idx}\n variant={\"Content__video\"}\n cols={columns(video)}\n />\n ))}\n </div>\n )\n\n const embebedMap = haveData(source) ? (\n <div>\n <div className=\"Content__title_embebedMap\">{title}</div>\n <div className=\"Content__embebedMap row\">\n <EmbebedMap source={source} />\n </div>\n </div>\n ) : null\n\n const buttonPage =\n //Agregar la solucion del video block en pages, en la query\n //en el txt del desktop esta\n (haveData(externalSrc)) ||\n (haveData(internalSrc)) ? (\n <div className=\"Content__buttonPage\">\n {<ButtonPage externalSrc={externalSrc} internalSrc={internalSrc} />}\n </div>\n ) : null\n\n const cardsList =\n haveData(card) ? (\n <CardsList data={card} title={fields?.title} />\n ) : null\n\n const pageScript =\n haveData(script?.src) &&\n script?.enable === true ? (\n <Script\n type=\"text/javascript\"\n src={script?.src}\n id={script?.name}\n async\n defer\n />\n ) : null\n\n const pdfFile =\n haveData(link) && type === \"pdfFile\" ? (\n <PdfCard link={link} description={description} title={title} />\n ) : null\n\n const slider =\n haveData(imageSlider) ? (\n <Slider slider={block} />\n ) : null\n\n const simpleBanner =\n haveData(banner_item) ? (\n <BannerSimple bannerItems={banner_item} />\n ) : null\n\n function columns(arr) {\n let length = arr.length\n let cols = 12 / length\n return cols\n }\n\n return (\n <div key={idx}>\n <>\n {fieldsContent}\n {type === \"text\" && textContent}\n {type === \"text\" && imageContent}\n {type === \"text\" && videoContent}\n {type === \"map\" && embebedMap}\n {type === \"Button\" && buttonPage}\n {type === \"cardsList\" && cardsList}\n {type === \"pageScript\" && pageScript}\n {type === \"pdfFile\" && pdfFile}\n {type === \"slider\" && slider}\n {type === \"simpleBanner\" && simpleBanner}\n </>\n </div>\n )\n })\n\n return <section className=\"Content\">{contentBlock}</section>\n}\n\nexport default Content\n\n/* content {\n fields {\n anchor\n enable\n summary\n theme\n title\n }\n id\n paragraph\n image {\n alt\n id\n title\n type\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n type */\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useContext, useMemo } from 'react';\nvar ThemeContext = /*#__PURE__*/React.createContext({});\nvar Consumer = ThemeContext.Consumer,\n Provider = ThemeContext.Provider;\n\nfunction ThemeProvider(_ref) {\n var prefixes = _ref.prefixes,\n children = _ref.children;\n var copiedPrefixes = useMemo(function () {\n return _extends({}, prefixes);\n }, [prefixes]);\n return /*#__PURE__*/React.createElement(Provider, {\n value: copiedPrefixes\n }, children);\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n var prefixes = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n var _opts = opts,\n prefix = _opts.prefix,\n _opts$forwardRefAs = _opts.forwardRefAs,\n forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;\n var Wrapped = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var props = _extends({}, _ref2);\n\n props[forwardRefAs] = ref;\n var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n bsPrefix: bsPrefix\n }));\n });\n Wrapped.displayName = \"Bootstrap(\" + (Component.displayName || Component.name) + \")\";\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"className\", \"children\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar PopoverTitle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(bsPrefix, className)\n }), children);\n});\nexport default PopoverTitle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"className\", \"children\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar PopoverContent = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames(className, bsPrefix)\n }), children);\n});\nexport default PopoverContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"placement\", \"className\", \"style\", \"children\", \"content\", \"arrowProps\", \"popper\", \"show\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport isRequiredForA11y from 'prop-types-extra/lib/isRequiredForA11y';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport PopoverTitle from './PopoverTitle';\nimport PopoverContent from './PopoverContent';\nvar defaultProps = {\n placement: 'right'\n};\nvar Popover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n placement = _ref.placement,\n className = _ref.className,\n style = _ref.style,\n children = _ref.children,\n content = _ref.content,\n arrowProps = _ref.arrowProps,\n _ = _ref.popper,\n _1 = _ref.show,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');\n\n var _ref2 = (placement == null ? void 0 : placement.split('-')) || [],\n primaryPlacement = _ref2[0];\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n role: \"tooltip\",\n style: style,\n \"x-placement\": primaryPlacement,\n className: classNames(className, decoratedBsPrefix, primaryPlacement && \"bs-popover-\" + primaryPlacement)\n }, props), /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"arrow\"\n }, arrowProps)), content ? /*#__PURE__*/React.createElement(PopoverContent, null, children) : children);\n});\nPopover.defaultProps = defaultProps;\nPopover.Title = PopoverTitle;\nPopover.Content = PopoverContent;\nexport default Popover;","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) return f;\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n } // @ts-ignore\n\n\n acc.apply(this, args); // @ts-ignore\n\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"disabled\", \"onKeyDown\"];\nimport React from 'react';\nimport createChainedFunction from './createChainedFunction';\n\nfunction isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * There are situations due to browser quirks or Bootstrap CSS where\n * an anchor tag is needed, when semantically a button tag is the\n * better choice. SafeAnchor ensures that when an anchor is used like a\n * button its accessible. It also emulates input `disabled` behavior for\n * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc.\n */\n\n\nvar SafeAnchor = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'a' : _ref$as,\n disabled = _ref.disabled,\n onKeyDown = _ref.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var handleClick = function handleClick(event) {\n var href = props.href,\n onClick = props.onClick;\n\n if (disabled || isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n var handleKeyDown = function handleKeyDown(event) {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n if (isTrivialHref(props.href)) {\n props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node\n // otherwise, the cursor incorrectly styled (except with role='button')\n\n props.href = props.href || '#';\n }\n\n if (disabled) {\n props.tabIndex = -1;\n props['aria-disabled'] = true;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n onClick: handleClick,\n onKeyDown: createChainedFunction(handleKeyDown, onKeyDown)\n }));\n});\nSafeAnchor.displayName = 'SafeAnchor';\nexport default SafeAnchor;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"bsPrefix\", \"variant\", \"size\", \"active\", \"className\", \"block\", \"type\", \"as\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport SafeAnchor from './SafeAnchor';\nvar defaultProps = {\n variant: 'primary',\n active: false,\n disabled: false\n};\nvar Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n variant = _ref.variant,\n size = _ref.size,\n active = _ref.active,\n className = _ref.className,\n block = _ref.block,\n type = _ref.type,\n as = _ref.as,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'btn');\n var classes = classNames(className, prefix, active && 'active', variant && prefix + \"-\" + variant, block && prefix + \"-block\", size && prefix + \"-\" + size);\n\n if (props.href) {\n return /*#__PURE__*/React.createElement(SafeAnchor, _extends({}, props, {\n as: as,\n ref: ref,\n className: classNames(classes, props.disabled && 'disabled')\n }));\n }\n\n if (ref) {\n props.ref = ref;\n }\n\n if (type) {\n props.type = type;\n } else if (!as) {\n props.type = 'button';\n }\n\n var Component = as || 'button';\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n className: classes\n }));\n});\nButton.displayName = 'Button';\nButton.defaultProps = defaultProps;\nexport default Button;","/* eslint-disable no-bitwise, no-cond-assign */\n\n/**\n * Checks if an element contains another given element.\n * \n * @param context the context element\n * @param node the element to check\n */\nexport default function contains(context, node) {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n if (context.contains) return context.contains(node);\n if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);\n}","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nexport default function useWillUnmount(fn) {\n var onUnmount = useUpdatedRef(fn);\n useEffect(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}","import { useRef } from 'react';\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nexport default function useUpdatedRef(value) {\n var valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\n\nvar MAX_DELAY_MS = Math.pow(2, 31) - 1;\n\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n var delayMs = timeoutAtMs - Date.now();\n handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () {\n return setChainedTimeout(handleRef, fn, timeoutAtMs);\n }, MAX_DELAY_MS);\n}\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n * <div className=\"App\">\n * {hello ? <h3>Hello</h3> : null}\n * </div>\n * );\n * ```\n */\n\n\nexport default function useTimeout() {\n var isMounted = useMounted(); // types are confused between node and web here IDK\n\n var handleRef = useRef();\n useWillUnmount(function () {\n return clearTimeout(handleRef.current);\n });\n return useMemo(function () {\n var clear = function clear() {\n return clearTimeout(handleRef.current);\n };\n\n function set(fn, delayMs) {\n if (delayMs === void 0) {\n delayMs = 0;\n }\n\n if (!isMounted()) return;\n clear();\n\n if (delayMs <= MAX_DELAY_MS) {\n // For simplicity, if the timeout is short, just set a normal timeout.\n handleRef.current = setTimeout(fn, delayMs);\n } else {\n setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n }\n }\n\n return {\n set: set,\n clear: clear\n };\n }, []);\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n\n return componentOrElement != null ? componentOrElement : null;\n}","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (hint === \"string\" ? String : Number)(input);\n}\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","import { useState } from 'react';\n/**\n * A convenience hook around `useState` designed to be paired with\n * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.\n * Callback refs are useful over `useRef()` when you need to respond to the ref being set\n * instead of lazily accessing it in an effect.\n *\n * ```ts\n * const [element, attachRef] = useCallbackRef<HTMLDivElement>()\n *\n * useEffect(() => {\n * if (!element) return\n *\n * const calendar = new FullCalendar.Calendar(element)\n *\n * return () => {\n * calendar.destroy()\n * }\n * }, [element])\n *\n * return <div ref={attachRef} />\n * ```\n *\n * @category refs\n */\n\nexport default function useCallbackRef() {\n return useState(null);\n}","import { useMemo } from 'react';\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nexport function mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return <button ref={mergedRef} {...props}/>\n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\n\nfunction useMergedRefs(refA, refB) {\n return useMemo(function () {\n return mergeRefs(refA, refB);\n }, [refA, refB]);\n}\n\nexport default useMergedRefs;","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { useCallback } from 'react';\nimport useMounted from './useMounted';\n\nfunction useSafeState(state) {\n var isMounted = useMounted();\n return [state[0], useCallback(function (nextState) {\n if (!isMounted()) return;\n return state[1](nextState);\n }, [isMounted, state[1]])];\n}\n\nexport default useSafeState;","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import arrow from '@popperjs/core/lib/modifiers/arrow';\nimport computeStyles from '@popperjs/core/lib/modifiers/computeStyles';\nimport eventListeners from '@popperjs/core/lib/modifiers/eventListeners';\nimport flip from '@popperjs/core/lib/modifiers/flip';\nimport hide from '@popperjs/core/lib/modifiers/hide';\nimport offset from '@popperjs/core/lib/modifiers/offset';\nimport popperOffsets from '@popperjs/core/lib/modifiers/popperOffsets';\nimport preventOverflow from '@popperjs/core/lib/modifiers/preventOverflow';\nimport { placements } from '@popperjs/core/lib/enums';\nimport { popperGenerator } from '@popperjs/core/lib/popper-base'; // For the common JS build we will turn this file into a bundle with no imports.\n// This is b/c the Popper lib is all esm files, and would break in a common js only environment\n\nexport var createPopper = popperGenerator({\n defaultModifiers: [hide, popperOffsets, computeStyles, eventListeners, offset, flip, preventOverflow, arrow]\n});\nexport { placements };","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name; // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { max as mathMax, min as mathMin } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport useSafeState from '@restart/hooks/useSafeState';\nimport { createPopper } from './popper';\n\nvar initialPopperStyles = function initialPopperStyles(position) {\n return {\n position: position,\n top: '0',\n left: '0',\n opacity: '0',\n pointerEvents: 'none'\n };\n};\n\nvar disabledApplyStylesModifier = {\n name: 'applyStyles',\n enabled: false\n}; // until docjs supports type exports...\n\nvar ariaDescribedByModifier = {\n name: 'ariaDescribedBy',\n enabled: true,\n phase: 'afterWrite',\n effect: function effect(_ref) {\n var state = _ref.state;\n return function () {\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper;\n\n if ('removeAttribute' in reference) {\n var ids = (reference.getAttribute('aria-describedby') || '').split(',').filter(function (id) {\n return id.trim() !== popper.id;\n });\n if (!ids.length) reference.removeAttribute('aria-describedby');else reference.setAttribute('aria-describedby', ids.join(','));\n }\n };\n },\n fn: function fn(_ref2) {\n var _popper$getAttribute;\n\n var state = _ref2.state;\n var _state$elements2 = state.elements,\n popper = _state$elements2.popper,\n reference = _state$elements2.reference;\n var role = (_popper$getAttribute = popper.getAttribute('role')) == null ? void 0 : _popper$getAttribute.toLowerCase();\n\n if (popper.id && role === 'tooltip' && 'setAttribute' in reference) {\n var ids = reference.getAttribute('aria-describedby');\n\n if (ids && ids.split(',').indexOf(popper.id) !== -1) {\n return;\n }\n\n reference.setAttribute('aria-describedby', ids ? ids + \",\" + popper.id : popper.id);\n }\n }\n};\nvar EMPTY_MODIFIERS = [];\n/**\n * Position an element relative some reference element using Popper.js\n *\n * @param referenceElement\n * @param popperElement\n * @param {object} options\n * @param {object=} options.modifiers Popper.js modifiers\n * @param {boolean=} options.enabled toggle the popper functionality on/off\n * @param {string=} options.placement The popper element placement relative to the reference element\n * @param {string=} options.strategy the positioning strategy\n * @param {boolean=} options.eventsEnabled have Popper listen on window resize events to reposition the element\n * @param {function=} options.onCreate called when the popper is created\n * @param {function=} options.onUpdate called when the popper is updated\n *\n * @returns {UsePopperState} The popper state\n */\n\nfunction usePopper(referenceElement, popperElement, _temp) {\n var _ref3 = _temp === void 0 ? {} : _temp,\n _ref3$enabled = _ref3.enabled,\n enabled = _ref3$enabled === void 0 ? true : _ref3$enabled,\n _ref3$placement = _ref3.placement,\n placement = _ref3$placement === void 0 ? 'bottom' : _ref3$placement,\n _ref3$strategy = _ref3.strategy,\n strategy = _ref3$strategy === void 0 ? 'absolute' : _ref3$strategy,\n _ref3$modifiers = _ref3.modifiers,\n modifiers = _ref3$modifiers === void 0 ? EMPTY_MODIFIERS : _ref3$modifiers,\n config = _objectWithoutPropertiesLoose(_ref3, [\"enabled\", \"placement\", \"strategy\", \"modifiers\"]);\n\n var popperInstanceRef = useRef();\n var update = useCallback(function () {\n var _popperInstanceRef$cu;\n\n (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update();\n }, []);\n var forceUpdate = useCallback(function () {\n var _popperInstanceRef$cu2;\n\n (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate();\n }, []);\n\n var _useSafeState = useSafeState(useState({\n placement: placement,\n update: update,\n forceUpdate: forceUpdate,\n attributes: {},\n styles: {\n popper: initialPopperStyles(strategy),\n arrow: {}\n }\n })),\n popperState = _useSafeState[0],\n setState = _useSafeState[1];\n\n var updateModifier = useMemo(function () {\n return {\n name: 'updateStateModifier',\n enabled: true,\n phase: 'write',\n requires: ['computeStyles'],\n fn: function fn(_ref4) {\n var state = _ref4.state;\n var styles = {};\n var attributes = {};\n Object.keys(state.elements).forEach(function (element) {\n styles[element] = state.styles[element];\n attributes[element] = state.attributes[element];\n });\n setState({\n state: state,\n styles: styles,\n attributes: attributes,\n update: update,\n forceUpdate: forceUpdate,\n placement: state.placement\n });\n }\n };\n }, [update, forceUpdate, setState]);\n useEffect(function () {\n if (!popperInstanceRef.current || !enabled) return;\n popperInstanceRef.current.setOptions({\n placement: placement,\n strategy: strategy,\n modifiers: [].concat(modifiers, [updateModifier, disabledApplyStylesModifier])\n }); // intentionally NOT re-running on new modifiers\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [strategy, placement, updateModifier, enabled]);\n useEffect(function () {\n if (!enabled || referenceElement == null || popperElement == null) {\n return undefined;\n }\n\n popperInstanceRef.current = createPopper(referenceElement, popperElement, _extends({}, config, {\n placement: placement,\n strategy: strategy,\n modifiers: [].concat(modifiers, [ariaDescribedByModifier, updateModifier])\n }));\n return function () {\n if (popperInstanceRef.current != null) {\n popperInstanceRef.current.destroy();\n popperInstanceRef.current = undefined;\n setState(function (s) {\n return _extends({}, s, {\n attributes: {},\n styles: {\n popper: initialPopperStyles(strategy)\n }\n });\n });\n }\n }; // This is only run once to _create_ the popper\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [enabled, referenceElement, popperElement]);\n return popperState;\n}\n\nexport default usePopper;","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import { useEffect, useRef } from 'react';\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded befor being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = useRef(value);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\nexport default useCommittedRef;","import { useCallback } from 'react';\nimport useCommittedRef from './useCommittedRef';\nexport default function useEventCallback(fn) {\n var ref = useCommittedRef(fn);\n return useCallback(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from 'dom-helpers/ownerDocument';\nimport safeFindDOMNode from './safeFindDOMNode';\nexport default (function (componentOrElement) {\n return ownerDocument(safeFindDOMNode(componentOrElement));\n});","import contains from 'dom-helpers/contains';\nimport listen from 'dom-helpers/listen';\nimport { useCallback, useEffect, useRef } from 'react';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport warning from 'warning';\nimport ownerDocument from './ownerDocument';\nvar escapeKeyCode = 27;\n\nvar noop = function noop() {};\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar getRefTarget = function getRefTarget(ref) {\n return ref && ('current' in ref ? ref.current : ref);\n};\n/**\n * The `useRootClose` hook registers your callback on the document\n * when rendered. Powers the `<Overlay/>` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n *\n * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary\n * @param {function} onRootClose\n * @param {object=} options\n * @param {boolean=} options.disabled\n * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on\n */\n\n\nfunction useRootClose(ref, onRootClose, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n disabled = _ref.disabled,\n _ref$clickTrigger = _ref.clickTrigger,\n clickTrigger = _ref$clickTrigger === void 0 ? 'click' : _ref$clickTrigger;\n\n var preventMouseRootCloseRef = useRef(false);\n var onClose = onRootClose || noop;\n var handleMouseCapture = useCallback(function (e) {\n var currentTarget = getRefTarget(ref);\n warning(!!currentTarget, 'RootClose captured a close event but does not have a ref to compare it to. ' + 'useRootClose(), should be passed a ref that resolves to a DOM node');\n preventMouseRootCloseRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, e.target);\n }, [ref]);\n var handleMouse = useEventCallback(function (e) {\n if (!preventMouseRootCloseRef.current) {\n onClose(e);\n }\n });\n var handleKeyUp = useEventCallback(function (e) {\n if (e.keyCode === escapeKeyCode) {\n onClose(e);\n }\n });\n useEffect(function () {\n if (disabled || ref == null) return undefined; // Store the current event to avoid triggering handlers immediately\n // https://github.com/facebook/react/issues/20074\n\n var currentEvent = window.event;\n var doc = ownerDocument(getRefTarget(ref)); // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n\n var removeMouseCaptureListener = listen(doc, clickTrigger, handleMouseCapture, true);\n var removeMouseListener = listen(doc, clickTrigger, function (e) {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n handleMouse(e);\n });\n var removeKeyupListener = listen(doc, 'keyup', function (e) {\n // skip if this event is the same as the one running when we added the handlers\n if (e === currentEvent) {\n currentEvent = undefined;\n return;\n }\n\n handleKeyUp(e);\n });\n var mobileSafariHackListeners = [];\n\n if ('ontouchstart' in doc.documentElement) {\n mobileSafariHackListeners = [].slice.call(doc.body.children).map(function (el) {\n return listen(el, 'mousemove', noop);\n });\n }\n\n return function () {\n removeMouseCaptureListener();\n removeMouseListener();\n removeKeyupListener();\n mobileSafariHackListeners.forEach(function (remove) {\n return remove();\n });\n };\n }, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse, handleKeyUp]);\n}\n\nexport default useRootClose;","import ownerDocument from 'dom-helpers/ownerDocument';\nimport { useState, useEffect } from 'react';\nexport var resolveContainerRef = function resolveContainerRef(ref) {\n var _ref;\n\n if (typeof document === 'undefined') return null;\n if (ref == null) return ownerDocument().body;\n if (typeof ref === 'function') ref = ref();\n if (ref && 'current' in ref) ref = ref.current;\n if ((_ref = ref) != null && _ref.nodeType) return ref || null;\n return null;\n};\nexport default function useWaitForDOMRef(ref, onResolved) {\n var _useState = useState(function () {\n return resolveContainerRef(ref);\n }),\n resolvedRef = _useState[0],\n setRef = _useState[1];\n\n if (!resolvedRef) {\n var earlyRef = resolveContainerRef(ref);\n if (earlyRef) setRef(earlyRef);\n }\n\n useEffect(function () {\n if (onResolved && resolvedRef) {\n onResolved(resolvedRef);\n }\n }, [onResolved, resolvedRef]);\n useEffect(function () {\n var nextRef = resolveContainerRef(ref);\n\n if (nextRef !== resolvedRef) {\n setRef(nextRef);\n }\n }, [ref, resolvedRef]);\n return resolvedRef;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport function toModifierMap(modifiers) {\n var result = {};\n\n if (!Array.isArray(modifiers)) {\n return modifiers || result;\n } // eslint-disable-next-line no-unused-expressions\n\n\n modifiers == null ? void 0 : modifiers.forEach(function (m) {\n result[m.name] = m;\n });\n return result;\n}\nexport function toModifierArray(map) {\n if (map === void 0) {\n map = {};\n }\n\n if (Array.isArray(map)) return map;\n return Object.keys(map).map(function (k) {\n map[k].name = k;\n return map[k];\n });\n}\nexport default function mergeOptionsWithPopperConfig(_ref) {\n var _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;\n\n var enabled = _ref.enabled,\n enableEvents = _ref.enableEvents,\n placement = _ref.placement,\n flip = _ref.flip,\n offset = _ref.offset,\n fixed = _ref.fixed,\n containerPadding = _ref.containerPadding,\n arrowElement = _ref.arrowElement,\n _ref$popperConfig = _ref.popperConfig,\n popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig;\n var modifiers = toModifierMap(popperConfig.modifiers);\n return _extends({}, popperConfig, {\n placement: placement,\n enabled: enabled,\n strategy: fixed ? 'fixed' : popperConfig.strategy,\n modifiers: toModifierArray(_extends({}, modifiers, {\n eventListeners: {\n enabled: enableEvents\n },\n preventOverflow: _extends({}, modifiers.preventOverflow, {\n options: containerPadding ? _extends({\n padding: containerPadding\n }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options\n }),\n offset: {\n options: _extends({\n offset: offset\n }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)\n },\n arrow: _extends({}, modifiers.arrow, {\n enabled: !!arrowElement,\n options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {\n element: arrowElement\n })\n }),\n flip: _extends({\n enabled: !!flip\n }, modifiers.flip)\n }))\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport { placements } from './popper';\nimport usePopper from './usePopper';\nimport useRootClose from './useRootClose';\nimport useWaitForDOMRef from './useWaitForDOMRef';\nimport mergeOptionsWithPopperConfig from './mergeOptionsWithPopperConfig';\n/**\n * Built on top of `Popper.js`, the overlay component is\n * great for custom tooltip overlays.\n */\n\nvar Overlay = /*#__PURE__*/React.forwardRef(function (props, outerRef) {\n var flip = props.flip,\n offset = props.offset,\n placement = props.placement,\n _props$containerPaddi = props.containerPadding,\n containerPadding = _props$containerPaddi === void 0 ? 5 : _props$containerPaddi,\n _props$popperConfig = props.popperConfig,\n popperConfig = _props$popperConfig === void 0 ? {} : _props$popperConfig,\n Transition = props.transition;\n\n var _useCallbackRef = useCallbackRef(),\n rootElement = _useCallbackRef[0],\n attachRef = _useCallbackRef[1];\n\n var _useCallbackRef2 = useCallbackRef(),\n arrowElement = _useCallbackRef2[0],\n attachArrowRef = _useCallbackRef2[1];\n\n var mergedRef = useMergedRefs(attachRef, outerRef);\n var container = useWaitForDOMRef(props.container);\n var target = useWaitForDOMRef(props.target);\n\n var _useState = useState(!props.show),\n exited = _useState[0],\n setExited = _useState[1];\n\n var _usePopper = usePopper(target, rootElement, mergeOptionsWithPopperConfig({\n placement: placement,\n enableEvents: !!props.show,\n containerPadding: containerPadding || 5,\n flip: flip,\n offset: offset,\n arrowElement: arrowElement,\n popperConfig: popperConfig\n })),\n styles = _usePopper.styles,\n attributes = _usePopper.attributes,\n popper = _objectWithoutPropertiesLoose(_usePopper, [\"styles\", \"attributes\"]);\n\n if (props.show) {\n if (exited) setExited(false);\n } else if (!props.transition && !exited) {\n setExited(true);\n }\n\n var handleHidden = function handleHidden() {\n setExited(true);\n\n if (props.onExited) {\n props.onExited.apply(props, arguments);\n }\n }; // Don't un-render the overlay while it's transitioning out.\n\n\n var mountOverlay = props.show || Transition && !exited;\n useRootClose(rootElement, props.onHide, {\n disabled: !props.rootClose || props.rootCloseDisabled,\n clickTrigger: props.rootCloseEvent\n });\n\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n var child = props.children(_extends({}, popper, {\n show: !!props.show,\n props: _extends({}, attributes.popper, {\n style: styles.popper,\n ref: mergedRef\n }),\n arrowProps: _extends({}, attributes.arrow, {\n style: styles.arrow,\n ref: attachArrowRef\n })\n }));\n\n if (Transition) {\n var onExit = props.onExit,\n onExiting = props.onExiting,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered;\n child = /*#__PURE__*/React.createElement(Transition, {\n \"in\": props.show,\n appear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n }, child);\n }\n\n return container ? /*#__PURE__*/ReactDOM.createPortal(child, container) : null;\n});\nOverlay.displayName = 'Overlay';\nOverlay.propTypes = {\n /**\n * Set the visibility of the Overlay\n */\n show: PropTypes.bool,\n\n /** Specify where the overlay element is positioned in relation to the target element */\n placement: PropTypes.oneOf(placements),\n\n /**\n * A DOM Element, Ref to an element, or function that returns either. The `target` element is where\n * the overlay is positioned relative to.\n */\n target: PropTypes.any,\n\n /**\n * A DOM Element, Ref to an element, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: PropTypes.any,\n\n /**\n * Enables the Popper.js `flip` modifier, allowing the Overlay to\n * automatically adjust it's placement in case of overlap with the viewport or toggle.\n * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info\n */\n flip: PropTypes.bool,\n\n /**\n * A render prop that returns an element to overlay and position. See\n * the [react-popper documentation](https://github.com/FezVrasta/react-popper#children) for more info.\n *\n * @type {Function ({\n * show: boolean,\n * placement: Placement,\n * update: () => void,\n * forceUpdate: () => void,\n * props: {\n * ref: (?HTMLElement) => void,\n * style: { [string]: string | number },\n * aria-labelledby: ?string\n * [string]: string | number,\n * },\n * arrowProps: {\n * ref: (?HTMLElement) => void,\n * style: { [string]: string | number },\n * [string]: string | number,\n * },\n * }) => React.Element}\n */\n children: PropTypes.func.isRequired,\n\n /**\n * Control how much space there is between the edge of the boundary element and overlay.\n * A convenience shortcut to setting `popperConfig.modfiers.preventOverflow.padding`\n */\n containerPadding: PropTypes.number,\n\n /**\n * A set of popper options and props passed directly to react-popper's Popper component.\n */\n popperConfig: PropTypes.object,\n\n /**\n * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay\n */\n rootClose: PropTypes.bool,\n\n /**\n * Specify event for toggling overlay\n */\n rootCloseEvent: PropTypes.oneOf(['click', 'mousedown']),\n\n /**\n * Specify disabled for disable RootCloseWrapper\n */\n rootCloseDisabled: PropTypes.bool,\n\n /**\n * A Callback fired by the Overlay when it wishes to be hidden.\n *\n * __required__ when `rootClose` is `true`.\n *\n * @type func\n */\n onHide: function onHide(props) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (props.rootClose) {\n var _PropTypes$func;\n\n return (_PropTypes$func = PropTypes.func).isRequired.apply(_PropTypes$func, [props].concat(args));\n }\n\n return PropTypes.func.apply(PropTypes, [props].concat(args));\n },\n\n /**\n * A `react-transition-group@2.0.0` `<Transition/>` component\n * used to animate the overlay as it changes visibility.\n */\n // @ts-ignore\n transition: PropTypes.elementType,\n\n /**\n * Callback fired before the Overlay transitions in\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired as the Overlay begins to transition in\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the Overlay finishes transitioning in\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired right before the Overlay transitions out\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired as the Overlay begins to transition out\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the Overlay finishes transitioning out\n */\n onExited: PropTypes.func\n};\nexport default Overlay;","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import { useCallback, useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\n\nfunction getMargins(element) {\n var styles = window.getComputedStyle(element);\n var top = parseFloat(styles.marginTop) || 0;\n var right = parseFloat(styles.marginRight) || 0;\n var bottom = parseFloat(styles.marginBottom) || 0;\n var left = parseFloat(styles.marginLeft) || 0;\n return {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n}\n\nexport default function usePopperMarginModifiers() {\n var overlayRef = useRef(null);\n var margins = useRef(null);\n var arrowMargins = useRef(null);\n var popoverClass = useBootstrapPrefix(undefined, 'popover');\n var dropdownMenuClass = useBootstrapPrefix(undefined, 'dropdown-menu');\n var callback = useCallback(function (overlay) {\n if (!overlay || !(hasClass(overlay, popoverClass) || hasClass(overlay, dropdownMenuClass))) return;\n margins.current = getMargins(overlay);\n overlay.style.margin = '0';\n overlayRef.current = overlay;\n }, [popoverClass, dropdownMenuClass]);\n var offset = useMemo(function () {\n return {\n name: 'offset',\n options: {\n offset: function offset(_ref) {\n var placement = _ref.placement;\n if (!margins.current) return [0, 0];\n var _margins$current = margins.current,\n top = _margins$current.top,\n left = _margins$current.left,\n bottom = _margins$current.bottom,\n right = _margins$current.right;\n\n switch (placement.split('-')[0]) {\n case 'top':\n return [0, bottom];\n\n case 'left':\n return [0, right];\n\n case 'bottom':\n return [0, top];\n\n case 'right':\n return [0, left];\n\n default:\n return [0, 0];\n }\n }\n }\n };\n }, [margins]);\n var arrow = useMemo(function () {\n return {\n name: 'arrow',\n options: {\n padding: function padding() {\n // The options here are used for Popper 2.8.4 and up.\n // For earlier version, padding is handled in popoverArrowMargins below.\n if (!arrowMargins.current) {\n return 0;\n }\n\n var _arrowMargins$current = arrowMargins.current,\n top = _arrowMargins$current.top,\n right = _arrowMargins$current.right;\n var padding = top || right;\n return {\n top: padding,\n left: padding,\n right: padding,\n bottom: padding\n };\n }\n }\n };\n }, [arrowMargins]); // Converts popover arrow margin to arrow modifier padding\n\n var popoverArrowMargins = useMemo(function () {\n return {\n name: 'popoverArrowMargins',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['arrow'],\n effect: function effect(_ref2) {\n var state = _ref2.state;\n\n if (!overlayRef.current || !state.elements.arrow || !hasClass(overlayRef.current, popoverClass)) {\n return undefined;\n }\n\n if (state.modifiersData['arrow#persistent']) {\n // @popperjs/core <= 2.8.3 uses arrow#persistent to pass padding to arrow modifier.\n var _getMargins = getMargins(state.elements.arrow),\n top = _getMargins.top,\n right = _getMargins.right;\n\n var padding = top || right;\n state.modifiersData['arrow#persistent'].padding = {\n top: padding,\n left: padding,\n right: padding,\n bottom: padding\n };\n } else {\n // @popperjs/core >= 2.8.4 gets the padding from the arrow modifier options,\n // so we'll get the margins here, and let the arrow modifier above pass\n // it to popper.\n arrowMargins.current = getMargins(state.elements.arrow);\n }\n\n state.elements.arrow.style.margin = '0';\n return function () {\n if (state.elements.arrow) state.elements.arrow.style.margin = '';\n };\n }\n };\n }, [popoverClass]);\n return [callback, [offset, arrow, popoverArrowMargins]];\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\n\n// Name the function so it is clearer in the documentation\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\n\nfunction parseDuration(node, property) {\n var str = css(node, property) || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nexport default function transitionEndListener(element, handler) {\n var duration = parseDuration(element, 'transitionDuration');\n var delay = parseDuration(element, 'transitionDelay');\n var remove = transitionEnd(element, function (e) {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"children\"];\n\nvar _fadeStyles;\n\nimport classNames from 'classnames';\nimport React, { useCallback } from 'react';\nimport Transition, { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nvar defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false\n};\nvar fadeStyles = (_fadeStyles = {}, _fadeStyles[ENTERING] = 'show', _fadeStyles[ENTERED] = 'show', _fadeStyles);\nvar Fade = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var className = _ref.className,\n children = _ref.children,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var handleEnter = useCallback(function (node) {\n triggerBrowserReflow(node);\n if (props.onEnter) props.onEnter(node);\n }, [props]);\n return /*#__PURE__*/React.createElement(Transition, _extends({\n ref: ref,\n addEndListener: transitionEndListener\n }, props, {\n onEnter: handleEnter\n }), function (status, innerProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({}, innerProps, {\n className: classNames('fade', className, children.props.className, fadeStyles[status])\n }));\n });\n});\nFade.defaultProps = defaultProps;\nFade.displayName = 'Fade';\nexport default Fade;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"transition\", \"popperConfig\"],\n _excluded2 = [\"props\", \"arrowProps\", \"show\", \"update\", \"forceUpdate\", \"placement\", \"state\"];\nimport React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from 'react-overlays/Overlay';\nimport safeFindDOMNode from 'react-overlays/safeFindDOMNode';\nimport usePopperMarginModifiers from './usePopperMarginModifiers';\nimport Fade from './Fade';\nvar defaultProps = {\n transition: Fade,\n rootClose: false,\n show: false,\n placement: 'top'\n};\n\nfunction wrapRefs(props, arrowProps) {\n var ref = props.ref;\n var aRef = arrowProps.ref;\n\n props.ref = ref.__wrapped || (ref.__wrapped = function (r) {\n return ref(safeFindDOMNode(r));\n });\n\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = function (r) {\n return aRef(safeFindDOMNode(r));\n });\n}\n\nfunction Overlay(_ref) {\n var overlay = _ref.children,\n transition = _ref.transition,\n _ref$popperConfig = _ref.popperConfig,\n popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig,\n outerProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var popperRef = useRef({});\n\n var _usePopperMarginModif = usePopperMarginModifiers(),\n ref = _usePopperMarginModif[0],\n marginModifiers = _usePopperMarginModif[1];\n\n var actualTransition = transition === true ? Fade : transition || null;\n return /*#__PURE__*/React.createElement(BaseOverlay, _extends({}, outerProps, {\n ref: ref,\n popperConfig: _extends({}, popperConfig, {\n modifiers: marginModifiers.concat(popperConfig.modifiers || [])\n }),\n transition: actualTransition\n }), function (_ref2) {\n var _state$modifiersData$;\n\n var overlayProps = _ref2.props,\n arrowProps = _ref2.arrowProps,\n show = _ref2.show,\n update = _ref2.update,\n _ = _ref2.forceUpdate,\n placement = _ref2.placement,\n state = _ref2.state,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n wrapRefs(overlayProps, arrowProps);\n var popper = Object.assign(popperRef.current, {\n state: state,\n scheduleUpdate: update,\n placement: placement,\n outOfBoundaries: (state == null ? void 0 : (_state$modifiersData$ = state.modifiersData.hide) == null ? void 0 : _state$modifiersData$.isReferenceHidden) || false\n });\n if (typeof overlay === 'function') return overlay(_extends({}, props, overlayProps, {\n placement: placement,\n show: show\n }, !transition && show && {\n className: 'show'\n }, {\n popper: popper,\n arrowProps: arrowProps\n }));\n return /*#__PURE__*/React.cloneElement(overlay, _extends({}, props, overlayProps, {\n placement: placement,\n arrowProps: arrowProps,\n popper: popper,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: _extends({}, overlay.props.style, overlayProps.style)\n }));\n });\n}\n\nOverlay.defaultProps = defaultProps;\nexport default Overlay;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nvar _excluded = [\"trigger\", \"overlay\", \"children\", \"popperConfig\", \"show\", \"defaultShow\", \"onToggle\", \"delay\", \"placement\", \"flip\"];\nimport contains from 'dom-helpers/contains';\nimport React, { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport safeFindDOMNode from 'react-overlays/safeFindDOMNode';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport Overlay from './Overlay';\n\nvar RefHolder = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(RefHolder, _React$Component);\n\n function RefHolder() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = RefHolder.prototype;\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return RefHolder;\n}(React.Component);\n\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n} // Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\n\n\nfunction handleMouseOverOut( // eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n var e = args[0];\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent[relatedNative];\n\n if ((!related || related !== target) && !contains(target, related)) {\n handler.apply(void 0, args);\n }\n}\n\nvar defaultProps = {\n defaultShow: false,\n trigger: ['hover', 'focus']\n};\n\nfunction OverlayTrigger(_ref) {\n var trigger = _ref.trigger,\n overlay = _ref.overlay,\n children = _ref.children,\n _ref$popperConfig = _ref.popperConfig,\n popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig,\n propsShow = _ref.show,\n _ref$defaultShow = _ref.defaultShow,\n defaultShow = _ref$defaultShow === void 0 ? false : _ref$defaultShow,\n onToggle = _ref.onToggle,\n propsDelay = _ref.delay,\n placement = _ref.placement,\n _ref$flip = _ref.flip,\n flip = _ref$flip === void 0 ? placement && placement.indexOf('auto') !== -1 : _ref$flip,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var triggerNodeRef = useRef(null);\n var timeout = useTimeout();\n var hoverStateRef = useRef('');\n\n var _useUncontrolledProp = useUncontrolledProp(propsShow, defaultShow, onToggle),\n show = _useUncontrolledProp[0],\n setShow = _useUncontrolledProp[1];\n\n var delay = normalizeDelay(propsDelay);\n\n var _ref2 = typeof children !== 'function' ? React.Children.only(children).props : {},\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick;\n\n var getTarget = useCallback(function () {\n return safeFindDOMNode(triggerNodeRef.current);\n }, []);\n var handleShow = useCallback(function () {\n timeout.clear();\n hoverStateRef.current = 'show';\n\n if (!delay.show) {\n setShow(true);\n return;\n }\n\n timeout.set(function () {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n var handleHide = useCallback(function () {\n timeout.clear();\n hoverStateRef.current = 'hide';\n\n if (!delay.hide) {\n setShow(false);\n return;\n }\n\n timeout.set(function () {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n var handleFocus = useCallback(function () {\n handleShow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n onFocus == null ? void 0 : onFocus.apply(void 0, args);\n }, [handleShow, onFocus]);\n var handleBlur = useCallback(function () {\n handleHide();\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n onBlur == null ? void 0 : onBlur.apply(void 0, args);\n }, [handleHide, onBlur]);\n var handleClick = useCallback(function () {\n setShow(!show);\n if (onClick) onClick.apply(void 0, arguments);\n }, [onClick, setShow, show]);\n var handleMouseOver = useCallback(function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n var handleMouseOut = useCallback(function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n var triggers = trigger == null ? [] : [].concat(trigger);\n var triggerProps = {};\n\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, typeof children === 'function' ? children(_extends({}, triggerProps, {\n ref: triggerNodeRef\n })) : /*#__PURE__*/React.createElement(RefHolder, {\n ref: triggerNodeRef\n }, /*#__PURE__*/cloneElement(children, triggerProps)), /*#__PURE__*/React.createElement(Overlay, _extends({}, props, {\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: getTarget\n }), overlay));\n}\n\nOverlayTrigger.defaultProps = defaultProps;\nexport default OverlayTrigger;","import React from \"react\"\nimport { Breadcrumb, Image, Video, Icon, Slider } from \"..\"\nimport \"./_headerPage.scss\"\n// import { Button } from \"../index\"\nimport { Popover, OverlayTrigger, Button } from \"react-bootstrap\"\n\nconst HeaderPage = ({\n title,\n summary,\n category,\n subtitle,\n image,\n video,\n slider,\n icon,\n iconType,\n time,\n dateDay,\n dateMonth,\n slug,\n form,\n pageUrl,\n paginaName,\n pageSectionLink,\n}) => {\n let shareUrl = \"\"\n if (typeof window !== \"undefined\") {\n shareUrl = window.location.href\n }\n const media =\n video ? (\n <Video data={video} variant=\"headerPage\" cols={12} />\n ) : slider ? (\n <Slider slider={slider} />\n ) : !image?.nameImage?.url ? (\n <Image data={image} background={true} variant=\"headerPage\" />\n ) : (\n <img src={image?.nameImage?.url} alt={image?.nameImage?.name} className={`card-bgImage`}/>\n )\n const categoryBlock = category && (\n <div className=\"headline__main__category\">\n <div className=\"headline__main__category__icon\">\n <Icon type={iconType} code={icon} />\n </div>\n <p className=\"headline__main__category__text\">{category}</p>\n </div>\n )\n const subtitleBlock = subtitle && (\n <p className=\"headline__main__subtitle\">{subtitle}</p>\n )\n const summaryBlock = summary && <p>{summary}</p>\n const timeBlock = time && (\n <div className=\"headline__main__time\">\n <Icon type=\"far\" code=\"clock\" />\n <p>{time.slice(0, 5)}hs.</p>\n </div>\n )\n const dateBlock = dateDay && dateMonth && (\n <div className=\"headline__main__date\">\n <p className=\"headline__main__date--month\">{dateMonth.slice(0, 3)}.</p>\n <p className=\"headline__main__date--day\">{dateDay}</p>\n </div>\n )\n const popover = (\n <Popover id=\"popover-basic\">\n <Popover.Content>\n <div className=\"popoverContent\">\n <Icon type=\"fab\" code=\"whatsapp\" />\n <a\n href={`https://api.whatsapp.com/send?text=${shareUrl}`}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n Invitar a un amigo\n </a>\n </div>\n </Popover.Content>\n </Popover>\n )\n const buttonsBlock = dateDay && dateMonth && (\n <div className=\"d-flex mt-2\">\n {form && (\n <Button variant={\"light mr-3\"} href={`#${form}`}>\n Inscribite\n </Button>\n )}\n <OverlayTrigger trigger=\"click\" placement=\"bottom\" overlay={popover}>\n <Button variant=\"button-outline\">Invita a un amigo</Button>\n </OverlayTrigger>\n </div>\n )\n\n return (\n <div className=\"container px-0\">\n <div className=\"headline__breadcrumb col-12 pr-0\">\n <Breadcrumb\n title={title}\n pageUrl={pageUrl}\n paginaName={paginaName}\n pageSectionLink={pageSectionLink}\n />\n </div>\n <div className=\"headline__main\">\n <div className=\"col-12 col-md-7 py-4 d-flex\">\n {dateBlock}\n <div>\n {categoryBlock}\n {subtitleBlock}\n <h1>{title}</h1>\n {summaryBlock}\n {timeBlock}\n {buttonsBlock}\n </div>\n </div>\n {(video || image) && (\n <div className=\"col-12 col-md-5 px-0\">\n <div className=\"headline__media\">{media}</div>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport default HeaderPage\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport \"./_breadcrumb.scss\"\n\nconst Breadcrumb = ({ pageUrl, paginaName, pageSectionLink }) => {\n\n let urls = pageUrl.split(\"/\").splice(1)\n let urlTemp = \"\"\n\n const urlsTemp = urls.map((url, idx) => {\n urlTemp += `${url}/`\n return (\n pageSectionLink === false && idx === 0 ? null :\n <li key={`url-${idx}`}>\n <Link to={`/${urlTemp}`}>{paginaName[idx]}</Link>\n </li>\n )\n })\n\n return (\n <nav aria-label=\"breadcrumb\">\n <ol className=\"breadcrumb px-0\">\n <li>\n <Link to=\"/\">Home</Link>\n </li>\n {urlsTemp}\n </ol>\n </nav>\n )\n}\n\nexport default Breadcrumb\n","import React from \"react\"\nimport { useNews } from \"../../hooks\"\nimport { Button, NewsCard } from \"../index\"\nimport \"./_newsSection.scss\"\n\nconst NewsSection = ({ news, latest, theme, title, anchor }) => {\n const data = useNews()\n\n const newsList = data?.allStrapiNewsContents?.nodes\n\n const customNewsList = news.map(article =>\n newsList.find(art => art.strapiId === article.id)\n )\n\n const latestNews = newsList\n .map(article => (\n <NewsCard\n key={article?.id}\n newsImage={article?.newsImage?.nameImage}\n title={article?.title}\n alt={article?.newsImage?.alt}\n content={article?.content}\n published_at={article?.publishedAt}\n newsTag={article?.newsTag}\n slug={article?.slug}\n cols={3}\n />\n ))\n .slice(0, 4)\n\n const customNews = customNewsList\n .map(article => (\n <NewsCard\n key={article?.id}\n newsImage={article?.newsImage?.nameImage}\n title={article?.title}\n alt={article?.newsImage?.alt}\n content={article?.content}\n published_at={article?.publishedAt}\n newsTag={article?.newsTag}\n slug={article?.slug}\n cols={3}\n />\n ))\n .slice(0, 4)\n\n const newsToDisplay = latest ? latestNews : customNews\n const btnTheme = theme === \"dark\" ? \"light\" : \"green\"\n\n return (\n <div id={`${anchor}`} className={`container-fluid newsSection ${theme}-theme`}>\n <div className=\"container\">\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center\">{title}</h2>\n </div>\n <div className=\"row justify-content-center\">{newsToDisplay}</div>\n <div className=\"row justify-content-center py-5\">\n <Button\n content={\" Ver más noticias \"}\n path={`/noticias`}\n variant={`button-${btnTheme}`}\n />\n </div>\n </div>\n </div>\n )\n}\n\nexport default NewsSection\n","export default __webpack_public_path__ + \"static/whatsapp-7f02d15e4c8e6060c3f61371390c8426.png\";","import React from 'react'\nimport { useAcademicOfferMain } from '../../hooks'\nimport LogoWhatsapp from '../../images/whatsapp.png'\n\nconst FloatingWhatsapp = () => {\n const academicOfferMain = useAcademicOfferMain()\n const pageInfo = academicOfferMain?.allStrapiAcademicOfferMain?.nodes[0]\n const urlWhatsappFlotante = pageInfo?.whatsappFlotante?.url\n return (\n <>\n {urlWhatsappFlotante && (\n <div>\n <a href={urlWhatsappFlotante} target=\"_blank\" rel=\"noreferrer\">\n <img className=\"icon-whatsapp\" src={LogoWhatsapp} alt=\"Whatsapp\" />\n </a>\n </div>\n )}\n </>\n\n )\n}\n\nexport default FloatingWhatsapp\n","import React, { useEffect, useState } from \"react\"\nimport useAppContext from \"../../context/useAppContext\"\nimport \"./_academicOfferFilter.scss\"\nimport { useAcademicOffer } from \"../../hooks\"\n\nimport {\n SearchInput,\n CareerCard,\n CheckBoxFilters,\n CustomSection,\n LoadButton,\n Seo,\n} from \"../index\"\nimport FloatingWhatsapp from \"../FloatingWhatsapp/FloatingWhatsapp.component\"\n\nconst AcademicOfferFilter = ({ filter, filterMenu }) => {\n const { results, loadMore, seeMore, InitialFilter } = useAppContext()\n const data = useAcademicOffer()\n const totalCareers = results.length\n const sections = data?.allStrapiAcademicOffer?.nodes[0].sections\n const pageInfo = data?.allStrapiAcademicOffer?.nodes[0]\n const [menuMark, setMenuMark] = useState(false)\n\n useEffect(() => {\n if (filterMenu !== null && filterMenu !== undefined) {\n const queryFilter = {\n type: filterMenu.id,\n value: filterMenu.value,\n }\n filter.state.id = filterMenu.id\n filter.state.value = filterMenu.value\n InitialFilter(queryFilter)\n setMenuMark(true)\n } else {\n if (filter.state !== null && filter.state !== undefined) {\n const queryFilter = {\n type: filter.state.id,\n value: filter.state.value,\n }\n InitialFilter(queryFilter)\n }\n }\n }, [filterMenu]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const careers = results\n .slice(0, loadMore)\n .map(career => <CareerCard key={career.id} career={career} />)\n\n const buttonDisabled = loadMore >= totalCareers ? true : false\n\n let SEO = \"\"\n if (\n pageInfo.academicOfferSeo !== null &&\n pageInfo.academicOfferSeo !== undefined &&\n pageInfo.academicOfferSeo.pageTitle !== null\n ) {\n const { description, keywords, pageTitle } = pageInfo.academicOfferSeo\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n } else {\n SEO = <Seo title={\"Búsqueda Oferta Académica\"} />\n }\n\n return (\n <div className=\"AcademicOffer\">\n {SEO}\n <div>\n <SearchInput\n title={pageInfo.title ? pageInfo.title : \"Oferta academica\"}\n summary={\n pageInfo.summary\n ? pageInfo.summary\n : \"Programas de pregrado, grado y posgrado para tu formación profesional.\"\n }\n placeholder={\n pageInfo.placeholder ? pageInfo.placeholder : \"Buscar programa\"\n }\n />\n </div>\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-12 col-md-12 col-lg-3\">\n <CheckBoxFilters filter={filter} menuMark={menuMark} />\n </div>\n <div className=\"col-lg-9\">\n <div className=\"container\">\n <div className=\"row\">{careers}</div>\n <div className=\"row justify-content-center py-5\">\n <LoadButton\n content={\"Cargar más entradas\"}\n variant={\"button-green\"}\n click={seeMore}\n disabled={buttonDisabled}\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div>\n <CustomSection sections={sections} />\n </div>\n <FloatingWhatsapp />\n </div>\n )\n}\n\nexport default AcademicOfferFilter\n","import React from \"react\"\nimport {\n BlogSection,\n Testimony,\n NewsSections,\n RelatedPrograms,\n VideoBlock,\n ChildPagesSection,\n Metrics,\n SocialMedia,\n ContactForm,\n EventSection,\n BenefitsVideo,\n BannerSimple,\n SitesBlock,\n SearchCareer,\n} from \"../\"\n\nconst CustomSection = ({ sections, pageId, formFields }) => {\n const section = sections.map((section, index) => {\n\n return (\n <>\n {section.careers !== null && section.careers !== undefined ? (\n section.fields?.enable ? (\n <RelatedPrograms\n key={index}\n careers={section.careers}\n title={section.fields.title}\n theme={section.fields.theme}\n />\n ) : null\n ) : null}\n\n {section.testimonies !== null && section.testimonies !== undefined ? (\n section.fields?.enable ? (\n <Testimony\n key={index}\n testimony={section.testimonies}\n latest={section.latest}\n theme={section.fields.theme}\n title={section.fields.title}\n />\n ) : null\n ) : null}\n\n {section.blog_articles !== null &&\n section.blog_articles !== undefined ? (\n section.fields?.enable ? (\n <BlogSection\n key={index}\n blog={section.blog_articles}\n latest={section.latest}\n theme={section.fields.theme}\n title={section.fields.title}\n anchor={section.fields.anchor}\n />\n ) : null\n ) : null}\n\n {section.videos !== null && section.videos !== undefined ? (\n section.fields?.enable ? (\n <VideoBlock\n key={index}\n video={section.videos}\n theme={section.fields.theme}\n title={section.fields.title}\n />\n ) : null\n ) : null}\n\n {(section.news_contents) !== null &&\n (section.news_contents) !== undefined ? (\n section.fields?.enable ? (\n <NewsSections\n key={index}\n news={section.news_contents}\n latest={section.latest}\n theme={section.fields.theme}\n title={section.fields.title}\n anchor={section.fields.anchor}\n />\n ) : null\n ) : null}\n\n {section.type === \"childPages\" ? (\n section.fields?.enable ? (\n <ChildPagesSection\n pageId={pageId}\n key={index}\n title={section.fields.title}\n theme={section.fields.theme}\n />\n ) : null\n ) : null}\n\n {(section.metrics) !== null &&\n (section.metrics) !== undefined ? (\n section.fields?.enable ? (\n <Metrics\n metrics={section.metrics}\n title={section.fields.title}\n theme={section.fields.theme}\n />\n ) : null\n ) : null}\n\n {(section.social_medias) !== null &&\n (section.social_medias) !== undefined ? (\n section.fields?.enable ? (\n <SocialMedia social_medias={section.social_medias} />\n ) : null\n ) : null}\n\n {(section.form) !== null &&\n (section.form) !== undefined ? (\n section.fields?.enable ? (\n <ContactForm\n form={section.form}\n theme={section.fields.theme}\n anchor={section.fields.anchor}\n title={section.fields.title}\n formFields={formFields}\n />\n ) : null\n ) : null}\n\n {(section.events) !== null &&\n (section.events) !== undefined ? (\n section.fields?.enable ? (\n <EventSection\n events={section.events}\n title={section.fields.title}\n theme={section.fields.theme}\n anchor={section.fields.anchor}\n latest={section.latest}\n />\n ) : null\n ) : null}\n\n {section?.fields?.enable &&\n section.type === \"benefitsVideo\" &&\n (section.fields?.enable ? <BenefitsVideo data={section} /> : null)}\n\n {section?.fields?.enable &&\n section.type === \"sede\" &&\n (section.fields?.enable ? (\n <SitesBlock\n title={section.fields.title}\n theme={section.fields.theme}\n anchor={section.fields.anchor}\n />\n ) : null)}\n\n {section?.banner_item !== undefined &&\n section?.banner_item !== null && (\n <BannerSimple bannerItems={section?.banner_item} />\n )}\n\n {section?.fields?.enable &&\n section.type === \"searchCareer\" &&\n (section.fields?.enable ? (\n <SearchCareer\n title={section.fields.title}\n theme={section.fields.theme}\n anchor={section.fields.anchor}\n />\n ) : null)}\n </>\n )\n })\n\n return <div>{section}</div>\n}\n\nexport default CustomSection\n","import React from \"react\"\nimport {\n useAttendanceModes,\n useCareerStudyClass,\n useProgramTypes,\n useAcademicOfferMain,\n} from \"../../hooks\"\nimport { LinkStudyClasses, AcademicOfferCard, Seo } from \"../index\"\nimport { getImage } from \"gatsby-plugin-image\"\nimport \"./_academicOffer.scss\"\nimport { HeaderPage } from \"../../components\"\nimport CustomSection from \"../CustomSection/customSection.component\"\nimport FloatingWhatsapp from \"../FloatingWhatsapp/FloatingWhatsapp.component\"\n\nconst AcademicOffer = () => {\n const studyClasses = useCareerStudyClass()\n const programsTypes = useProgramTypes()\n const attendanceModes = useAttendanceModes()\n const academicOfferMain = useAcademicOfferMain()\n\n const pageInfo = academicOfferMain?.allStrapiAcademicOfferMain?.nodes[0]\n\n const headerPage = (\n <HeaderPage\n title={pageInfo.title}\n summary={pageInfo.summary}\n pageUrl=\"/oferta-academica\"\n paginaName={[\"Oferta Académica\"]}\n />\n )\n\n const imgStudyClass =\n pageInfo.imageStudyClasses !== null\n ? getImage(pageInfo.imageStudyClasses)\n : \"\"\n const imageAttendanceModes =\n pageInfo.imageAttendanceModes !== null\n ? getImage(pageInfo.imageAttendanceModes)\n : \"\"\n\n const studyClassesList = studyClasses?.allStrapiCareerStudyClasses?.nodes.map(\n studyclass => (\n <LinkStudyClasses studyclass={studyclass} key={studyclass.id} />\n )\n )\n\n let SEO = \"\"\n\n if (\n pageInfo.academicOfferMainSeo !== null &&\n pageInfo.academicOfferMainSeo !== undefined &&\n pageInfo.academicOfferMainSeo.pageTitle !== null\n ) {\n const { description, keywords, pageTitle } = pageInfo.academicOfferMainSeo\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n } else {\n SEO = <Seo title={\"Oferta Académica\"} />\n }\n\n return (\n <div>\n {SEO}\n <div className=\"headline headline-center\">{headerPage}</div>\n <div className=\"container containerFilter\">\n <div className=\"row\">\n <div className=\"col-12\">\n <h1 className=\"h2\">Ãreas de Estudio</h1>\n </div>\n </div>\n <div className=\"row containerFilter__row\">{studyClassesList}</div>\n <div className=\"row\">\n <div className=\"col-12 col-md-6 containerFilter__col\">\n <AcademicOfferCard\n card={programsTypes?.allStrapiStudyClasses?.nodes}\n type={pageInfo?.titleStudyClasses || \"Tipos de Programa\"}\n id={1}\n image={imgStudyClass}\n />\n </div>\n <div className=\"col-12 col-md-6\">\n <AcademicOfferCard\n card={attendanceModes?.allStrapiAttendanceModes?.nodes}\n type={pageInfo?.titleAttendanceModes || \"Modalidades\"}\n id={2}\n image={imageAttendanceModes}\n />\n </div>\n </div>\n </div>\n <CustomSection sections={pageInfo.section} />\n <FloatingWhatsapp />\n </div>\n )\n}\n\nexport default AcademicOffer\n","import React from \"react\"\nimport useAppContext from \"../../context/useAppContext\"\nimport { FaSearch } from \"../icons\"\nimport \"./_searchInput.scss\"\n\n//hacer dinamico los textos con title, summary, placeholder en props//\n\nconst SearchInput = ({ title, summary, placeholder }) => {\n const { textInput, handleKeyPress, handleEnterPress } = useAppContext()\n\n return (\n <div className=\"Search\">\n <div className=\"Search__programs container \">\n <div className=\"Search__programs__titles \">\n <h3>{title}</h3>\n <div className=\"text-center\">\n <p>\n {summary}\n </p>\n </div>\n </div>\n <div className=\"row\">\n <div className=\"col-12 Search__programs__group\">\n <input\n className=\"Search__programs__input\"\n type=\"text\"\n name=\"query\"\n id=\"seach\"\n key=\"query\"\n placeholder={placeholder}\n ref={textInput}\n onKeyPress={handleEnterPress}\n />\n <button\n className=\"Search__programs__button \"\n onClick={handleKeyPress}\n >\n <FaSearch />\n </button>\n </div>\n </div>\n </div>\n </div>\n )\n}\nexport default SearchInput\n","import React from \"react\"\nimport { getImage } from \"gatsby-plugin-image\"\nimport { BgImage } from \"gbimage-bridge\"\nimport { Button } from \"../index\"\nimport \"./_career.scss\"\n\nconst Career = ({ career }) => {\n const {\n name,\n duration,\n state,\n careerImage,\n attendance_modes,\n study_class,\n slug,\n } = career\n\n\n const modalidad = attendance_modes.map((modalidad, index) =>\n index > 0 ? (\n <span key={modalidad}>, {modalidad} </span>\n ) : (\n <span key={modalidad}>{modalidad}</span>\n )\n )\n const tipoPrograma = study_class.name\n const image = getImage(careerImage)\n\n return (\n <>\n {state === \"Active\" || state === \"Unknown\" ? (\n <div className=\"col-12 col-sm-6 col-md-4 mb-4\">\n <div className=\"Career \">\n <div className=\"Career__box\">\n <BgImage image={image} className=\"Career__box__bgImage\">\n {state === \"Unknown\" ? <></> : <span>Inscripción Abierta</span>}\n </BgImage>\n </div>\n <div className=\"Career__text\">\n <div className=\"Career__text__certificacion\">{tipoPrograma}</div>\n <h6 className=\"Career__text__carrera\">{name}</h6>\n <div className=\"Career__text__duration\">\n <p>\n <strong>Duración: </strong>\n <span>{duration}</span>\n </p>\n </div>\n <div className=\"Career__text__modalidad\">\n <p>\n <strong>Modalidad: </strong>\n {modalidad}\n </p>\n </div>\n </div>\n <div className=\"Career__button\">\n <Button\n content={\"Más Información\"}\n variant={\"button-yellow w-100\"}\n path={`/oferta-academica/${slug}`}\n />\n </div>\n </div>\n </div>\n ) : null}\n </>\n )\n}\nexport default Career\n","import React, { useState } from \"react\"\nimport {\n useAttendanceModes,\n useProgramTypes,\n useCareerStudyClass,\n} from \"../../hooks\"\nimport useAppContext from \"../../context/useAppContext\"\nimport { CheckBoxList, Accordion, LoadButton } from \"../index\"\nimport \"./_checkBoxFilters.scss\"\n\nconst CheckBoxFilters = ({ filter , menuMark }) => {\n const {\n resetSearch,\n checkboxPress\n } = useAppContext()\n\n const [activeMode, setActiveMode] = useState(true)\n const [activeProgram, setActiveProgram] = useState(true)\n const [activeStudyClass, setActiveStudyClass] = useState(true)\n // const [isChecked, setIsChecked] = useState()\n\n const dataAttendanceModes = useAttendanceModes()\n const dataProgramType = useProgramTypes()\n const dataCareerStudyArea = useCareerStudyClass()\n\n const handleAreaList = () => {\n !activeStudyClass ? setActiveStudyClass(true) : setActiveStudyClass(false)\n }\n const handleModalityList = () => {\n !activeMode ? setActiveMode(true) : setActiveMode(false)\n }\n const handleProgramTypeList = () => {\n !activeProgram ? setActiveProgram(true) : setActiveProgram(false)\n }\n\n const resetCheckbox = () => {\n resetSearch()\n const checkboxLength = document.getElementsByClassName('CheckboxList__input').length\n\n for (let i = 0; i < checkboxLength; i++) {\n document.getElementsByClassName('CheckboxList__input').item(i).checked = false\n }\n\n }\n\n const programs = dataProgramType?.allStrapiStudyClasses\n const program_types = programs ? (\n <div className=\"row Checkbox__accordion mx-0\">\n <Accordion\n onActive={handleProgramTypeList}\n title={\"Tipo de Programas\"}\n state={activeProgram}\n />\n {activeProgram ? (\n <div>\n {programs.nodes.map(programs => (\n <div key={programs?.id}>\n <CheckBoxList\n name={programs?.name}\n id={programs?.id}\n code={programs?.code}\n onPress={checkboxPress}\n filter={filter}\n idType={1}\n menuMark={menuMark}\n />\n </div>\n ))}\n </div>\n ) : null}\n </div>\n ) : null\n\n const studyAreas = dataCareerStudyArea?.allStrapiCareerStudyClasses\n const study_areas = studyAreas ? (\n <div className=\"row Checkbox__accordion mx-0\">\n <Accordion\n onActive={handleAreaList}\n title={\"Ãreas de estudio\"}\n state={activeStudyClass}\n />\n {activeStudyClass ? (\n <div>\n {studyAreas.nodes.map(areas => (\n <div key={areas?.id}>\n <CheckBoxList\n name={areas?.name}\n id={areas?.id}\n code={areas?.code}\n onPress={checkboxPress}\n filter={filter}\n idType={4}\n menuMark={menuMark}\n />\n </div>\n ))}\n </div>\n ) : null}\n </div>\n ) : null\n\n const modalities = dataAttendanceModes?.allStrapiAttendanceModes\n const modality = modalities ? (\n <div className=\"row Checkbox__accordion mx-0\">\n <Accordion\n onActive={handleModalityList}\n title={\"Modalidades\"}\n state={activeMode}\n />\n {activeMode ? (\n <div>\n {modalities.nodes.map(mode => (\n <div key={mode?.id}>\n <CheckBoxList\n name={mode?.name}\n id={mode?.id}\n code={mode?.code}\n onPress={checkboxPress}\n filter={filter}\n idType={2}\n menuMark={menuMark}\n />\n </div>\n ))}\n </div>\n ) : null}\n </div>\n ) : null\n\n return (\n <>\n <div className=\"Checkbox \">\n <p className=\"Checkbox__title\">Filtrar por</p>\n <div className=\"container px-0\">\n {program_types}\n\n {study_areas}\n\n {modality}\n\n <div className=\"row Checkbox__accordion justify-content-center mx-0\">\n <LoadButton\n content={\"Reiniciar búsqueda\"}\n variant={\"button-white-outline\"}\n click={resetCheckbox}\n />\n </div>\n </div>\n </div>\n </>\n )\n}\n\nexport default CheckBoxFilters\n","import React from \"react\"\nimport \"./_checkBoxList.scss\"\n\nconst CheckBoxList = props => {\n const { code, id, name, onPress, filter, idType, menuMark } = props\n let mark = false\n\n const handlePressCheckBox = e => {\n onPress(e,idType)\n }\n\n if (filter.state !== null && filter.state !== undefined) {\n mark = filter.state.id === idType && filter.state.value === name ? true : false\n\n }\n return (\n <div>\n <label className=\"CheckboxList__label\">\n {menuMark ? <input\n className=\"CheckboxList__input\"\n type=\"checkbox\"\n id={`${id}`}\n name={`${code}`}\n value={`${name}`}\n onClick={handlePressCheckBox}\n checked={mark}\n \n /> :\n <input\n className=\"CheckboxList__input\"\n type=\"checkbox\"\n id={`${id}`}\n name={`${code}`}\n value={`${name}`}\n onClick={handlePressCheckBox}\n defaultChecked={mark}\n \n />\n }\n {name}\n </label>\n </div>\n )\n}\n\nexport default CheckBoxList\n","import React from \"react\"\nimport { FaAngleDown, FaAngleUp } from \"../icons/index\"\nimport { OneInternalLink } from '..'\nimport \"./_accordion.scss\"\n\nconst Accordion = ({ title, titleLink, onActive, state, isLink}) => {\n const handleAccordion = () => {\n onActive(state)\n }\n return (\n <div className=\"Accordion\">\n {\n isLink ? \n (<OneInternalLink internalLink={titleLink} />) :\n (<p className=\"Accordion__title\">{title}</p>)\n }\n <button\n onClick={handleAccordion}\n className=\"row Accordion__btn btn btn-outline \"\n >\n {state ? <FaAngleUp /> : <FaAngleDown /> }\n </button>\n </div>\n )\n}\n\nexport default Accordion\n","import React from \"react\"\nimport \"./_video.scss\"\n\nconst VideoYoutube = ({ data, variant, cols }) => {\n const url = data?.urlVideo.replace(\"watch?v=\", \"embed/\")\n let code = url?.substring(url.lastIndexOf(\"/\") + 1, url.length)\n const codeIndex = code?.indexOf(\"?\")\n\n if (codeIndex !== -1) {\n code = code?.substring(0, code.indexOf(\"?\"))\n }\n\n return (\n <>\n <div\n className={`${variant}__video mb-3 col-${cols}`}\n aria-label=\"Reproductor de video de youtube\"\n >\n <div className=\"embed-responsive embed-responsive-1by1\">\n <iframe\n loading=\"lazy\"\n className=\"embed-responsive-item\"\n type=\"text/html\"\n src={url}\n frameBorder=\"0\"\n allowFullScreen\n title=\"embebed-video\"\n srcDoc={`<style>*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{aspect-ratio:4.5/2.5;\n object-fit:cover;position:absolute; width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}</style>\n <a href=${url}>\n <img src=https://img.youtube.com/vi/${code}/hqdefault.jpg alt='Video'>\n <span>â–¶</span></a>`}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n ></iframe>\n </div>\n </div>\n </>\n )\n}\nexport default VideoYoutube\n","import React, { useEffect, useState } from \"react\"\nimport \"./_video.scss\"\n\nconst VideoVimeo = ({ data, variant, cols }) => {\n const urlApi = 'https://vimeo.com/api/oembed.json?url=https://vimeo.com/'\n const url = data?.urlVideo\n let videoId = url.substring(url.lastIndexOf(\"/\") + 1, url.length)\n\n const [image, setImage] = useState();\n const codeIndex = videoId.indexOf(\"?\")\n\n if (codeIndex !== -1) {\n videoId = videoId.substring(0, videoId.indexOf(\"?\"))\n }\n\n useEffect(() => {\n getImgVimeo()\n }, [])\n\n const getImgVimeo = async () => {\n const resp = await fetch(`${urlApi}${videoId}`)\n const data = await resp.json()\n const urlImg = data?.thumbnail_url\n setImage(urlImg)\n }\n\n return (\n <>\n <div\n className={`${variant}__video mb-3 col-${cols}`}\n aria-label=\"Reproductor de video de vimeo\"\n >\n <div className=\"embed-responsive embed-responsive-1by1\">\n <iframe\n loading=\"lazy\"\n className=\"embed-responsive-item\"\n type=\"text/html\"\n src={url}\n frameBorder=\"0\"\n allowFullScreen\n title=\"embebed-video\"\n srcDoc={`<style>*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;\n width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}</style>\n <a href=${url}>\n <img src=${image} alt='Video'>\n <span>â–¶</span></a>`}\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n ></iframe>\n </div>\n </div>\n </>\n )\n}\nexport default VideoVimeo\n","import React from \"react\"\nimport { CustomMenu, ChildrenMenu } from \"..\"\n\nconst NavegationContent = ({ content, id, name, hiddecontact }) => {\n const navegationContent = content.map(item => {\n return (\n <div key={item.id}>\n {item.type === \"childrenMenu\" && <ChildrenMenu id={id} name={name}/>}\n {item.type === \"customMenu\" && <CustomMenu data={item} hiddecontact={hiddecontact}/>}\n </div>\n )\n })\n return <div className=\"col-12 col-md-3 col-lg-2 px-5 px-md-3 \">{navegationContent}</div>\n}\n\nexport default NavegationContent\n","import React, { Fragment } from \"react\"\nimport { Link } from \"gatsby\"\nimport \"./_customMenu.scss\"\nimport { FaArrowRight } from \"@react-icons/all-files/fa/FaArrowRight\"\nimport { InternalLink } from \"../index\"\n\nconst CustomMenu = ({ data, hiddecontact }) => {\n // const pages = usePages()\n\n const externalLinks = data?.externalLinks.map(link => {\n return (\n <li key={link?.id} className=\"customMenu__link\">\n <a href={`${link?.url}`} target=\"_blank\" rel=\"noreferrer\">{link?.name}</a>\n <FaArrowRight />\n </li>\n )\n })\n \n return (\n <div className=\"row customMenu\">\n <ul>\n <li className=\"customMenu__link\">\n <Link to={`/noticias`}>Novedades</Link>\n <FaArrowRight />\n </li>\n {!hiddecontact && \n <li className=\"customMenu__link\">\n <Link to={`/contacto`}>Contacto</Link>\n <FaArrowRight />\n </li>\n }\n {externalLinks}\n {data?.internalLinks !== undefined && data?.internalLinks !== null ? \n <Fragment key={'1'}><InternalLink internalLinks={data.internalLinks} variant={'internalLink__button'}/></Fragment>\n : null}\n {/* {internalLinks} */}\n </ul>\n </div>\n )\n}\n\nexport default CustomMenu\n","import React, { useState } from \"react\"\nimport { Link } from \"gatsby\"\nimport { usePages } from \"../../hooks\"\nimport { Accordion } from \"../index\"\nimport \"./_childrenMenu.scss\"\n\nconst ChildrenMenu = ({ id, name }) => {\n const pages = usePages()\n const [activeChild, setActiveChild] = useState(true)\n const handleChildList = () => {\n !activeChild ? setActiveChild(true) : setActiveChild(false)\n }\n const links = pages?.allStrapiPages?.nodes.map(item => {\n if (item.strapiParent?.id === id) {\n return (\n <li key={item?.id}>\n <Link\n to={`/${item.menuSection?.slug}/${item.strapiParent?.slug}/${item.slug}`}\n >\n {item?.name}\n </Link>\n </li>\n )\n } else {\n return null\n }\n })\n\n return (\n <div className=\"row childrenMenu\">\n <Accordion onActive={handleChildList} title={name} state={activeChild} />\n {activeChild && (\n <nav>\n <ul className=\"childrenMenu__links\">{links}</ul>\n </nav>\n )}\n </div>\n )\n}\n\nexport default ChildrenMenu\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { Icon } from \"../../components\"\nimport \"./_linkStudyClass.scss\"\n\nconst LinkStudyClasses = ({ studyclass }) => {\n const {\n name,\n icon\n } = studyclass\n\n return (\n <>\n <div className=\"col-12 col-md-6 mb-3 studyLink\" >\n <div className=\"studyLink__container\" >\n <div className=\"studyLink__icon\">\n {icon !== null && <Icon type={icon?.type} code={icon?.code} />}\n </div>\n <div className=\"studyLink__link\">\n <Link\n to={'/oferta-academica-filtro'}\n state={{ id: 4, value: name}}\n >\n {name}\n </Link>\n </div>\n </div>\n\n </div>\n\n </>\n )\n}\nexport default LinkStudyClasses\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { BgImage } from \"gbimage-bridge\"\nimport \"./_academicOfferCard.scss\"\n\n\nconst AcademicOfferCard = ({ card, type, id, image }) => {\n const links = card.map(card =>\n <div className=\"cardFilter__div\" key={card.id}>\n <Link\n to={'/oferta-academica-filtro'}\n state={{ id: id, value: card.name }}\n >\n {card.name}{' >'}\n </Link>\n </div>\n )\n\n const img = image !== '' ?\n <BgImage\n image={image}\n className=\"cardFilter__bgImage\"\n alt={`image-${id}`}\n >\n </BgImage>\n : ''\n\n return (\n <div className=\"card cardFilter\">\n {/* <GatsbyImage image={image} /> */}\n {img}\n <div className=\"card-body programs\">\n <p>{type}</p>\n {links}\n </div>\n </div>\n\n )\n}\nexport default AcademicOfferCard\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n} // Get CSS class list from a props object\n\n\nfunction classList(props) {\n var _classes;\n\n var spin = props.spin,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-spin': spin,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n} // Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\n\n\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, [\"style\"]);\n\n mixins.attrs['style'] = _objectSpread2({}, mixins.attrs['style'], {}, existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2({}, mixins.attrs, {}, remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log() {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n} // creates an object with a key of key\n// and a value of value\n// if certain conditions are met\n\n\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2({}, classes, {}, transform, {}, mask, {\n symbol: symbol,\n title: title,\n titleId: titleId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\n\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n border: PropTypes.bool,\n className: PropTypes.string,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n size: PropTypes.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n title: '',\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\nexport { FontAwesomeIcon };","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"far\";\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"]\n};\nvar faAngry = {\n prefix: 'far',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"]\n};\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"]\n};\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"]\n};\nvar faCalendarAlt = {\n prefix: 'far',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"]\n};\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarTimes = {\n prefix: 'far',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'far',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'far',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'far',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'far',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"]\n};\nvar faCheckCircle = {\n prefix: 'far',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"]\n};\nvar faCheckSquare = {\n prefix: 'far',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"]\n};\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"]\n};\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"]\n};\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faCommentAlt = {\n prefix: 'far',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"]\n};\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"]\n};\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"]\n};\nvar faDizzy = {\n prefix: 'far',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"]\n};\nvar faDotCircle = {\n prefix: 'far',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"]\n};\nvar faEdit = {\n prefix: 'far',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"]\n};\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"]\n};\nvar faFileAlt = {\n prefix: 'far',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"]\n};\nvar faFileArchive = {\n prefix: 'far',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"]\n};\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"]\n};\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"]\n};\nvar faFlushed = {\n prefix: 'far',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"]\n};\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'far',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFrown = {\n prefix: 'far',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"]\n};\nvar faFrownOpen = {\n prefix: 'far',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"]\n};\nvar faGrimace = {\n prefix: 'far',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"]\n};\nvar faGrin = {\n prefix: 'far',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faGrinAlt = {\n prefix: 'far',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'far',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'far',\n iconName: 'grin-beam-sweat',\n icon: [496, 512, [], \"f583\", \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinHearts = {\n prefix: 'far',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"]\n};\nvar faGrinSquint = {\n prefix: 'far',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'far',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"]\n};\nvar faGrinStars = {\n prefix: 'far',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"]\n};\nvar faGrinTears = {\n prefix: 'far',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinTongue = {\n prefix: 'far',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'far',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'far',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"]\n};\nvar faGrinWink = {\n prefix: 'far',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"]\n};\nvar faHandPaper = {\n prefix: 'far',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"]\n};\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"]\n};\nvar faHandRock = {\n prefix: 'far',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"]\n};\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"]\n};\nvar faHdd = {\n prefix: 'far',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"]\n};\nvar faKiss = {\n prefix: 'far',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faKissBeam = {\n prefix: 'far',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'far',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"]\n};\nvar faLaugh = {\n prefix: 'far',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughBeam = {\n prefix: 'far',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughSquint = {\n prefix: 'far',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughWink = {\n prefix: 'far',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"]\n};\nvar faListAlt = {\n prefix: 'far',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"]\n};\nvar faMeh = {\n prefix: 'far',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMehBlank = {\n prefix: 'far',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'far',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMinusSquare = {\n prefix: 'far',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'far',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"]\n};\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"]\n};\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"]\n};\nvar faPauseCircle = {\n prefix: 'far',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlayCircle = {\n prefix: 'far',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"]\n};\nvar faPlusSquare = {\n prefix: 'far',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faQuestionCircle = {\n prefix: 'far',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"]\n};\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"]\n};\nvar faSadCry = {\n prefix: 'far',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"]\n};\nvar faSadTear = {\n prefix: 'far',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"]\n};\nvar faSave = {\n prefix: 'far',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"]\n};\nvar faShareSquare = {\n prefix: 'far',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"]\n};\nvar faSmile = {\n prefix: 'far',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"]\n};\nvar faSmileBeam = {\n prefix: 'far',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"]\n};\nvar faSmileWink = {\n prefix: 'far',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"]\n};\nvar faStickyNote = {\n prefix: 'far',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"]\n};\nvar faStopCircle = {\n prefix: 'far',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"]\n};\nvar faSurprise = {\n prefix: 'far',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"]\n};\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faTimesCircle = {\n prefix: 'far',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"]\n};\nvar faTired = {\n prefix: 'far',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"]\n};\nvar faTrashAlt = {\n prefix: 'far',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"]\n};\nvar faUserCircle = {\n prefix: 'far',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"]\n};\nvar faWindowClose = {\n prefix: 'far',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"]\n};\nvar _iconsCache = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAngry: faAngry,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBookmark: faBookmark,\n faBuilding: faBuilding,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faCircle: faCircle,\n faClipboard: faClipboard,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDots: faCommentDots,\n faComments: faComments,\n faCompass: faCompass,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCreditCard: faCreditCard,\n faDizzy: faDizzy,\n faDotCircle: faDotCircle,\n faEdit: faEdit,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEye: faEye,\n faEyeSlash: faEyeSlash,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileExcel: faFileExcel,\n faFileImage: faFileImage,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFlag: faFlag,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFutbol: faFutbol,\n faGem: faGem,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHandshake: faHandshake,\n faHdd: faHdd,\n faHeart: faHeart,\n faHospital: faHospital,\n faHourglass: faHourglass,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faImage: faImage,\n faImages: faImages,\n faKeyboard: faKeyboard,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLemon: faLemon,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faListAlt: faListAlt,\n faMap: faMap,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMinusSquare: faMinusSquare,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faNewspaper: faNewspaper,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faPaperPlane: faPaperPlane,\n faPauseCircle: faPauseCircle,\n faPlayCircle: faPlayCircle,\n faPlusSquare: faPlusSquare,\n faQuestionCircle: faQuestionCircle,\n faRegistered: faRegistered,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSave: faSave,\n faShareSquare: faShareSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSnowflake: faSnowflake,\n faSquare: faSquare,\n faStar: faStar,\n faStarHalf: faStarHalf,\n faStickyNote: faStickyNote,\n faStopCircle: faStopCircle,\n faSun: faSun,\n faSurprise: faSurprise,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faTimesCircle: faTimesCircle,\n faTired: faTired,\n faTrashAlt: faTrashAlt,\n faUser: faUser,\n faUserCircle: faUserCircle,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore\n};\nexport { _iconsCache as far, prefix, faAddressBook, faAddressCard, faAngry, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faBell, faBellSlash, faBookmark, faBuilding, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faChartBar, faCheckCircle, faCheckSquare, faCircle, faClipboard, faClock, faClone, faClosedCaptioning, faComment, faCommentAlt, faCommentDots, faComments, faCompass, faCopy, faCopyright, faCreditCard, faDizzy, faDotCircle, faEdit, faEnvelope, faEnvelopeOpen, faEye, faEyeSlash, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileExcel, faFileImage, faFilePdf, faFilePowerpoint, faFileVideo, faFileWord, faFlag, faFlushed, faFolder, faFolderOpen, faFontAwesomeLogoFull, faFrown, faFrownOpen, faFutbol, faGem, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSpock, faHandshake, faHdd, faHeart, faHospital, faHourglass, faIdBadge, faIdCard, faImage, faImages, faKeyboard, faKiss, faKissBeam, faKissWinkHeart, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLemon, faLifeRing, faLightbulb, faListAlt, faMap, faMeh, faMehBlank, faMehRollingEyes, faMinusSquare, faMoneyBillAlt, faMoon, faNewspaper, faObjectGroup, faObjectUngroup, faPaperPlane, faPauseCircle, faPlayCircle, faPlusSquare, faQuestionCircle, faRegistered, faSadCry, faSadTear, faSave, faShareSquare, faSmile, faSmileBeam, faSmileWink, faSnowflake, faSquare, faStar, faStarHalf, faStickyNote, faStopCircle, faSun, faSurprise, faThumbsDown, faThumbsUp, faTimesCircle, faTired, faTrashAlt, faUser, faUserCircle, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore };","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { fas } from '@fortawesome/free-solid-svg-icons'\nimport { far } from '@fortawesome/free-regular-svg-icons'\nimport { fab } from '@fortawesome/free-brands-svg-icons'\n\nlibrary.add(fas)\nlibrary.add(far)\nlibrary.add(fab)\n\n","import React from \"react\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport \"../icons/fontawesome\"\n\nconst Icon = ({ type, code }) => {\n return (\n <React.Fragment>\n <FontAwesomeIcon icon={[ type, code]} />\n </React.Fragment>\n )\n}\n\nexport default Icon\n","import React from \"react\"\nimport { usePages } from \"../../hooks\"\nimport \"./_childPagesSection.scss\"\nimport { ChildPageCard } from \"../index\"\n\nconst ChildPagesSection = ({ pageId, title, theme }) => {\n const data = usePages()\n\n const childPages = []\n data?.allStrapiPages?.nodes.forEach(page => {\n if (page.strapiParent?.id === pageId) childPages.push(page)\n })\n\n const childPagesList = childPages.map(page => \n <ChildPageCard\n key={page?.id}\n title={page?.title}\n summary={page?.summary}\n slug={page?.slug}\n nameParent={page?.strapiParent?.name}\n img={page?.image?.nameImage}\n />\n )\n\n return (\n childPages.length > 0 && (\n <div className={`container-fluid childPagesSection ${theme}-theme`}>\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center\">{title}</h2>\n </div>\n <div className=\"container d-flex flex-wrap justify-content-center\">{childPagesList}</div>\n </div>\n )\n\n )\n}\n\nexport default ChildPagesSection\n","import React from \"react\"\nimport \"./_childPageCard.scss\"\nimport { Link } from \"gatsby\"\nimport { Button } from \"../index\"\n\nconst ChildPageCard = ({ key, title, summary, slug, nameParent }) => {\n\n return (\n <div className=\"col-12 col-md-6 mb-sm-1 p-2\">\n <div className=\"childPageCard \">\n <div className=\"childPageCard__text col-8\">\n <p className=\"childPageCard__text__parent\">{nameParent}</p>\n <Link to={slug} className=\"card-title\">\n {title}\n </Link>\n <p className=\"childPageCard__text__summary\">{summary}</p>\n </div>\n <div className=\"childPageCard__button col-4\">\n <Button content={\"Ver más\"} variant={\"button-yellow\"} path={slug} />\n </div>\n </div>\n </div>\n )\n}\n\nexport default ChildPageCard\n","import React from \"react\"\nimport \"./_video.scss\"\nimport { VideoYoutube } from \"../index\"\n\nconst Video = ({ data, variant, cols }) => {\n\n return (\n <VideoYoutube key={data?.id} data={data} variant={variant} cols={cols} />\n )\n}\nexport default Video\n","import React from \"react\"\nimport { VideoYoutube, VideoVimeo } from \"../index\"\nimport useVideoBlock from \"../../hooks/useVideoBlock\"\nimport \"./_videoBlock.scss\"\n\nconst VideoBlock = ({ video, theme, title }) => {\n const data = useVideoBlock()\n const videoList = data?.allStrapiVideos?.nodes\n\n const selectedVideos = video.map(vid =>\n videoList.find(v => v.strapiId === vid.id)\n )\n const classVideo =\n selectedVideos.length > 1 ? \"VideoBlock\" : \"VideoBlock__one\"\n\n const videos = selectedVideos?.map(video => {\n\n if (video.video.source === \"youtube\") {\n return <VideoYoutube key={video?.id} data={video?.video} variant={`${classVideo}`} />\n } else {\n return <VideoVimeo key={video?.id} data={video?.video} variant={`${classVideo}`} />\n }\n })\n\n return (\n <div className={`VideoBlock ${theme}-theme`}>\n <div className=\"container\">\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center VideoBlock__title\">{title}</h2>\n <div className=\"col-12 VideoBlock__list\">{videos}</div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default VideoBlock\n","function makeTypeChecker(tabsRole) {\n return function (element) {\n return !!element.type && element.type.tabsRole === tabsRole;\n };\n}\n\nexport var isTab = makeTypeChecker('Tab');\nexport var isTabList = makeTypeChecker('TabList');\nexport var isTabPanel = makeTypeChecker('TabPanel');","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nimport { Children, cloneElement } from 'react';\nimport { isTabPanel, isTab, isTabList } from './elementTypes';\n\nfunction isTabChild(child) {\n return isTab(child) || isTabList(child) || isTabPanel(child);\n}\n\nexport function deepMap(children, callback) {\n return Children.map(children, function (child) {\n // null happens when conditionally rendering TabPanel/Tab\n // see https://github.com/reactjs/react-tabs/issues/37\n if (child === null) return null;\n\n if (isTabChild(child)) {\n return callback(child);\n }\n\n if (child.props && child.props.children && typeof child.props.children === 'object') {\n // Clone the child that has children and map them too\n return /*#__PURE__*/cloneElement(child, _extends({}, child.props, {\n children: deepMap(child.props.children, callback)\n }));\n }\n\n return child;\n });\n}\nexport function deepForEach(children, callback) {\n return Children.forEach(children, function (child) {\n // null happens when conditionally rendering TabPanel/Tab\n // see https://github.com/reactjs/react-tabs/issues/37\n if (child === null) return;\n\n if (isTab(child) || isTabPanel(child)) {\n callback(child);\n } else if (child.props && child.props.children && typeof child.props.children === 'object') {\n if (isTabList(child)) callback(child);\n deepForEach(child.props.children, callback);\n }\n });\n}","function toVal(mix) {\n var k,\n y,\n str = '';\n\n if (typeof mix === 'string' || typeof mix === 'number') {\n str += mix;\n } else if (typeof mix === 'object') {\n if (Array.isArray(mix)) {\n for (k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (y = toVal(mix[k])) {\n str && (str += ' ');\n str += y;\n }\n }\n }\n } else {\n for (k in mix) {\n if (mix[k]) {\n str && (str += ' ');\n str += k;\n }\n }\n }\n }\n\n return str;\n}\n\nexport default function () {\n var i = 0,\n tmp,\n x,\n str = '';\n\n while (i < arguments.length) {\n if (tmp = arguments[i++]) {\n if (x = toVal(tmp)) {\n str && (str += ' ');\n str += x;\n }\n }\n }\n\n return str;\n}","// Get a universally unique identifier\nvar count = 0;\nexport default function uuid() {\n return \"react-tabs-\" + count++;\n}\nexport function reset() {\n count = 0;\n}","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { cloneElement, Component } from 'react';\nimport cx from 'clsx';\nimport uuid from '../helpers/uuid';\nimport { childrenPropType } from '../helpers/propTypes';\nimport { getPanelsCount as _getPanelsCount, getTabsCount as _getTabsCount } from '../helpers/count';\nimport { deepMap } from '../helpers/childrenDeepMap';\nimport { isTabList, isTabPanel, isTab } from '../helpers/elementTypes';\n\nfunction isNode(node) {\n return node && 'getAttribute' in node;\n} // Determine if a node from event.target is a Tab element\n\n\nfunction isTabNode(node) {\n return isNode(node) && node.getAttribute('role') === 'tab';\n} // Determine if a tab node is disabled\n\n\nfunction isTabDisabled(node) {\n return isNode(node) && node.getAttribute('aria-disabled') === 'true';\n}\n\nvar canUseActiveElement;\n\nfunction determineCanUseActiveElement(environment) {\n var env = environment || (typeof window !== 'undefined' ? window : undefined);\n\n try {\n canUseActiveElement = !!(typeof env !== 'undefined' && env.document && env.document.activeElement);\n } catch (e) {\n // Work around for IE bug when accessing document.activeElement in an iframe\n // Refer to the following resources:\n // http://stackoverflow.com/a/10982960/369687\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12733599\n canUseActiveElement = false;\n }\n}\n\nvar UncontrolledTabs = /*#__PURE__*/function (_Component) {\n _inheritsLoose(UncontrolledTabs, _Component);\n\n function UncontrolledTabs() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.tabNodes = [];\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n direction = _this$props.direction,\n disableUpDownKeys = _this$props.disableUpDownKeys;\n\n if (_this.isTabFromContainer(e.target)) {\n var index = _this.props.selectedIndex;\n var preventDefault = false;\n var useSelectedIndex = false;\n\n if (e.keyCode === 32 || e.keyCode === 13) {\n preventDefault = true;\n useSelectedIndex = false;\n\n _this.handleClick(e);\n }\n\n if (e.keyCode === 37 || !disableUpDownKeys && e.keyCode === 38) {\n // Select next tab to the left, validate if up arrow is not disabled\n if (direction === 'rtl') {\n index = _this.getNextTab(index);\n } else {\n index = _this.getPrevTab(index);\n }\n\n preventDefault = true;\n useSelectedIndex = true;\n } else if (e.keyCode === 39 || !disableUpDownKeys && e.keyCode === 40) {\n // Select next tab to the right, validate if down arrow is not disabled\n if (direction === 'rtl') {\n index = _this.getPrevTab(index);\n } else {\n index = _this.getNextTab(index);\n }\n\n preventDefault = true;\n useSelectedIndex = true;\n } else if (e.keyCode === 35) {\n // Select last tab (End key)\n index = _this.getLastTab();\n preventDefault = true;\n useSelectedIndex = true;\n } else if (e.keyCode === 36) {\n // Select first tab (Home key)\n index = _this.getFirstTab();\n preventDefault = true;\n useSelectedIndex = true;\n } // This prevents scrollbars from moving around\n\n\n if (preventDefault) {\n e.preventDefault();\n } // Only use the selected index in the state if we're not using the tabbed index\n\n\n if (useSelectedIndex) {\n _this.setSelected(index, e);\n }\n }\n };\n\n _this.handleClick = function (e) {\n var node = e.target;\n\n do {\n if (_this.isTabFromContainer(node)) {\n if (isTabDisabled(node)) {\n return;\n }\n\n var index = [].slice.call(node.parentNode.children).filter(isTabNode).indexOf(node);\n\n _this.setSelected(index, e);\n\n return;\n }\n } while ((node = node.parentNode) != null);\n };\n\n return _this;\n }\n\n var _proto = UncontrolledTabs.prototype;\n\n _proto.setSelected = function setSelected(index, event) {\n // Check index boundary\n if (index < 0 || index >= this.getTabsCount()) return;\n var _this$props2 = this.props,\n onSelect = _this$props2.onSelect,\n selectedIndex = _this$props2.selectedIndex; // Call change event handler\n\n onSelect(index, selectedIndex, event);\n };\n\n _proto.getNextTab = function getNextTab(index) {\n var count = this.getTabsCount(); // Look for non-disabled tab from index to the last tab on the right\n\n for (var i = index + 1; i < count; i++) {\n if (!isTabDisabled(this.getTab(i))) {\n return i;\n }\n } // If no tab found, continue searching from first on left to index\n\n\n for (var _i = 0; _i < index; _i++) {\n if (!isTabDisabled(this.getTab(_i))) {\n return _i;\n }\n } // No tabs are disabled, return index\n\n\n return index;\n };\n\n _proto.getPrevTab = function getPrevTab(index) {\n var i = index; // Look for non-disabled tab from index to first tab on the left\n\n while (i--) {\n if (!isTabDisabled(this.getTab(i))) {\n return i;\n }\n } // If no tab found, continue searching from last tab on right to index\n\n\n i = this.getTabsCount();\n\n while (i-- > index) {\n if (!isTabDisabled(this.getTab(i))) {\n return i;\n }\n } // No tabs are disabled, return index\n\n\n return index;\n };\n\n _proto.getFirstTab = function getFirstTab() {\n var count = this.getTabsCount(); // Look for non disabled tab from the first tab\n\n for (var i = 0; i < count; i++) {\n if (!isTabDisabled(this.getTab(i))) {\n return i;\n }\n }\n\n return null;\n };\n\n _proto.getLastTab = function getLastTab() {\n var i = this.getTabsCount(); // Look for non disabled tab from the last tab\n\n while (i--) {\n if (!isTabDisabled(this.getTab(i))) {\n return i;\n }\n }\n\n return null;\n };\n\n _proto.getTabsCount = function getTabsCount() {\n var children = this.props.children;\n return _getTabsCount(children);\n };\n\n _proto.getPanelsCount = function getPanelsCount() {\n var children = this.props.children;\n return _getPanelsCount(children);\n };\n\n _proto.getTab = function getTab(index) {\n return this.tabNodes[\"tabs-\" + index];\n };\n\n _proto.getChildren = function getChildren() {\n var _this2 = this;\n\n var index = 0;\n var _this$props3 = this.props,\n children = _this$props3.children,\n disabledTabClassName = _this$props3.disabledTabClassName,\n focus = _this$props3.focus,\n forceRenderTabPanel = _this$props3.forceRenderTabPanel,\n selectedIndex = _this$props3.selectedIndex,\n selectedTabClassName = _this$props3.selectedTabClassName,\n selectedTabPanelClassName = _this$props3.selectedTabPanelClassName,\n environment = _this$props3.environment;\n this.tabIds = this.tabIds || [];\n this.panelIds = this.panelIds || [];\n var diff = this.tabIds.length - this.getTabsCount(); // Add ids if new tabs have been added\n // Don't bother removing ids, just keep them in case they are added again\n // This is more efficient, and keeps the uuid counter under control\n\n while (diff++ < 0) {\n this.tabIds.push(uuid());\n this.panelIds.push(uuid());\n } // Map children to dynamically setup refs\n\n\n return deepMap(children, function (child) {\n var result = child; // Clone TabList and Tab components to have refs\n\n if (isTabList(child)) {\n var listIndex = 0; // Figure out if the current focus in the DOM is set on a Tab\n // If it is we should keep the focus on the next selected tab\n\n var wasTabFocused = false;\n\n if (canUseActiveElement == null) {\n determineCanUseActiveElement(environment);\n }\n\n if (canUseActiveElement) {\n wasTabFocused = React.Children.toArray(child.props.children).filter(isTab).some(function (tab, i) {\n var env = environment || (typeof window !== 'undefined' ? window : undefined);\n return env && env.document.activeElement === _this2.getTab(i);\n });\n }\n\n result = /*#__PURE__*/cloneElement(child, {\n children: deepMap(child.props.children, function (tab) {\n var key = \"tabs-\" + listIndex;\n var selected = selectedIndex === listIndex;\n var props = {\n tabRef: function tabRef(node) {\n _this2.tabNodes[key] = node;\n },\n id: _this2.tabIds[listIndex],\n panelId: _this2.panelIds[listIndex],\n selected: selected,\n focus: selected && (focus || wasTabFocused)\n };\n if (selectedTabClassName) props.selectedClassName = selectedTabClassName;\n if (disabledTabClassName) props.disabledClassName = disabledTabClassName;\n listIndex++;\n return /*#__PURE__*/cloneElement(tab, props);\n })\n });\n } else if (isTabPanel(child)) {\n var props = {\n id: _this2.panelIds[index],\n tabId: _this2.tabIds[index],\n selected: selectedIndex === index\n };\n if (forceRenderTabPanel) props.forceRender = forceRenderTabPanel;\n if (selectedTabPanelClassName) props.selectedClassName = selectedTabPanelClassName;\n index++;\n result = /*#__PURE__*/cloneElement(child, props);\n }\n\n return result;\n });\n };\n /**\n * Determine if a node from event.target is a Tab element for the current Tabs container.\n * If the clicked element is not a Tab, it returns false.\n * If it finds another Tabs container between the Tab and `this`, it returns false.\n */\n\n\n _proto.isTabFromContainer = function isTabFromContainer(node) {\n // return immediately if the clicked element is not a Tab.\n if (!isTabNode(node)) {\n return false;\n } // Check if the first occurrence of a Tabs container is `this` one.\n\n\n var nodeAncestor = node.parentElement;\n\n do {\n if (nodeAncestor === this.node) return true;\n if (nodeAncestor.getAttribute('data-tabs')) break;\n nodeAncestor = nodeAncestor.parentElement;\n } while (nodeAncestor);\n\n return false;\n };\n\n _proto.render = function render() {\n var _this3 = this; // Delete all known props, so they don't get added to DOM\n\n\n var _this$props4 = this.props,\n children = _this$props4.children,\n className = _this$props4.className,\n disabledTabClassName = _this$props4.disabledTabClassName,\n domRef = _this$props4.domRef,\n focus = _this$props4.focus,\n forceRenderTabPanel = _this$props4.forceRenderTabPanel,\n onSelect = _this$props4.onSelect,\n selectedIndex = _this$props4.selectedIndex,\n selectedTabClassName = _this$props4.selectedTabClassName,\n selectedTabPanelClassName = _this$props4.selectedTabPanelClassName,\n environment = _this$props4.environment,\n disableUpDownKeys = _this$props4.disableUpDownKeys,\n attributes = _objectWithoutPropertiesLoose(_this$props4, [\"children\", \"className\", \"disabledTabClassName\", \"domRef\", \"focus\", \"forceRenderTabPanel\", \"onSelect\", \"selectedIndex\", \"selectedTabClassName\", \"selectedTabPanelClassName\", \"environment\", \"disableUpDownKeys\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, attributes, {\n className: cx(className),\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n ref: function ref(node) {\n _this3.node = node;\n if (domRef) domRef(node);\n },\n \"data-tabs\": true\n }), this.getChildren());\n };\n\n return UncontrolledTabs;\n}(Component);\n\nUncontrolledTabs.defaultProps = {\n className: 'react-tabs',\n focus: false\n};\nexport { UncontrolledTabs as default };","import { deepForEach } from './childrenDeepMap';\nimport { isTab, isTabPanel } from './elementTypes';\nexport function getTabsCount(children) {\n var tabCount = 0;\n deepForEach(children, function (child) {\n if (isTab(child)) tabCount++;\n });\n return tabCount;\n}\nexport function getPanelsCount(children) {\n var panelCount = 0;\n deepForEach(children, function (child) {\n if (isTabPanel(child)) panelCount++;\n });\n return panelCount;\n}","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component } from 'react';\nimport { childrenPropType, onSelectPropType, selectedIndexPropType } from '../helpers/propTypes';\nimport UncontrolledTabs from './UncontrolledTabs';\nimport { getTabsCount } from '../helpers/count';\nvar MODE_CONTROLLED = 0;\nvar MODE_UNCONTROLLED = 1;\n\nvar Tabs = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tabs, _Component);\n\n function Tabs(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.handleSelected = function (index, last, event) {\n var onSelect = _this.props.onSelect;\n var mode = _this.state.mode; // Call change event handler\n\n if (typeof onSelect === 'function') {\n // Check if the change event handler cancels the tab change\n if (onSelect(index, last, event) === false) return;\n }\n\n var state = {\n // Set focus if the change was triggered from the keyboard\n focus: event.type === 'keydown'\n };\n\n if (mode === MODE_UNCONTROLLED) {\n // Update selected index\n state.selectedIndex = index;\n }\n\n _this.setState(state);\n };\n\n _this.state = Tabs.copyPropsToState(_this.props, {}, props.defaultFocus);\n return _this;\n }\n\n Tabs.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n return Tabs.copyPropsToState(props, state);\n };\n\n Tabs.getModeFromProps = function getModeFromProps(props) {\n return props.selectedIndex === null ? MODE_UNCONTROLLED : MODE_CONTROLLED;\n }; // preserve the existing selectedIndex from state.\n // If the state has not selectedIndex, default to the defaultIndex or 0\n\n\n Tabs.copyPropsToState = function copyPropsToState(props, state, focus) {\n if (focus === void 0) {\n focus = false;\n }\n\n if (process.env.NODE_ENV !== 'production' && state.mode !== undefined && state.mode !== Tabs.getModeFromProps(props)) {\n throw new Error(\"Switching between controlled mode (by using `selectedIndex`) and uncontrolled mode is not supported in `Tabs`.\\nFor more information about controlled and uncontrolled mode of react-tabs see https://github.com/reactjs/react-tabs#controlled-vs-uncontrolled-mode.\");\n }\n\n var newState = {\n focus: focus,\n mode: Tabs.getModeFromProps(props)\n };\n\n if (newState.mode === MODE_UNCONTROLLED) {\n var maxTabIndex = Math.max(0, getTabsCount(props.children) - 1);\n var selectedIndex = null;\n\n if (state.selectedIndex != null) {\n selectedIndex = Math.min(state.selectedIndex, maxTabIndex);\n } else {\n selectedIndex = props.defaultIndex || 0;\n }\n\n newState.selectedIndex = selectedIndex;\n }\n\n return newState;\n };\n\n var _proto = Tabs.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n defaultIndex = _this$props.defaultIndex,\n defaultFocus = _this$props.defaultFocus,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"defaultIndex\", \"defaultFocus\"]);\n\n var _this$state = this.state,\n focus = _this$state.focus,\n selectedIndex = _this$state.selectedIndex;\n props.focus = focus;\n props.onSelect = this.handleSelected;\n\n if (selectedIndex != null) {\n props.selectedIndex = selectedIndex;\n }\n\n return /*#__PURE__*/React.createElement(UncontrolledTabs, props, children);\n };\n\n return Tabs;\n}(Component);\n\nTabs.defaultProps = {\n defaultFocus: false,\n forceRenderTabPanel: false,\n selectedIndex: null,\n defaultIndex: null,\n environment: null,\n disableUpDownKeys: false\n};\nexport { Tabs as default };\nTabs.tabsRole = 'Tabs';","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component } from 'react';\nimport cx from 'clsx';\n\nvar TabList = /*#__PURE__*/function (_Component) {\n _inheritsLoose(TabList, _Component);\n\n function TabList() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = TabList.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className,\n attributes = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"className\"]);\n\n return /*#__PURE__*/React.createElement(\"ul\", _extends({}, attributes, {\n className: cx(className),\n role: \"tablist\"\n }), children);\n };\n\n return TabList;\n}(Component);\n\nTabList.defaultProps = {\n className: 'react-tabs__tab-list'\n};\nexport { TabList as default };\nTabList.tabsRole = 'TabList';","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component } from 'react';\nimport cx from 'clsx';\nvar DEFAULT_CLASS = 'react-tabs__tab';\n\nvar Tab = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tab, _Component);\n\n function Tab() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = Tab.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.checkFocus();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.checkFocus();\n };\n\n _proto.checkFocus = function checkFocus() {\n var _this$props = this.props,\n selected = _this$props.selected,\n focus = _this$props.focus;\n\n if (selected && focus) {\n this.node.focus();\n }\n };\n\n _proto.render = function render() {\n var _cx,\n _this = this;\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n disabled = _this$props2.disabled,\n disabledClassName = _this$props2.disabledClassName,\n focus = _this$props2.focus,\n id = _this$props2.id,\n panelId = _this$props2.panelId,\n selected = _this$props2.selected,\n selectedClassName = _this$props2.selectedClassName,\n tabIndex = _this$props2.tabIndex,\n tabRef = _this$props2.tabRef,\n attributes = _objectWithoutPropertiesLoose(_this$props2, [\"children\", \"className\", \"disabled\", \"disabledClassName\", \"focus\", \"id\", \"panelId\", \"selected\", \"selectedClassName\", \"tabIndex\", \"tabRef\"]);\n\n return /*#__PURE__*/React.createElement(\"li\", _extends({}, attributes, {\n className: cx(className, (_cx = {}, _cx[selectedClassName] = selected, _cx[disabledClassName] = disabled, _cx)),\n ref: function ref(node) {\n _this.node = node;\n if (tabRef) tabRef(node);\n },\n role: \"tab\",\n id: id,\n \"aria-selected\": selected ? 'true' : 'false',\n \"aria-disabled\": disabled ? 'true' : 'false',\n \"aria-controls\": panelId,\n tabIndex: tabIndex || (selected ? '0' : null)\n }), children);\n };\n\n return Tab;\n}(Component);\n\nTab.defaultProps = {\n className: DEFAULT_CLASS,\n disabledClassName: DEFAULT_CLASS + \"--disabled\",\n focus: false,\n id: null,\n panelId: null,\n selected: false,\n selectedClassName: DEFAULT_CLASS + \"--selected\"\n};\nexport { Tab as default };\nTab.tabsRole = 'Tab';","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React, { Component } from 'react';\nimport cx from 'clsx';\nvar DEFAULT_CLASS = 'react-tabs__tab-panel';\n\nvar TabPanel = /*#__PURE__*/function (_Component) {\n _inheritsLoose(TabPanel, _Component);\n\n function TabPanel() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = TabPanel.prototype;\n\n _proto.render = function render() {\n var _cx;\n\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className,\n forceRender = _this$props.forceRender,\n id = _this$props.id,\n selected = _this$props.selected,\n selectedClassName = _this$props.selectedClassName,\n tabId = _this$props.tabId,\n attributes = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"className\", \"forceRender\", \"id\", \"selected\", \"selectedClassName\", \"tabId\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, attributes, {\n className: cx(className, (_cx = {}, _cx[selectedClassName] = selected, _cx)),\n role: \"tabpanel\",\n id: id,\n \"aria-labelledby\": tabId\n }), forceRender || selected ? children : null);\n };\n\n return TabPanel;\n}(Component);\n\nTabPanel.defaultProps = {\n className: DEFAULT_CLASS,\n forceRender: false,\n selectedClassName: DEFAULT_CLASS + \"--selected\"\n};\nexport { TabPanel as default };\nTabPanel.tabsRole = 'TabPanel';","import React from \"react\"\nimport \"./_tab.scss\"\nimport \"../../styles/_markdown.scss\"\nimport { Tab, Tabs, TabList, TabPanel } from \"react-tabs\"\nimport { TabContent, Content } from \"..\"\nimport Markdown from \"react-markdown\"\n\nconst TabComponent = ({ content }) => {\n\n const tabs = content?.map(\n item => item.type === \"programBlock\" && <Tab>{item.fields?.title}</Tab>\n )\n const contentTab = content?.map(\n item =>\n item.type === \"programBlock\" && (\n <TabPanel>\n {item?.fields?.summary !== undefined && item?.fields?.summary !== null ? (\n <div className=\"markdown\">\n <Markdown escapeHtml={true}>{item.fields.summary}</Markdown>\n </div>\n ) : null}\n {item.Items.length > 0 && item.Items !== undefined && item.Items !== null ? (\n <div className=\"contentAcordion\">\n {item.Items?.map(accordeonItem => (\n <TabContent item={accordeonItem}/>\n ))}\n </div>\n ) : null}\n {item.accordionBlock.length > 0 && item.accordionBlock !== undefined && item.accordionBlock !== null && (\n <div className=\"acordionBlocks\">\n {item.accordionBlock?.map(block => (\n <div key=\"block.id\">\n <div className=\"contentAcordion\">\n {block.itemsAccordion?.map(blockItem => (\n <TabContent item={blockItem}/>\n ))}\n </div>\n <h2>{block.title}</h2>\n </div>\n ))}\n </div>\n )}\n\n \n {item.textBlock && (\n <div className=\"blockText row\">\n <Content key=\"block.id\" content={item.textBlock} />\n </div>\n )}\n\n </TabPanel>\n )\n )\n\n return (\n <div>\n <Tabs>\n <TabList>{tabs}</TabList>\n {contentTab}\n </Tabs>\n </div>\n )\n}\n\nexport default TabComponent\n","import React, { useState } from \"react\"\nimport { Accordion } from \"../index\"\nimport Markdown from \"react-markdown\"\n\nconst TabContent = ({ item }) => {\n const [activeItem, setActiveItem] = useState(false)\n const handleItem = () => {\n !activeItem ? setActiveItem(true) : setActiveItem(false)\n }\n return (\n <div>\n <Accordion onActive={handleItem} title={item.title} state={activeItem} />\n {activeItem && (\n <div className=\"markdown\">\n <Markdown escapeHtml={true}>{item.detail}</Markdown>\n {/* <p>{item.detail}</p> */}\n </div>\n )}\n </div>\n )\n}\n\nexport default TabContent\n","import React from \"react\"\nimport { useCareers } from \"../../hooks\"\nimport { CareerCard, Button } from \"../index\"\nimport \"./_relatedPrograms.scss\"\n\nconst RelatedPrograms = ({ careers, title, theme }) => {\n const data = useCareers()\n const careersList = data?.allStrapiCareers?.nodes\n\n const customCareer = careers.map(career =>\n careersList.find(item => item?.strapiId === career.id)\n )\n\n const customCareers = customCareer\n .map(career => career !== undefined ? <CareerCard key={career?.id} career={career} /> : null)\n .slice(0, 3)\n const buttonVariant = (theme === \"dark\") ? \"button-white\" : \"button-green\"\n return (\n <div className={`relatedPrograms ${theme}-theme`}>\n <h2 className=\"relatedPrograms__title\">{title}</h2>\n <div className=\"container relatedPrograms__cards\">{customCareers}</div>\n <div className=\"d-flex justify-content-center py-5\">\n <Button\n content={\"Ver todos los programas\"}\n path={`/oferta-academica`}\n variant={buttonVariant}\n />\n </div>\n \n </div>\n )\n}\n\nexport default RelatedPrograms\n","import React, { useState, useEffect } from \"react\"\nimport { useBlogArticles, useBlogCategories, useBlogPage } from \"../../hooks\"\nimport * as jp from \"jsonpath\"\nimport {\n Seo,\n Breadcrumb,\n NewsCard,\n CustomSection,\n ArticleSearchInput,\n ControlledCarousel,\n Pagination,\n} from \"../index\"\n\nimport \"./_articlePage.scss\"\n\nconst ArticlePage = ({ filter }) => {\n const data = useBlogArticles()\n const dataCategories = useBlogCategories()\n const dataBlogPage = useBlogPage()\n const blogs = data?.allStrapiBlogArticles\n const page = dataBlogPage?.allStrapiBlogPage?.nodes[0]\n const blogsDestacados = page?.blogsDestacados?.blog_articles\n const categories = dataCategories?.allStrapiBlogCategories?.nodes\n const sections = page?.sections\n\n const [query, setQuery] = useState(\"$..nodes[*]\")\n const [results, setResults] = useState([])\n const [title, setTitle] = useState(`${page.title}`)\n const [inicialPage, setInicialPage] = useState(false)\n\n useEffect(() => {\n if (filter?.state?.value !== null && filter?.state?.value !== undefined) {\n setQuery(`$..nodes[?(@.blog_categories.indexOf(\"${filter.state.value}\") !== -1)]`)\n setInicialPage(true)\n setTitle(\"Resultados de la Búsqueda\")\n filter.state.value = null\n }\n setResults(jp.query(blogs, query))\n }, [query]) // eslint-disable-line react-hooks/exhaustive-deps\n\n for (let i = 0; i < results.length; i++) {\n if (blogsDestacados?.find(element => element.id === results[i].strapiId) !== undefined) {\n results.splice(i, 1)\n i--\n }\n }\n\n const blogArticle = results.map(article =>\n <NewsCard\n key={article?.id}\n newsImage={article?.blogImage?.nameImage}\n title={article?.title}\n content={article?.description}\n published_at={article?.publishedAt}\n newsTag={article?.blog_categories}\n slug={article?.slug}\n destacado={article?.destacado}\n cols={3}\n variant={\"blogArticle\"}\n />\n )\n\n const handleSearch = textInput => {\n filter.state = null\n setQuery(`$..nodes[?(@.title.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().includes(\"${textInput.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()}\"))]`)\n textInput.length === 0\n ? setTitle(`${page.title}`)\n : setTitle(\"Resultados de la Búsqueda\")\n }\n\n const blogCategories = categories.map(category => (\n <option key={category.id} value={`${category.name}`}>\n {category.name}\n </option>\n ))\n\n const handleCategory = e => {\n const category = e.target.value\n filter.state = null\n if (category === \"CategorÃas\") {\n setTitle(`${page.title}`)\n setQuery(\"$..nodes[*]\")\n setInicialPage(false)\n } else {\n setTitle(\"Resultados de la Búsqueda\")\n setQuery(`$..nodes[?(@.blog_categories.indexOf(\"${category}\") !== -1)]`)\n setInicialPage(true)\n }\n }\n\n let SEO = \"\"\n\n if (page.blogMetadata !== null && page.blogMetadata !== undefined && page.blogMetadata.pageTitle !== null) {\n const { description, keywords, pageTitle } = page.blogMetadata\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n } else {\n SEO = (\n <Seo\n title={page.title}\n />\n )\n }\n\n return (\n <>\n {SEO}\n <div className=\"headline\">\n <div className=\"container px-0\">\n <div className=\"headline__breadcrumb col-12 pr-0\">\n <Breadcrumb title={page.blogMetadata.pageTitle} pageUrl=\"/identidad21\" paginaName={[\"Identidad 21\"]} />\n </div>\n </div>\n </div>\n <div className=\"container\">\n <div className=\"row justify-content-between ArticlePage__head\">\n <div className=\"col-12 col-md-6\">\n <h1 className=\"ArticlePage__title\">{title}</h1>\n <p className=\"ArticlePage__subtitle\">{page.subTitle}</p>\n </div>\n <div className=\" col-12 col-md-5 \">\n <ArticleSearchInput onQuery={handleSearch} placeholder={'Buscar un artÃculo...'} />\n <div className=\"ArticlePage__select\">\n <select\n name=\"category\"\n id=\"Select\"\n className=\"col-12 col-lg-6 ArticlePage__categories \"\n onChange={handleCategory}\n onBlur={handleCategory}\n >\n <option value=\"CategorÃas\">Todas las CategorÃas</option>\n {blogCategories}\n </select>\n </div>\n </div>\n </div>\n </div>\n <div id=\"Posts\" className=\"container mb-5 px-4\">\n {blogsDestacados !== undefined && blogsDestacados !== null ?\n <ControlledCarousel\n className=\"row justify-content-center\"\n articles={blogsDestacados}\n variant={'event'}\n />\n : null}\n </div>\n <div className=\"container \">\n <Pagination\n posts={blogArticle}\n postPerPage={8}\n inicialState={inicialPage}\n />\n </div>\n <CustomSection sections={sections} />\n </>\n )\n}\n\nexport default ArticlePage\n","import React from \"react\"\nimport \"./newsCard.scss\"\n// import { getImage } from \"gatsby-plugin-image\"\n// import { BgImage } from \"gbimage-bridge\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { Link } from \"gatsby\"\n\nconst NewsCard = ({\n newsTag,\n newsImage,\n title,\n alt,\n published_at,\n slug,\n destacado,\n cols,\n variant,\n}) => {\n const categories =\n variant === \"blogArticle\"\n ? newsTag?.map((category, i) => (\n <p key={i} className=\"card-category\">\n {category}\n </p>\n ))\n : null\n\n const articuloDestacados = destacado && (\n <p>\n <span>Destacado</span>\n </p>\n )\n\n return (\n <div className={`col-12 col-md-4 col-lg-${cols} mb-3 p-0`}>\n <div className=\"card\">\n {newsImage?.url ? (\n <img src={newsImage.url} alt={alt} className={`card-bgImage`} />\n ) : (\n <StaticImage\n src=\"../../images/logo-siglo.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"no-image\"\n className={`card-bgImage-news default`}\n />\n )}\n <div className=\"card-newsBody\">\n {categories}\n <h3 className=\"card-title\">{title}</h3>\n <p className=\"card-text\">{published_at}</p>\n </div>\n {variant === \"blogArticle\" ? (\n <Link to={`/identidad21/${slug}`} className=\"card-hover\"></Link>\n ) : (\n <Link to={`/noticias/${slug}`} className=\"card-hover\"></Link>\n )}\n </div>\n </div>\n )\n}\n\nexport default NewsCard\n","import React, { useState } from \"react\"\nimport { FaSearch } from \"../icons\"\nimport \"./_articleSearchInput.scss\"\n\nconst ArticleSearchInput = ({ onQuery, placeholder }) => {\n const [textInput, setTextInput] = useState(\"\")\n const handleInputChange = txt => {\n setTextInput(txt.target.value)\n }\n const handlePressKey = (e) => {\n if(((e.charCode === 13)&&(textInput.length>=3)) || (textInput.length === 0) ){\n onQuery(textInput, e) \n }\n }\n const handleClick = (e) => {\n onQuery(textInput, e) \n }\n\n return (\n <>\n <div className=\"col-12 Search__article__group\">\n <input\n className=\"Search__article__input\"\n type=\"text\"\n name=\"query\"\n id=\"seach\"\n key=\"query\"\n placeholder={placeholder}\n value={textInput}\n onChange={handleInputChange}\n onKeyPress={handlePressKey}\n />\n <button className=\"Search__article__button\" onClick={handleClick}>\n <FaSearch />\n </button>\n </div>\n </>\n )\n}\n\nexport default ArticleSearchInput\n","import { useEffect, useRef } from 'react';\n/**\n * Runs an effect only when the dependencies have changed, skipping the\n * initial \"on mount\" run. Caution, if the dependency list never changes,\n * the effect is **never run**\n *\n * ```ts\n * const ref = useRef<HTMLInput>(null);\n *\n * // focuses an element only if the focus changes, and not on mount\n * useUpdateEffect(() => {\n * const element = ref.current?.children[focusedIdx] as HTMLElement\n *\n * element?.focus()\n *\n * }, [focusedIndex])\n * ```\n * @param effect An effect to run on mount\n *\n * @category effects\n */\n\nfunction useUpdateEffect(fn, deps) {\n var isFirst = useRef(true);\n useEffect(function () {\n if (isFirst.current) {\n isFirst.current = false;\n return;\n }\n\n return fn();\n }, deps);\n}\n\nexport default useUpdateEffect;","var rHyphen = /-(.)/g;\nexport default function camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"bsPrefix\", \"as\"];\nimport classNames from 'classnames';\nimport camelize from 'dom-helpers/camelize';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\n\nvar pascalCase = function pascalCase(str) {\n return str[0].toUpperCase() + camelize(str).slice(1);\n}; // TODO: emstricten & fix the typing here! `createWithBsPrefix<TElementType>...`\n\n\nexport default function createWithBsPrefix(prefix, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$displayName = _ref.displayName,\n displayName = _ref$displayName === void 0 ? pascalCase(prefix) : _ref$displayName,\n Component = _ref.Component,\n defaultProps = _ref.defaultProps;\n\n var BsComponent = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {\n var className = _ref2.className,\n bsPrefix = _ref2.bsPrefix,\n _ref2$as = _ref2.as,\n Tag = _ref2$as === void 0 ? Component || 'div' : _ref2$as,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: ref,\n className: classNames(className, resolvedPrefix)\n }, props));\n });\n BsComponent.defaultProps = defaultProps;\n BsComponent.displayName = displayName;\n return BsComponent;\n}","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('carousel-caption');","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"children\", \"className\"];\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar CarouselItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n bsPrefix = _ref.bsPrefix,\n children = _ref.children,\n className = _ref.className,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var finalClassName = classNames(className, useBootstrapPrefix(bsPrefix, 'carousel-item'));\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: finalClassName\n }), children);\n});\nCarouselItem.displayName = 'CarouselItem';\nexport default CarouselItem;","import React from 'react';\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\n\nfunction map(children, func) {\n var index = 0;\n return React.Children.map(children, function (child) {\n return /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child;\n });\n}\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\n\n\nfunction forEach(children, func) {\n var index = 0;\n React.Children.forEach(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\nexport { map, forEach };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"as\", \"bsPrefix\", \"slide\", \"fade\", \"controls\", \"indicators\", \"activeIndex\", \"onSelect\", \"onSlide\", \"onSlid\", \"interval\", \"keyboard\", \"onKeyDown\", \"pause\", \"onMouseOver\", \"onMouseOut\", \"wrap\", \"touch\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\", \"prevIcon\", \"prevLabel\", \"nextIcon\", \"nextLabel\", \"className\", \"children\"];\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useUpdateEffect from '@restart/hooks/useUpdateEffect';\nimport useCommittedRef from '@restart/hooks/useCommittedRef';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport classNames from 'classnames';\nimport Transition from 'react-transition-group/Transition';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { useUncontrolled } from 'uncontrollable';\nimport CarouselCaption from './CarouselCaption';\nimport CarouselItem from './CarouselItem';\nimport { map, forEach } from './ElementChildren';\nimport SafeAnchor from './SafeAnchor';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nvar SWIPE_THRESHOLD = 40;\nvar propTypes = {\n /**\n * @default 'carousel'\n */\n bsPrefix: PropTypes.string,\n as: PropTypes.elementType,\n\n /**\n * Enables animation on the Carousel as it transitions between slides.\n */\n slide: PropTypes.bool,\n\n /** Animates slides with a crossfade animation instead of the default slide animation */\n fade: PropTypes.bool,\n\n /**\n * Show the Carousel previous and next arrows for changing the current slide\n */\n controls: PropTypes.bool,\n\n /**\n * Show a set of slide position indicators\n */\n indicators: PropTypes.bool,\n\n /**\n * Controls the current visible slide\n *\n * @controllable onSelect\n */\n activeIndex: PropTypes.number,\n\n /**\n * Callback fired when the active item changes.\n *\n * ```js\n * (eventKey: number, event: Object | null) => void\n * ```\n *\n * @controllable activeIndex\n */\n onSelect: PropTypes.func,\n\n /**\n * Callback fired when a slide transition starts.\n *\n * ```js\n * (eventKey: number, direction: 'left' | 'right') => void\n */\n onSlide: PropTypes.func,\n\n /**\n * Callback fired when a slide transition ends.\n *\n * ```js\n * (eventKey: number, direction: 'left' | 'right') => void\n */\n onSlid: PropTypes.func,\n\n /**\n * The amount of time to delay between automatically cycling an item. If `null`, carousel will not automatically cycle.\n */\n interval: PropTypes.number,\n\n /** Whether the carousel should react to keyboard events. */\n keyboard: PropTypes.bool,\n\n /**\n * If set to `\"hover\"`, pauses the cycling of the carousel on `mouseenter` and resumes the cycling of the carousel on `mouseleave`. If set to `false`, hovering over the carousel won't pause it.\n *\n * On touch-enabled devices, when set to `\"hover\"`, cycling will pause on `touchend` (once the user finished interacting with the carousel) for two intervals, before automatically resuming. Note that this is in addition to the above mouse behavior.\n */\n pause: PropTypes.oneOf(['hover', false]),\n\n /** Whether the carousel should cycle continuously or have hard stops. */\n wrap: PropTypes.bool,\n\n /**\n * Whether the carousel should support left/right swipe interactions on touchscreen devices.\n */\n touch: PropTypes.bool,\n\n /** Override the default button icon for the \"previous\" control */\n prevIcon: PropTypes.node,\n\n /**\n * Label shown to screen readers only, can be used to show the previous element\n * in the carousel.\n * Set to null to deactivate.\n */\n prevLabel: PropTypes.string,\n\n /** Override the default button icon for the \"next\" control */\n nextIcon: PropTypes.node,\n\n /**\n * Label shown to screen readers only, can be used to show the next element\n * in the carousel.\n * Set to null to deactivate.\n */\n nextLabel: PropTypes.string\n};\nvar defaultProps = {\n slide: true,\n fade: false,\n controls: true,\n indicators: true,\n defaultActiveIndex: 0,\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n wrap: true,\n touch: true,\n prevIcon: /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"carousel-control-prev-icon\"\n }),\n prevLabel: 'Previous',\n nextIcon: /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: \"carousel-control-next-icon\"\n }),\n nextLabel: 'Next'\n};\n\nfunction isVisible(element) {\n if (!element || !element.style || !element.parentNode || !element.parentNode.style) {\n return false;\n }\n\n var elementStyle = getComputedStyle(element);\n return elementStyle.display !== 'none' && elementStyle.visibility !== 'hidden' && getComputedStyle(element.parentNode).display !== 'none';\n}\n\nfunction CarouselFunc(uncontrolledProps, ref) {\n var _useUncontrolled = useUncontrolled(uncontrolledProps, {\n activeIndex: 'onSelect'\n }),\n _useUncontrolled$as = _useUncontrolled.as,\n Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,\n bsPrefix = _useUncontrolled.bsPrefix,\n slide = _useUncontrolled.slide,\n fade = _useUncontrolled.fade,\n controls = _useUncontrolled.controls,\n indicators = _useUncontrolled.indicators,\n activeIndex = _useUncontrolled.activeIndex,\n onSelect = _useUncontrolled.onSelect,\n onSlide = _useUncontrolled.onSlide,\n onSlid = _useUncontrolled.onSlid,\n interval = _useUncontrolled.interval,\n keyboard = _useUncontrolled.keyboard,\n onKeyDown = _useUncontrolled.onKeyDown,\n pause = _useUncontrolled.pause,\n onMouseOver = _useUncontrolled.onMouseOver,\n onMouseOut = _useUncontrolled.onMouseOut,\n wrap = _useUncontrolled.wrap,\n touch = _useUncontrolled.touch,\n onTouchStart = _useUncontrolled.onTouchStart,\n onTouchMove = _useUncontrolled.onTouchMove,\n onTouchEnd = _useUncontrolled.onTouchEnd,\n prevIcon = _useUncontrolled.prevIcon,\n prevLabel = _useUncontrolled.prevLabel,\n nextIcon = _useUncontrolled.nextIcon,\n nextLabel = _useUncontrolled.nextLabel,\n className = _useUncontrolled.className,\n children = _useUncontrolled.children,\n props = _objectWithoutPropertiesLoose(_useUncontrolled, _excluded);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'carousel');\n var nextDirectionRef = useRef(null);\n\n var _useState = useState('next'),\n direction = _useState[0],\n setDirection = _useState[1];\n\n var _useState2 = useState(false),\n paused = _useState2[0],\n setPaused = _useState2[1];\n\n var _useState3 = useState(false),\n isSliding = _useState3[0],\n setIsSliding = _useState3[1];\n\n var _useState4 = useState(activeIndex || 0),\n renderedActiveIndex = _useState4[0],\n setRenderedActiveIndex = _useState4[1];\n\n if (!isSliding && activeIndex !== renderedActiveIndex) {\n if (nextDirectionRef.current) {\n setDirection(nextDirectionRef.current);\n } else {\n setDirection((activeIndex || 0) > renderedActiveIndex ? 'next' : 'prev');\n }\n\n if (slide) {\n setIsSliding(true);\n }\n\n setRenderedActiveIndex(activeIndex || 0);\n }\n\n useEffect(function () {\n if (nextDirectionRef.current) {\n nextDirectionRef.current = null;\n }\n });\n var numChildren = 0;\n var activeChildInterval; // Iterate to grab all of the children's interval values\n // (and count them, too)\n\n forEach(children, function (child, index) {\n ++numChildren;\n\n if (index === activeIndex) {\n activeChildInterval = child.props.interval;\n }\n });\n var activeChildIntervalRef = useCommittedRef(activeChildInterval);\n var prev = useCallback(function (event) {\n if (isSliding) {\n return;\n }\n\n var nextActiveIndex = renderedActiveIndex - 1;\n\n if (nextActiveIndex < 0) {\n if (!wrap) {\n return;\n }\n\n nextActiveIndex = numChildren - 1;\n }\n\n nextDirectionRef.current = 'prev';\n\n if (onSelect) {\n onSelect(nextActiveIndex, event);\n }\n }, [isSliding, renderedActiveIndex, onSelect, wrap, numChildren]); // This is used in the setInterval, so it should not invalidate.\n\n var next = useEventCallback(function (event) {\n if (isSliding) {\n return;\n }\n\n var nextActiveIndex = renderedActiveIndex + 1;\n\n if (nextActiveIndex >= numChildren) {\n if (!wrap) {\n return;\n }\n\n nextActiveIndex = 0;\n }\n\n nextDirectionRef.current = 'next';\n\n if (onSelect) {\n onSelect(nextActiveIndex, event);\n }\n });\n var elementRef = useRef();\n useImperativeHandle(ref, function () {\n return {\n element: elementRef.current,\n prev: prev,\n next: next\n };\n }); // This is used in the setInterval, so it should not invalidate.\n\n var nextWhenVisible = useEventCallback(function () {\n if (!document.hidden && isVisible(elementRef.current)) {\n next();\n }\n });\n var slideDirection = direction === 'next' ? 'left' : 'right';\n useUpdateEffect(function () {\n if (slide) {\n // These callbacks will be handled by the <Transition> callbacks.\n return;\n }\n\n if (onSlide) {\n onSlide(renderedActiveIndex, slideDirection);\n }\n\n if (onSlid) {\n onSlid(renderedActiveIndex, slideDirection);\n }\n }, [renderedActiveIndex]);\n var orderClassName = prefix + \"-item-\" + direction;\n var directionalClassName = prefix + \"-item-\" + slideDirection;\n var handleEnter = useCallback(function (node) {\n triggerBrowserReflow(node);\n\n if (onSlide) {\n onSlide(renderedActiveIndex, slideDirection);\n }\n }, [onSlide, renderedActiveIndex, slideDirection]);\n var handleEntered = useCallback(function () {\n setIsSliding(false);\n\n if (onSlid) {\n onSlid(renderedActiveIndex, slideDirection);\n }\n }, [onSlid, renderedActiveIndex, slideDirection]);\n var handleKeyDown = useCallback(function (event) {\n if (keyboard && !/input|textarea/i.test(event.target.tagName)) {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n prev(event);\n return;\n\n case 'ArrowRight':\n event.preventDefault();\n next(event);\n return;\n\n default:\n }\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n }, [keyboard, onKeyDown, prev, next]);\n var handleMouseOver = useCallback(function (event) {\n if (pause === 'hover') {\n setPaused(true);\n }\n\n if (onMouseOver) {\n onMouseOver(event);\n }\n }, [pause, onMouseOver]);\n var handleMouseOut = useCallback(function (event) {\n setPaused(false);\n\n if (onMouseOut) {\n onMouseOut(event);\n }\n }, [onMouseOut]);\n var touchStartXRef = useRef(0);\n var touchDeltaXRef = useRef(0);\n var touchUnpauseTimeout = useTimeout();\n var handleTouchStart = useCallback(function (event) {\n touchStartXRef.current = event.touches[0].clientX;\n touchDeltaXRef.current = 0;\n\n if (pause === 'hover') {\n setPaused(true);\n }\n\n if (onTouchStart) {\n onTouchStart(event);\n }\n }, [pause, onTouchStart]);\n var handleTouchMove = useCallback(function (event) {\n if (event.touches && event.touches.length > 1) {\n touchDeltaXRef.current = 0;\n } else {\n touchDeltaXRef.current = event.touches[0].clientX - touchStartXRef.current;\n }\n\n if (onTouchMove) {\n onTouchMove(event);\n }\n }, [onTouchMove]);\n var handleTouchEnd = useCallback(function (event) {\n if (touch) {\n var touchDeltaX = touchDeltaXRef.current;\n\n if (Math.abs(touchDeltaX) > SWIPE_THRESHOLD) {\n if (touchDeltaX > 0) {\n prev(event);\n } else {\n next(event);\n }\n }\n }\n\n if (pause === 'hover') {\n touchUnpauseTimeout.set(function () {\n setPaused(false);\n }, interval || undefined);\n }\n\n if (onTouchEnd) {\n onTouchEnd(event);\n }\n }, [touch, pause, prev, next, touchUnpauseTimeout, interval, onTouchEnd]);\n var shouldPlay = interval != null && !paused && !isSliding;\n var intervalHandleRef = useRef();\n useEffect(function () {\n var _ref, _activeChildIntervalR;\n\n if (!shouldPlay) {\n return undefined;\n }\n\n intervalHandleRef.current = window.setInterval(document.visibilityState ? nextWhenVisible : next, (_ref = (_activeChildIntervalR = activeChildIntervalRef.current) != null ? _activeChildIntervalR : interval) != null ? _ref : undefined);\n return function () {\n if (intervalHandleRef.current !== null) {\n clearInterval(intervalHandleRef.current);\n }\n };\n }, [shouldPlay, next, activeChildIntervalRef, interval, nextWhenVisible]);\n var indicatorOnClicks = useMemo(function () {\n return indicators && Array.from({\n length: numChildren\n }, function (_, index) {\n return function (event) {\n if (onSelect) {\n onSelect(index, event);\n }\n };\n });\n }, [indicators, numChildren, onSelect]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: elementRef\n }, props, {\n onKeyDown: handleKeyDown,\n onMouseOver: handleMouseOver,\n onMouseOut: handleMouseOut,\n onTouchStart: handleTouchStart,\n onTouchMove: handleTouchMove,\n onTouchEnd: handleTouchEnd,\n className: classNames(className, prefix, slide && 'slide', fade && prefix + \"-fade\")\n }), indicators && /*#__PURE__*/React.createElement(\"ol\", {\n className: prefix + \"-indicators\"\n }, map(children, function (_child, index) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index,\n className: index === renderedActiveIndex ? 'active' : undefined,\n onClick: indicatorOnClicks ? indicatorOnClicks[index] : undefined\n });\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: prefix + \"-inner\"\n }, map(children, function (child, index) {\n var isActive = index === renderedActiveIndex;\n return slide ? /*#__PURE__*/React.createElement(Transition, {\n in: isActive,\n onEnter: isActive ? handleEnter : undefined,\n onEntered: isActive ? handleEntered : undefined,\n addEndListener: transitionEndListener\n }, function (status) {\n return /*#__PURE__*/React.cloneElement(child, {\n className: classNames(child.props.className, isActive && status !== 'entered' && orderClassName, (status === 'entered' || status === 'exiting') && 'active', (status === 'entering' || status === 'exiting') && directionalClassName)\n });\n }) : /*#__PURE__*/React.cloneElement(child, {\n className: classNames(child.props.className, isActive && 'active')\n });\n })), controls && /*#__PURE__*/React.createElement(React.Fragment, null, (wrap || activeIndex !== 0) && /*#__PURE__*/React.createElement(SafeAnchor, {\n className: prefix + \"-control-prev\",\n onClick: prev\n }, prevIcon, prevLabel && /*#__PURE__*/React.createElement(\"span\", {\n className: \"sr-only\"\n }, prevLabel)), (wrap || activeIndex !== numChildren - 1) && /*#__PURE__*/React.createElement(SafeAnchor, {\n className: prefix + \"-control-next\",\n onClick: next\n }, nextIcon, nextLabel && /*#__PURE__*/React.createElement(\"span\", {\n className: \"sr-only\"\n }, nextLabel))));\n}\n\nvar Carousel = /*#__PURE__*/React.forwardRef(CarouselFunc);\nCarousel.displayName = 'Carousel';\nCarousel.propTypes = propTypes;\nCarousel.defaultProps = defaultProps;\nCarousel.Caption = CarouselCaption;\nCarousel.Item = CarouselItem;\nexport default Carousel;","import React, { useState } from \"react\"\nimport Carousel from \"react-bootstrap/Carousel\"\nimport { useBlogArticles, useNews } from \"../../hooks\"\n\nimport { Card } from \"../index\"\nimport \"./_carouselItem.scss\"\n\nconst ControlledCarousel = ({ articles, variant }) => {\n const [index, setIndex] = useState(0)\n const data = useBlogArticles()\n const blogArticle = data?.allStrapiBlogArticles?.nodes\n const dataNews = useNews()\n const newsContent = dataNews?.allStrapiNewsContents?.nodes\n\n const customArticle =\n variant === \"event\"\n ? articles.map(article =>\n blogArticle.find(art => art.strapiId === article.id)\n )\n : articles.map(article =>\n newsContent.find(art => art.strapiId === article.id)\n )\n\n const handleSelect = (selectedIndex, e) => {\n setIndex(selectedIndex)\n }\n\n const destacados = customArticle.map((article, idx) => (\n <Carousel.Item key={idx} className=\"CarouselItem\">\n <Card article={article} variant={variant}/>\n </Carousel.Item>\n ))\n\n return (\n <Carousel fade activeIndex={index} onSelect={handleSelect}>\n {destacados}\n </Carousel>\n )\n}\n\nexport default ControlledCarousel\n","import React, { useState } from \"react\"\nimport { Link } from \"gatsby\"\nimport { FaChevronRight } from \"@react-icons/all-files/fa/FaChevronRight\"\nimport { FaChevronLeft } from \"@react-icons/all-files/fa/FaChevronLeft\"\nimport \"./_pagination.scss\"\n\nconst Pagination = ({ posts, postPerPage, inicialState }) => {\n const [currentPage, setCurrentPage] = useState(1)\n const [postsPerPage] = useState(`${postPerPage}`)\n const pageNumbers = []\n\n for (let i = 1; i <= Math.ceil(posts.length / postsPerPage); i++) {\n pageNumbers.push(i)\n }\n\n const indexOfLastPost = inicialState\n ? 1 * postsPerPage\n : currentPage * postsPerPage\n const indexOfFirstPost = indexOfLastPost - postsPerPage\n const currentPosts = posts.slice(indexOfFirstPost, indexOfLastPost)\n\n // Change page\n const paginate = pageNumber => {\n setCurrentPage(pageNumber)\n }\n\n return (\n <>\n <div className=\"row mx-0\">{currentPosts}</div>\n <nav>\n <ul className=\"Pagination\">\n <FaChevronLeft color=\"#00806e\" /> {/* hacer que funcione con click */}\n {pageNumbers.map(number => (\n <li key={number} className=\"Pagination__item\">\n {number === currentPage ? (\n <Link\n onClick={() => paginate(number)}\n to=\"#Posts\"\n className={`Pagination__link active-page`}\n >\n {number}\n </Link>\n ) : (\n <Link\n onClick={() => paginate(number)}\n to=\"#Posts\"\n className={`Pagination__link `}\n >\n {number}\n </Link>\n )}\n </li>\n ))}\n <FaChevronRight color=\"#00806e\" />\n </ul>\n </nav>\n </>\n )\n}\n\nexport default Pagination\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { useCareers, usePages, useNews } from \"../../hooks\"\nimport { FaChevronRight } from \"@react-icons/all-files/fa/FaChevronRight\"\nimport \"./_internalLink.scss\"\n\nfunction slug(page, pages) {\n let pagina = \"\"\n\n if (page.strapiParent === null || page.strapiParent === undefined) {\n return page.slug\n } else {\n pages.forEach(parent => {\n if (parent.slug === page.strapiParent.slug) {\n pagina = parent\n }\n })\n return slug(pagina, pages) + \"/\" + page.slug\n }\n}\n\nconst OneInternalLink = ({ internalLink, variant }) => {\n const careers = useCareers()\n const pages = usePages()\n const news = useNews()\n\n let link = null\n\n if (internalLink !== null && internalLink !== undefined) {\n if (internalLink.page !== null && internalLink.page !== undefined) {\n link = pages?.allStrapiPages?.nodes.map((page, idx) => {\n if (page.strapiId === internalLink.page.id) {\n const slugSection =\n page.menuSection !== null ? `/${page.menuSection.slug}/` : \"/\"\n // const slugParent =\n // page.strapiParent !== null ? `/${page.strapiParent.slug}` : \"\"\n const slugParent = slug(page, pages?.allStrapiPages?.nodes)\n\n return (\n <Link key={`inLink-${idx}`} to={`${slugSection}${slugParent}`}>\n {variant === \"menu\" ? (\n <p>{internalLink.name}</p>\n ) : (\n <>\n {internalLink.name} <FaChevronRight size={12} />\n </>\n )}\n </Link>\n )\n } else {\n return null\n }\n })\n }\n\n if (\n internalLink.singlePage !== null &&\n internalLink.singlePage !== undefined\n ) {\n return (\n <Link to={`/${internalLink.singlePage.replace(/_/g, \"-\")}`}>\n {variant === \"menu\" ? (\n <p>{internalLink.name}</p>\n ) : (\n <>\n {internalLink.name} <FaChevronRight size={12} />\n </>\n )}\n </Link>\n )\n }\n } else {\n return null\n }\n\n if (internalLink.career !== null && internalLink.career !== undefined) {\n link = careers.allStrapiCareers.nodes.map((career, idx) => {\n if (internalLink.career.id === career.strapiId) {\n return (\n <Link key={`inLink-${idx}`} to={`/oferta-academica/${career.slug}`}>\n {variant === \"menu\" ? (\n <p>{internalLink.name}</p>\n ) : (\n <>\n {internalLink.name} <FaChevronRight size={12} />\n </>\n )}\n </Link>\n )\n } else {\n return null\n }\n })\n }\n\n if (internalLink.news_content !== null && internalLink.news_content !== undefined) {\n link = news.allStrapiNewsContents.nodes.map((news_content, idx) => {\n if (internalLink.news_content.id === news_content.strapiId) {\n return (\n <Link key={`inLink-${idx}`} to={`/noticias/${news_content.slug}`}>\n {variant === \"menu\" ? (\n <p>{internalLink.name}</p>\n ) : (\n <>\n {internalLink.name} <FaChevronRight size={12} />\n </>\n )}\n </Link>\n )\n } else {\n return null\n }\n })\n }\n\n\n return link\n}\n\nexport default OneInternalLink\n","import React from \"react\"\nimport OneInternalLink from \"../InternalLink/oneInternalLink.component\"\n\nconst BannerLink = ({ link }) => {\n if (link !== null && link !== undefined) {\n const linkType = link?.internalLink ? \"internal\" : \"external\"\n return (\n <div className=\"bannerItem__link\">\n {linkType === \"internal\" ? (\n <OneInternalLink internalLink={link?.internalLink} />\n ) : (\n <a\n href={link?.externalLink.url}\n target=\"_blank\"\n rel=\"external noreferrer\"\n >\n {link?.externalLink.name}\n </a>\n )}\n </div>\n )\n } else {\n return null\n }\n}\n\nexport default BannerLink\n","import React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport \"./_banner.scss\"\nimport BannerLink from \"./bannerLink.component\"\n\nconst BannerItem = ({ banner, type }) => {\n const altText = `Banner-${banner.strapiId}`\n\n const image =\n type === \"mobile\"\n ? getImage(banner?.imageMobile)\n : getImage(banner?.imageDesktop)\n\n return (\n <div className=\"bannerItem\">\n <div className=\"bannerItem__back\">\n <GatsbyImage image={image} className=\"bannerItem__back__img\" alt={altText} />\n <div className=\"bannerItem__darker\">\n <div className=\"bannerItem__info\">\n <div className=\"bannerItem__category\">{banner?.category}</div>\n <div className=\"bannerItem__title\">\n <span>{banner?.title}</span>\n </div>\n {banner?.link && <BannerLink link={banner?.link} />}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default BannerItem\n","import React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport \"./_banner.scss\"\nimport BannerLink from \"./bannerLink.component\"\n\nconst BannerItemDestacado = ({ bannerDestacado, type }) => {\n const altText = `bannerItem-${bannerDestacado.title}`\n const image =\n type === \"mobile\"\n ? getImage(bannerDestacado?.imageMobile)\n : getImage(bannerDestacado?.imageDesktop)\n return (\n <div className=\"bannerItem\">\n <div className=\"bannerItem__back\">\n <GatsbyImage image={image} className=\"bannerItem__back__img\" alt={altText} />\n <div className=\"bannerItem__darker destacado__darker\">\n <div className=\"bannerItem__info\">\n {bannerDestacado.title && (\n <div className=\"bannerItem__title__destacado\">\n {bannerDestacado?.title}\n </div>\n )}\n {bannerDestacado.description && (\n <div className=\"bannerItem__description destacado__description\">\n {bannerDestacado?.description}\n </div>\n )}\n {bannerDestacado?.link && (\n <BannerLink link={bannerDestacado?.link} />\n )}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default BannerItemDestacado\n","import React from 'react'\nimport BannerItem from './bannerItem.component';\nimport BannerItemDestacado from './bannerItemDestacado.component';\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\nimport { Carousel } from 'react-responsive-carousel';\n\nconst BannerCarousel = ({ bannerDestacado, otherBanners, type }) => {\n\n const bannersInCarousel = otherBanners.map((banner, idx) => (\n <div key={idx}>\n <BannerItem banner={banner} type={type} />\n </div>\n ))\n\n return (\n <Carousel autoPlay={true} infiniteLoop={true} showStatus={false} showArrows={false} showThumbs={false}>\n {bannerDestacado && (\n <div>\n <BannerItemDestacado bannerDestacado={bannerDestacado} type={type} showStatus={false} />\n </div>\n )}\n {bannersInCarousel}\n </Carousel>\n );\n}\n\nexport default BannerCarousel\n","import React from 'react'\nimport BannerItem from './bannerItem.component';\nimport BannerItemDestacado from './bannerItemDestacado.component'; \nimport \"./_banner.scss\"\n\nconst BannerDesktopLayout = ({ bannerDestacado, otherBanners, type}) => {\n\n let itemClassName = {\n 1: \"Case1\",\n 2: \"Case2\",\n 3: \"Case3\"\n }\n\n const bannersDesktop = otherBanners.map(banner => (\n <div key={banner.id} className={`${bannerDestacado ?`bannerDesktopRight__item${itemClassName[otherBanners.length]}` : \"bannerDesktopFull__item\"}`}>\n <BannerItem banner={banner} type={type}/>\n </div>\n )\n )\n\n return (\n <div className=\"container-fluid banner-desktop\">\n <div className=\"row banner\">\n {bannerDestacado && (\n <div className={`col-12 p-0 ${otherBanners.length && \"col-lg-6\"}`}> \n <BannerItemDestacado bannerDestacado={bannerDestacado} type={type}/>\n </div>\n )}\n {otherBanners.length > 0 && (\n <div className={`col-12 p-0 ${bannerDestacado && \"col-lg-6\"}`}> \n <div className={`${bannerDestacado ? \"bannerDesktopRight\" : \"bannerDesktopFull\"}`}>\n {bannersDesktop}\n </div>\n </div>\n )} \n </div>\n </div>\n )\n}\n\nexport default BannerDesktopLayout\n","import React, { useEffect, useState } from \"react\"\nimport { useBanner } from \"../../hooks\"\nimport BannerCarousel from \"./bannerCarousel.component\"\nimport BannerDesktopLayout from \"./bannerDesktopLayout\"\nimport { useWindowSize } from \"../../hooks/\"\n\nconst Banner = ({ bannerItems }) => {\n const data = useBanner()\n const dimensions = useWindowSize()\n const bannerItemsList = data?.allStrapiBannerItems?.nodes\n const [bannerToDisplay, setBannerToDisplay] = useState(null)\n\n const customBannerList = bannerItems.map(item =>\n bannerItemsList.find(it => it.strapiId === item.id)\n )\n\n const bannerDestacado = customBannerList.filter(item => item?.destacado)[0]\n\n const otherBanners = customBannerList\n .filter(item => !item.destacado)\n .slice(0, 3)\n .sort((a, b) => {\n return a.order - b.order\n })\n\n useEffect(() => {\n setBannerToDisplay(\n dimensions.windowWidth <= 992 ?\n <BannerCarousel\n otherBanners={otherBanners}\n bannerDestacado={bannerDestacado}\n type={'mobile'}\n />\n :\n <BannerDesktopLayout\n otherBanners={otherBanners}\n bannerDestacado={bannerDestacado}\n type={'desktop'}\n />\n )\n\n }, [dimensions.windowWidth])\n\n\n return (\n <>\n {bannerToDisplay ||\n <BannerCarousel\n otherBanners={otherBanners}\n bannerDestacado={bannerDestacado}\n type={'mobile'}\n />\n\n }\n </>\n )\n}\n\nexport default Banner\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport \"./_asideNews.scss\"\n\nfunction AsideNews({ content, title, type }) {\n const asideBlock = content.map(item => (\n <div className=\"asideNews__card\">\n <Link to={`/${type}/${item.slug}`} className=\"asideNews__card__title\">\n {item.title}\n </Link>\n <p className=\"asideNews__card__text\">{item.publishedAt}</p>\n </div>\n ))\n return (\n <aside className=\"asideNews col-12 col-md-3\">\n <h3 className=\"asideNews__title\">{title}</h3>\n {asideBlock}\n </aside>\n )\n}\n\nexport default AsideNews\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { useBlogArticles } from \"../../hooks\"\nimport \"./_prevNext.scss\"\n\nconst PrevNext = ({ id }) => {\n const data = useBlogArticles()\n const blogArticles = data?.allStrapiBlogArticles?.nodes\n let prevArticle = null\n let nextArticle = null\n blogArticles.map((article, index) => {\n if (article.strapiId === id) {\n prevArticle = index === 0 ? null : blogArticles[index - 1]\n nextArticle =\n index === blogArticles.length - 1 ? null : blogArticles[index + 1]\n }\n return null\n })\n\n const prev = prevArticle && (\n <div className=\"col-12 col-md-6 px-0 pr-md-4 nextPrev__item\">\n <h5 className=\"nextPrev__title\">Anterior</h5>\n <Link to={`/identidad21/${prevArticle?.slug}`} className=\"nextPrev__link\">\n {prevArticle?.title}\n </Link>\n <p className=\"nextPrev__date\">{prevArticle?.publishedAt}</p>\n </div>\n )\n const next = nextArticle && (\n <div className=\"col-12 col-md-6 px-0 pl-md-4 text-md-right ml-auto nextPrev__item\">\n <h5 className=\"nextPrev__title\">Siguiente</h5>\n <Link to={`/identidad21/${nextArticle?.slug}`} className=\"nextPrev__link\">\n {nextArticle?.title}\n </Link>\n <p className=\"nextPrev__date\">{nextArticle?.publishedAt}</p>\n </div>\n )\n return (\n <div className=\"nextPrev col-12 col-md-7 px-0\">\n {prev}\n {next}\n </div>\n )\n}\n\nexport default PrevNext\n","import React from \"react\"\nimport \"./_eventsCard.scss\"\nimport { getImage } from \"gatsby-plugin-image\"\nimport { BgImage } from \"gbimage-bridge\"\nimport { Link } from \"gatsby\"\n\nconst EventsCard = ({\n date,\n dateDay,\n title,\n time,\n summary,\n slug,\n img,\n destacado\n}) => {\n const image = getImage(img)\n\n const eventDestacado = destacado && (\n <p>\n <span>Destacado</span>\n </p>\n )\n\n return (\n // <div className={`col-12 col-md-4 col-lg-${cols} mb-sm-3 p-0`}>\n <div className={`col-12 col-md-4 mb-3 p-1`}>\n <div className=\"card\">\n <BgImage image={image} className={`card-bgImage`}>\n {eventDestacado}\n </BgImage>\n {/* <BgImage image={image} className={`card__bgImage`} /> */}\n <div className=\"card-body-events\">\n <div>\n <div className={'card__month'}>\n {date.toUpperCase().substring(0, 3) + '.'}\n </div>\n <div className={'card__day'}>\n {dateDay}\n </div>\n </div>\n <div className={'card__text'}>\n <Link to={`/eventos/${slug}`} className=\"card-title\">\n {title}\n </Link>\n <p className={'card__hour'}>{time.substring(0, time.length - 3) + ' hs.'}</p>\n <p className={'card__summary'}>{summary}</p>\n </div>\n </div>\n <Link to={`/eventos/${slug}`} className=\"card-hover\"></Link>\n </div>\n </div>\n )\n}\n\nexport default EventsCard\n","import React, { useState, useEffect } from \"react\"\nimport { useEvents, useEventsPage } from \"../../hooks\"\nimport * as jp from \"jsonpath\"\nimport \"./_events.scss\"\nimport {\n Seo,\n HeaderPage,\n CustomSection,\n EventSearchInput,\n CarouselEvents,\n Pagination,\n EventsCard,\n EventsCheckBoxFilters,\n Calendar,\n} from \"../index\"\nimport { makeQuery } from \"../../functions/event.functions\"\n\nlet searchField = []\n\nconst Events = () => {\n const data = useEvents()\n const eventsArray = data?.allStrapiEvents\n const dataEventPage = useEventsPage()\n const page = dataEventPage?.allStrapiEventPage?.nodes[0]\n const sections = page?.sections\n const eventsDestacados = page?.eventsDestacados?.events\n\n const [query, setQuery] = useState(\"$..nodes[*]\")\n const [results, setResults] = useState([])\n const [inicialPage, setInicialPage] = useState(false)\n\n const currentDate = new Date()\n const currentMonth = currentDate.getMonth()\n const currentYear = currentDate.getFullYear()\n\n //Estado para el calendario\n const [month, setMonth] = useState(currentMonth)\n const [year, setYear] = useState(currentYear)\n\n useEffect(() => {\n setResults(jp.query(eventsArray, query))\n }, [query]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const nextMonth = () => {\n if (month === 11) {\n setMonth(0)\n setYear(year + 1)\n } else {\n setMonth(month + 1)\n }\n }\n\n const lastMonth = () => {\n if (month === 0) {\n setMonth(11)\n setYear(year - 1)\n } else {\n setMonth(month - 1)\n }\n }\n\n // Funciones para el manejo de filtrado\n const checkboxPress = (e, idType) => {\n if (e.target.checked) {\n searchField.push({\n type: idType,\n value: e.target.value,\n })\n } else {\n for (var i = 0; i < searchField.length; i++) {\n if (\n searchField[i].value === e.target.value &&\n searchField[i].type === idType\n ) {\n searchField.splice(i, 1)\n }\n }\n }\n setInicialPage(true)\n createQuery()\n }\n\n const handleKeyPress = textInput => {\n for (var i = 0; i < searchField.length; i++) {\n if (searchField[i].type === 3) {\n searchField.splice(i, 1)\n break\n }\n }\n\n if (textInput.length >= 3) {\n searchField.push({\n type: 3,\n value: textInput,\n })\n setInicialPage(true)\n } else {\n setInicialPage(false)\n }\n\n createQuery()\n }\n\n const calendarDayPress = date => {\n searchField.push({\n type: 4,\n value: date,\n })\n setInicialPage(true)\n createQuery()\n }\n\n function createQuery() {\n const querySearch = makeQuery(searchField)\n setQuery(querySearch)\n }\n\n // Eventos para el calendario\n const eventsCalendar = eventsArray?.nodes.map(eventCalendar => ({\n title: eventCalendar.title,\n date: eventCalendar.date,\n }))\n\n for (let i = 0; i < results.length; i++) {\n if (eventsDestacados?.find(element => element.id === results[i].strapiId) !== undefined) {\n results[i].destacado = true\n }\n }\n\n const eventsList = results.map(event => {\n return (<EventsCard\n key={event?.strapiId}\n date={event?.formatDateMonth}\n dateDay={event?.formatDateDay}\n title={event?.title}\n time={event?.time}\n summary={event?.summary}\n slug={event?.slug}\n img={event?.eventImage?.nameImage}\n destacado={event?.destacado}\n />)\n })\n\n let SEO = \"\"\n if (page.eventsMetadata !== null && page.eventsMetadata !== undefined && page.eventsMetadata.pageTitle !== null) {\n const { description, keywords, pageTitle } = page.eventsMetadata\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n } else {\n SEO = (\n <Seo\n title={page.title}\n />\n )\n }\n const headerPage = <HeaderPage title={page.title} summary={page.subTitle} pageUrl=\"/eventos\" paginaName={[\"Eventos\"]}/>\n return (\n <>\n {SEO}\n <div className=\"headline headline--news\">{headerPage}</div>\n <div className=\"container pt-5\">\n <div className=\"row mx-0\">\n <div className=\"col-12 col-lg-3\">\n <div>Encontrar eventos</div>\n <EventSearchInput onQuery={handleKeyPress} />\n\n <Calendar\n month={month}\n year={year}\n nextMonth={nextMonth}\n lastMonth={lastMonth}\n events={eventsCalendar}\n action={calendarDayPress}\n />\n <EventsCheckBoxFilters onQuery={checkboxPress} />\n </div>\n <div className=\"col-12 col-lg-9\">\n <div id=\"Posts\" className=\"container mb-5 px-0\">\n {eventsDestacados !== undefined && eventsDestacados !== null ? (\n <CarouselEvents\n className=\"row justify-content-center mx-0\"\n events={eventsDestacados}\n />\n ) : null}\n </div>\n <Pagination\n posts={eventsList}\n postPerPage={8}\n inicialState={inicialPage}\n />\n </div>\n </div>\n </div>\n <CustomSection sections={sections} />\n </>\n )\n}\n\nexport default Events","import React, { useState } from \"react\"\nimport { FaSearch } from \"../icons\"\nimport \"./_eventsSearchInput.scss\"\n\nconst EventSearchInput = ({ onQuery }) => {\n const [textInput, setTextInput] = useState(\"\")\n const handleInputChange = txt => {\n setTextInput(txt.target.value)\n }\n const handlePressKey = () => {\n onQuery(textInput)\n }\n\n const handleEnterPress = (e) => {\n if(e.charCode===13){\n onQuery(textInput)\n }\n }\n\n return (\n <>\n <div className=\"col-12 Search__article__group\">\n <input\n className=\"Search__article__input\"\n type=\"text\"\n name=\"query\"\n id=\"seach\"\n key=\"query\"\n placeholder=\"Buscar eventos...\"\n value={textInput}\n onChange={handleInputChange}\n onKeyPress={handleEnterPress}\n />\n <button className=\"Search__article__button\" onClick={handlePressKey}>\n <FaSearch />\n </button>\n </div>\n </>\n )\n}\n\nexport default EventSearchInput\n","import React from \"react\"\nimport \"./_eventCheckBoxList.scss\"\n\nconst EventCheckBoxList = props => {\n const { id, name, onPress, value, idType } = props\n\n const handlePressCheckBox = (e) => {\n onPress(e, idType)\n }\n\n return (\n <div>\n <label className=\"CheckboxList__label\">\n <input\n className=\"CheckboxList__input\"\n type=\"checkbox\"\n id={`${id}`}\n name={`${name}`}\n value={`${value}`}\n onClick={handlePressCheckBox}\n />\n {name}\n </label>\n </div>\n )\n}\n\nexport default EventCheckBoxList\n","import React, { useState } from \"react\"\nimport { useEventTypes, useEventCategories, useSites } from \"../../hooks\"\nimport { EventCheckBoxList, Accordion } from \"../index\"\nimport \"./_eventsCheckBoxFilters.scss\"\n\nconst EventsCheckBoxFilters = ({ onQuery }) => {\n\n const [activeEventTypes, setactiveEventTypes] = useState(true)\n const [activeEventCategories, setactiveEventCategories] = useState(true)\n const [activeEventSites, setactiveEventSites] = useState(true)\n\n const dataEventTypes = useEventTypes()\n const dataEventsCategories = useEventCategories()\n const dataEventsSites = useSites()\n\n const handleEventTypesList = () => {\n !activeEventTypes ? setactiveEventTypes(true) : setactiveEventTypes(false)\n }\n const handleEventCategoriesList = () => {\n !activeEventCategories ? setactiveEventCategories(true) : setactiveEventCategories(false)\n }\n const handleEventSitesList = () => {\n !activeEventSites ? setactiveEventSites(true) : setactiveEventSites(false)\n }\n\n const eventTypes = dataEventTypes?.allStrapiEventTypes\n const eventTypesList = eventTypes ? (\n <div className=\"row Checkbox__accordion mx-0\">\n <Accordion\n onActive={handleEventTypesList}\n title={\"Tipo de Evento\"}\n state={activeEventTypes}\n />\n {activeEventTypes ? (\n <div>\n {eventTypes.nodes.map(eventType => (\n <div key={eventType?.id}>\n <EventCheckBoxList\n name={eventType?.name}\n id={eventType?.id}\n onPress={onQuery}\n value={eventType?.name}\n idType={1}\n />\n </div>\n ))}\n </div>\n ) : null}\n </div>\n ) : null\n\n const eventCategories = dataEventsCategories?.allStrapiEventCategories\n const eventCategoriesList = eventCategories ? (\n <div className=\"row Checkbox__accordion mx-0\">\n <Accordion\n onActive={handleEventCategoriesList}\n title={\"Tema de Evento\"}\n state={activeEventCategories}\n />\n {activeEventCategories ? (\n <div>\n {eventCategories.nodes.map(eventCategory => (\n <div key={eventCategory?.id}>\n <EventCheckBoxList\n name={eventCategory?.name}\n id={eventCategory?.id}\n onPress={onQuery}\n value={eventCategory?.name}\n idType={2}\n />\n </div>\n ))}\n </div>\n ) : null}\n </div>\n ) : null\n\n const eventSites = dataEventsSites?.allStrapiSites\n const eventSitesList = eventSites ? (\n <div className=\"row Checkbox__accordion mx-0\">\n <Accordion\n onActive={handleEventSitesList}\n title={\"Sedes\"}\n state={activeEventSites}\n />\n {activeEventSites ? (\n <div>\n {eventSites.nodes.map(eventSite => {\n if (eventSite.sede === true) {\n return (\n <div key={eventSite?.id}>\n <EventCheckBoxList\n name={eventSite?.name}\n id={eventSite?.id}\n onPress={onQuery}\n value={eventSite?.name}\n idType={3}\n />\n </div>\n )\n } else {\n return null\n }\n })}\n </div>\n ) : null}\n </div>\n ) : null\n return (\n <>\n <div className=\"Checkbox \">\n <div className=\"container px-0\">\n {eventCategoriesList}\n {eventTypesList}\n {eventSitesList}\n </div>\n </div>\n </>\n )\n}\n\nexport default EventsCheckBoxFilters\n","import \"./_benefitsVideo.scss\"\nimport React from 'react'\nimport { InternalLink } from \"../index\"\nimport { FaChevronRight } from \"@react-icons/all-files/fa/FaChevronRight\"\n\nconst BenefitsVideo = ({ data }) => {\n\n const url = data?.video?.urlVideo.replace(\"watch?v=\", \"embed/\")\n const theme = data?.fields?.theme\n let code = url.substring(url.lastIndexOf(\"/\") + 1, url.length)\n const codeIndex = code.indexOf(\"?\")\n\n if (codeIndex !== -1) {\n code = code.substring(0, code.indexOf(\"?\"))\n }\n\n const externalLinks = data?.links?.externalLinks?.map((link => (\n <a className=\"benefits__link\" target=\"_blank\" rel=\"noreferrer\" key={`link-${link.id}`} href={link.url}>\n {`${link.name} `}<FaChevronRight size={16} />\n </a>\n )))\n\n return (\n <div className={`benefits container-fluid theme-${theme}`}>\n <div className=\"container \">\n <h2 className=\"benefits__section-title col-12\">{data.fields.title}</h2>\n <div className=\"row no-gutters videoBlock\">\n <iframe\n loading=\"lazy\"\n className=\"benefits__video col-12 col-lg-7\"\n type=\"text/html\"\n src={url}\n frameBorder=\"0\"\n allowFullScreen\n title=\"benefits_video\"\n allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n srcDoc={`<style>*{padding:0;margin:0;overflow:hidden}html,body{height:100%}img,span{position:absolute;\n width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:48px/1.5 sans-serif;color:white;text-shadow:0 0 0.5em black}</style>\n <a href=${url}>\n <img src=https://img.youtube.com/vi/${code}/hqdefault.jpg alt='Video'>\n <span>â–¶</span></a>`}\n webkitallowfullscreen=\"true\"\n mozallowfullscreen=\"true\"\n ></iframe>\n <div className=\"benefits__links-block col-12 col-lg-5\">\n <div className=\"row\">\n <h2 className=\"benefits__title col-12\">{data.title}</h2>\n <p className=\"benefits__description col-12\">{data.description}</p>\n\n <ul className=\"benefits__links col-12\">\n {(externalLinks) && ([...externalLinks])}\n {data?.links?.internalLinks !== undefined && data?.links?.internalLinks !== null ?\n <InternalLink internalLinks={data?.links?.internalLinks} variant={'internalLink__link'} />\n : null}\n </ul>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default BenefitsVideo\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import _classCallCheck from \"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/codebuild/output/src1520913479/src/CMS-gatsby/node_modules/@babel/runtime/helpers/esm/createClass\";\n\n// do not edit .js files directly - edit src/index.jst\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n }\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n } // true if both NaN, false otherwise\n\n\n return a !== a && b !== b;\n};\n/**\r\n * Copyright 2019 Google LLC. All Rights Reserved.\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at.\r\n *\r\n * Http://www.apache.org/licenses/LICENSE-2.0.\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar DEFAULT_ID = \"__googleMapsScriptId\";\n/**\r\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\r\n * dynamically using\r\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\r\n * It works by dynamically creating and appending a script node to the the\r\n * document head and wrapping the callback function so as to return a promise.\r\n *\r\n * ```\r\n * const loader = new Loader({\r\n * apiKey: \"\",\r\n * version: \"weekly\",\r\n * libraries: [\"places\"]\r\n * });\r\n *\r\n * loader.load().then((google) => {\r\n * const map = new google.maps.Map(...)\r\n * })\r\n * ```\r\n */\n\nvar Loader = /*#__PURE__*/function () {\n /**\r\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\r\n * using this library, instead the defaults are set by the Google Maps\r\n * JavaScript API server.\r\n *\r\n * ```\r\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\r\n * ```\r\n */\n function Loader(_ref) {\n var apiKey = _ref.apiKey,\n channel = _ref.channel,\n client = _ref.client,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? DEFAULT_ID : _ref$id,\n _ref$libraries = _ref.libraries,\n libraries = _ref$libraries === void 0 ? [] : _ref$libraries,\n language = _ref.language,\n region = _ref.region,\n version = _ref.version,\n mapIds = _ref.mapIds,\n nonce = _ref.nonce,\n _ref$retries = _ref.retries,\n retries = _ref$retries === void 0 ? 3 : _ref$retries,\n _ref$url = _ref.url,\n url = _ref$url === void 0 ? \"https://maps.googleapis.com/maps/api/js\" : _ref$url;\n\n _classCallCheck(this, Loader);\n\n this.CALLBACK = \"__googleMapsCallback\";\n this.callbacks = [];\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.version = version;\n this.apiKey = apiKey;\n this.channel = channel;\n this.client = client;\n this.id = id || DEFAULT_ID; // Do not allow empty string\n\n this.libraries = libraries;\n this.language = language;\n this.region = region;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.retries = retries;\n this.url = url;\n\n if (Loader.instance) {\n if (!fastDeepEqual(this.options, Loader.instance.options)) {\n throw new Error(\"Loader must not be called again with different options. \".concat(JSON.stringify(this.options), \" !== \").concat(JSON.stringify(Loader.instance.options)));\n }\n\n return Loader.instance;\n }\n\n Loader.instance = this;\n }\n\n _createClass(Loader, [{\n key: \"options\",\n get: function get() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url\n };\n }\n }, {\n key: \"failed\",\n get: function get() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\r\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\r\n *\r\n * @ignore\r\n */\n\n }, {\n key: \"createUrl\",\n value: function createUrl() {\n var url = this.url;\n url += \"?callback=\".concat(this.CALLBACK);\n\n if (this.apiKey) {\n url += \"&key=\".concat(this.apiKey);\n }\n\n if (this.channel) {\n url += \"&channel=\".concat(this.channel);\n }\n\n if (this.client) {\n url += \"&client=\".concat(this.client);\n }\n\n if (this.libraries.length > 0) {\n url += \"&libraries=\".concat(this.libraries.join(\",\"));\n }\n\n if (this.language) {\n url += \"&language=\".concat(this.language);\n }\n\n if (this.region) {\n url += \"®ion=\".concat(this.region);\n }\n\n if (this.version) {\n url += \"&v=\".concat(this.version);\n }\n\n if (this.mapIds) {\n url += \"&map_ids=\".concat(this.mapIds.join(\",\"));\n }\n\n return url;\n }\n /**\r\n * Load the Google Maps JavaScript API script and return a Promise.\r\n */\n\n }, {\n key: \"load\",\n value: function load() {\n return this.loadPromise();\n }\n /**\r\n * Load the Google Maps JavaScript API script and return a Promise.\r\n *\r\n * @ignore\r\n */\n\n }, {\n key: \"loadPromise\",\n value: function loadPromise() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this.loadCallback(function (err) {\n if (!err) {\n resolve(window.google);\n } else {\n reject(err);\n }\n });\n });\n }\n /**\r\n * Load the Google Maps JavaScript API script with a callback.\r\n */\n\n }, {\n key: \"loadCallback\",\n value: function loadCallback(fn) {\n this.callbacks.push(fn);\n this.execute();\n }\n /**\r\n * Set the script on document.\r\n */\n\n }, {\n key: \"setScript\",\n value: function setScript() {\n if (document.getElementById(this.id)) {\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\n this.callback();\n return;\n }\n\n var url = this.createUrl();\n var script = document.createElement(\"script\");\n script.id = this.id;\n script.type = \"text/javascript\";\n script.src = url;\n script.onerror = this.loadErrorCallback.bind(this);\n script.defer = true;\n script.async = true;\n\n if (this.nonce) {\n script.nonce = this.nonce;\n }\n\n document.head.appendChild(script);\n }\n }, {\n key: \"deleteScript\",\n value: function deleteScript() {\n var script = document.getElementById(this.id);\n\n if (script) {\n script.remove();\n }\n }\n /**\r\n * Reset the loader state.\r\n */\n\n }, {\n key: \"reset\",\n value: function reset() {\n this.deleteScript();\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.onerrorEvent = null;\n }\n }, {\n key: \"resetIfRetryingFailed\",\n value: function resetIfRetryingFailed() {\n if (this.failed) {\n this.reset();\n }\n }\n }, {\n key: \"loadErrorCallback\",\n value: function loadErrorCallback(e) {\n var _this2 = this;\n\n this.errors.push(e);\n\n if (this.errors.length <= this.retries) {\n var delay = this.errors.length * Math.pow(2, this.errors.length);\n console.log(\"Failed to load Google Maps script, retrying in \".concat(delay, \" ms.\"));\n setTimeout(function () {\n _this2.deleteScript();\n\n _this2.setScript();\n }, delay);\n } else {\n this.onerrorEvent = e;\n this.callback();\n }\n }\n }, {\n key: \"setCallback\",\n value: function setCallback() {\n window.__googleMapsCallback = this.callback.bind(this);\n }\n }, {\n key: \"callback\",\n value: function callback() {\n var _this3 = this;\n\n this.done = true;\n this.loading = false;\n this.callbacks.forEach(function (cb) {\n cb(_this3.onerrorEvent);\n });\n this.callbacks = [];\n }\n }, {\n key: \"execute\",\n value: function execute() {\n this.resetIfRetryingFailed();\n\n if (this.done) {\n this.callback();\n } else {\n // short circuit and warn if google.maps is already loaded\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader.\" + \"This may result in undesirable behavior as options and script parameters may not match.\");\n this.callback();\n return;\n }\n\n if (this.loading) ;else {\n this.loading = true;\n this.setCallback();\n this.setScript();\n }\n }\n }\n }]);\n\n return Loader;\n}();\n\nexport { DEFAULT_ID, Loader };","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import e, { Component as t } from \"react\";\nimport o from \"prop-types\";\nimport n from \"react-dom\";\nimport r from \"eventemitter3\";\nimport { Loader as i } from \"@googlemaps/js-api-loader\";\nimport s from \"@mapbox/point-geometry\";\n\nfunction a() {\n return (a = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var o = arguments[t];\n\n for (var n in o) {\n Object.prototype.hasOwnProperty.call(o, n) && (e[n] = o[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nfunction p(e, t) {\n e.prototype = Object.create(t.prototype), e.prototype.constructor = e, e.__proto__ = t;\n}\n\nfunction l(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n\nvar u = {\n width: \"100%\",\n height: \"100%\",\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: \"absolute\"\n},\n h = function (t) {\n function o() {\n return t.apply(this, arguments) || this;\n }\n\n p(o, t);\n var n = o.prototype;\n return n.shouldComponentUpdate = function () {\n return !1;\n }, n.render = function () {\n return e.createElement(\"div\", {\n ref: this.props.registerChild,\n style: u\n });\n }, o;\n}(t),\n c = function (e) {\n function t(t) {\n var o;\n return (o = e.call(this) || this).gmapInstance = t, o;\n }\n\n p(t, e);\n var o = t.prototype;\n return o.getChildren = function () {\n return this.gmapInstance.props.children;\n }, o.getMousePosition = function () {\n return this.gmapInstance.mouse_;\n }, o.getUpdateCounter = function () {\n return this.gmapInstance.updateCounter_;\n }, o.dispose = function () {\n this.gmapInstance = null, this.removeAllListeners();\n }, t;\n}(r),\n d = function d(e, t) {\n for (var o = a({}, e), n = 0; n < t.length; n++) {\n var r = t[n];\n r in o && delete o[r];\n }\n\n return o;\n},\n m = Object.prototype.hasOwnProperty;\n\nfunction g(e, t) {\n return e === t ? 0 !== e || 0 !== t || 1 / e == 1 / t : e != e && t != t;\n}\n\nfunction _(e, t) {\n if (g(e, t)) return !0;\n if (\"object\" != typeof e || null === e || \"object\" != typeof t || null === t) return !1;\n var o = Object.keys(e),\n n = Object.keys(t);\n if (o.length !== n.length) return !1;\n\n for (var r = 0; r < o.length; r++) {\n if (!m.call(t, o[r]) || !g(e[o[r]], t[o[r]])) return !1;\n }\n\n return !0;\n}\n\nvar f = {\n width: \"100%\",\n height: \"100%\",\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: \"absolute\"\n},\n v = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n backgroundColor: \"transparent\",\n position: \"absolute\"\n},\n M = function (t) {\n function o(o) {\n var n;\n return (n = t.call(this, o) || this)._getState = function () {\n return {\n children: n.props.dispatcher.getChildren(),\n updateCounter: n.props.dispatcher.getUpdateCounter()\n };\n }, n._onChangeHandler = function () {\n if (n.dimensionsCache_) {\n var e = (n.state.children || []).length,\n t = n._getState();\n\n n.setState(t, function () {\n return (t.children || []).length !== e && n._onMouseChangeHandler();\n });\n }\n }, n._onChildClick = function () {\n n.props.onChildClick && n.hoverChildProps_ && n.props.onChildClick(n.hoverKey_, n.hoverChildProps_);\n }, n._onChildMouseDown = function () {\n n.props.onChildMouseDown && n.hoverChildProps_ && n.props.onChildMouseDown(n.hoverKey_, n.hoverChildProps_);\n }, n._onChildMouseEnter = function (e, t) {\n n.dimensionsCache_ && (n.props.onChildMouseEnter && n.props.onChildMouseEnter(e, t), n.hoverChildProps_ = t, n.hoverKey_ = e, n.setState({\n hoverKey: e\n }));\n }, n._onChildMouseLeave = function () {\n if (n.dimensionsCache_) {\n var e = n.hoverKey_;\n null != e && (n.props.onChildMouseLeave && n.props.onChildMouseLeave(e, n.hoverChildProps_), n.hoverKey_ = null, n.hoverChildProps_ = null, n.setState({\n hoverKey: null\n }));\n }\n }, n._onMouseAllow = function (e) {\n e || n._onChildMouseLeave(), n.allowMouse_ = e;\n }, n._onMouseChangeHandler = function () {\n n.allowMouse_ && n._onMouseChangeHandlerRaf();\n }, n._onMouseChangeHandlerRaf = function () {\n if (n.dimensionsCache_) {\n var t = n.props.dispatcher.getMousePosition();\n\n if (t) {\n var o = [],\n r = n.props.getHoverDistance();\n\n if (e.Children.forEach(n.state.children, function (e, i) {\n if (e && (void 0 !== e.props.latLng || void 0 !== e.props.lat || void 0 !== e.props.lng)) {\n var s = null != e.key ? e.key : i,\n a = n.props.distanceToMouse(n.dimensionsCache_[s], t, e.props);\n a < r && o.push({\n key: s,\n dist: a,\n props: e.props\n });\n }\n }), o.length) {\n o.sort(function (e, t) {\n return e.dist - t.dist;\n });\n var i = o[0].key,\n s = o[0].props;\n n.hoverKey_ !== i && (n._onChildMouseLeave(), n._onChildMouseEnter(i, s));\n } else n._onChildMouseLeave();\n } else n._onChildMouseLeave();\n }\n }, n._getDimensions = function (e) {\n return n.dimensionsCache_[e];\n }, n.dimensionsCache_ = {}, n.hoverKey_ = null, n.hoverChildProps_ = null, n.allowMouse_ = !0, n.state = a({}, n._getState(), {\n hoverKey: null\n }), n;\n }\n\n p(o, t);\n var n = o.prototype;\n return n.componentDidMount = function () {\n this.props.dispatcher.on(\"kON_CHANGE\", this._onChangeHandler), this.props.dispatcher.on(\"kON_MOUSE_POSITION_CHANGE\", this._onMouseChangeHandler), this.props.dispatcher.on(\"kON_CLICK\", this._onChildClick), this.props.dispatcher.on(\"kON_MDOWN\", this._onChildMouseDown);\n }, n.shouldComponentUpdate = function (e, t) {\n return !0 === this.props.experimental ? !_(this.props, e) || !_(d(this.state, [\"hoverKey\"]), d(t, [\"hoverKey\"])) : !_(this.props, e) || !_(this.state, t);\n }, n.componentWillUnmount = function () {\n this.props.dispatcher.removeListener(\"kON_CHANGE\", this._onChangeHandler), this.props.dispatcher.removeListener(\"kON_MOUSE_POSITION_CHANGE\", this._onMouseChangeHandler), this.props.dispatcher.removeListener(\"kON_CLICK\", this._onChildClick), this.props.dispatcher.removeListener(\"kON_MDOWN\", this._onChildMouseDown), this.dimensionsCache_ = null;\n }, n.render = function () {\n var t = this,\n o = this.props.style || f;\n this.dimensionsCache_ = {};\n var n = e.Children.map(this.state.children, function (o, n) {\n if (o) {\n if (void 0 === o.props.latLng && void 0 === o.props.lat && void 0 === o.props.lng) return e.cloneElement(o, {\n $geoService: t.props.geoService,\n $onMouseAllow: t._onMouseAllow,\n $prerender: t.props.prerender\n });\n var r = void 0 !== o.props.latLng ? o.props.latLng : {\n lat: o.props.lat,\n lng: o.props.lng\n },\n i = t.props.insideMapPanes ? t.props.geoService.fromLatLngToDivPixel(r) : t.props.geoService.fromLatLngToCenterPixel(r),\n s = {\n left: i.x,\n top: i.y\n };\n\n if (void 0 !== o.props.seLatLng || void 0 !== o.props.seLat && void 0 !== o.props.seLng) {\n var p = void 0 !== o.props.seLatLng ? o.props.seLatLng : {\n lat: o.props.seLat,\n lng: o.props.seLng\n },\n l = t.props.insideMapPanes ? t.props.geoService.fromLatLngToDivPixel(p) : t.props.geoService.fromLatLngToCenterPixel(p);\n s.width = l.x - i.x, s.height = l.y - i.y;\n }\n\n var u = t.props.geoService.fromLatLngToContainerPixel(r),\n h = null != o.key ? o.key : n;\n return t.dimensionsCache_[h] = a({\n x: u.x,\n y: u.y\n }, r), e.createElement(\"div\", {\n key: h,\n style: a({}, v, s),\n className: o.props.$markerHolderClassName\n }, e.cloneElement(o, {\n $hover: h === t.state.hoverKey,\n $getDimensions: t._getDimensions,\n $dimensionKey: h,\n $geoService: t.props.geoService,\n $onMouseAllow: t._onMouseAllow,\n $prerender: t.props.prerender\n }));\n }\n });\n return e.createElement(\"div\", {\n style: o\n }, n);\n }, o;\n}(t);\n\nM.propTypes = {\n geoService: o.any,\n style: o.any,\n distanceToMouse: o.func,\n dispatcher: o.any,\n onChildClick: o.func,\n onChildMouseDown: o.func,\n onChildMouseLeave: o.func,\n onChildMouseEnter: o.func,\n getHoverDistance: o.func,\n insideMapPanes: o.bool,\n prerender: o.bool\n}, M.defaultProps = {\n insideMapPanes: !1,\n prerender: !1\n};\nvar y = {\n width: \"50%\",\n height: \"50%\",\n left: \"50%\",\n top: \"50%\",\n margin: 0,\n padding: 0,\n position: \"absolute\"\n};\n\nfunction C(t) {\n return e.createElement(\"div\", {\n style: y\n }, e.createElement(M, a({}, t, {\n prerender: !0\n })));\n}\n\nvar w,\n L,\n b,\n D = new Promise(function (e) {\n b = e;\n}),\n z = function z(e, t) {\n if (!e) return D;\n if (L) return L;\n e.libraries || (e.libraries = []);\n var o = [].concat(e.libraries);\n\n if (t && (0 !== o.length && o.includes(\"visualization\") || o.push(\"visualization\"), console.warn(\"heatmapLibrary will be deprecated in the future. Please use { libraries: ['visualization'] } in bootstrapURLKeys property instead\")), \"production\" !== process.env.NODE_ENV && Object.keys(e).indexOf(\"callback\") > -1) {\n var n = '\"callback\" key in bootstrapURLKeys is not allowed,\\n use onGoogleApiLoaded property instead';\n throw console.error(n), new Error(n);\n }\n\n if (\"undefined\" == typeof window) throw new Error(\"google map cannot be loaded outside browser env\");\n\n var r = e.key,\n s = function (e, t) {\n if (null == e) return {};\n var o,\n n,\n r = {},\n i = Object.keys(e);\n\n for (n = 0; n < i.length; n++) {\n t.indexOf(o = i[n]) >= 0 || (r[o] = e[o]);\n }\n\n return r;\n }(e, [\"key\"]);\n\n return w || (w = new i(a({\n apiKey: r || \"\"\n }, s, {\n libraries: o\n }))), L = w.load().then(function () {\n return b(window.google.maps), window.google.maps;\n }), b(L), L;\n};\n\nfunction k(e, t, o) {\n var n = o - t;\n return e === o ? e : ((e - t) % n + n) % n + t;\n}\n\nvar O = function () {\n function e(e, t) {\n if (isNaN(e) || isNaN(t)) throw new Error(\"Invalid LatLng object: (\" + e + \", \" + t + \")\");\n this.lat = +e, this.lng = +t;\n }\n\n return e.prototype.wrap = function () {\n return new e(this.lat, k(this.lng, -180, 180));\n }, e;\n}();\n\nO.convert = function (e) {\n return e instanceof O ? e : Array.isArray(e) ? new O(e[0], e[1]) : \"lng\" in e && \"lat\" in e ? new O(e.lat, e.lng) : e;\n};\n\nvar x = function () {\n function e(e, t, o) {\n this.tileSize = e || 512, this._minZoom = t || 0, this._maxZoom = o || 52, this.latRange = [-85.05113, 85.05113], this.width = 0, this.height = 0, this.zoom = 0, this.center = new O(0, 0), this.angle = 0;\n }\n\n var t,\n o = e.prototype;\n return o.zoomScale = function (e) {\n return Math.pow(2, e);\n }, o.scaleZoom = function (e) {\n return Math.log(e) / Math.LN2;\n }, o.project = function (e, t) {\n return new s(this.lngX(e.lng, t), this.latY(e.lat, t));\n }, o.unproject = function (e, t) {\n return new O(this.yLat(e.y, t), this.xLng(e.x, t));\n }, o.lngX = function (e, t) {\n return (180 + e) * (t || this.worldSize) / 360;\n }, o.latY = function (e, t) {\n return (180 - 180 / Math.PI * Math.log(Math.tan(Math.PI / 4 + e * Math.PI / 360))) * (t || this.worldSize) / 360;\n }, o.xLng = function (e, t) {\n return 360 * e / (t || this.worldSize) - 180;\n }, o.yLat = function (e, t) {\n return 360 / Math.PI * Math.atan(Math.exp((180 - 360 * e / (t || this.worldSize)) * Math.PI / 180)) - 90;\n }, o.locationPoint = function (e) {\n var t = this.project(e);\n return this.centerPoint._sub(this.point._sub(t)._rotate(this.angle));\n }, o.pointLocation = function (e) {\n var t = this.centerPoint._sub(e)._rotate(-this.angle);\n\n return this.unproject(this.point.sub(t));\n }, (t = [{\n key: \"minZoom\",\n get: function get() {\n return this._minZoom;\n },\n set: function set(e) {\n this._minZoom = e, this.zoom = Math.max(this.zoom, e);\n }\n }, {\n key: \"maxZoom\",\n get: function get() {\n return this._maxZoom;\n },\n set: function set(e) {\n this._maxZoom = e, this.zoom = Math.min(this.zoom, e);\n }\n }, {\n key: \"worldSize\",\n get: function get() {\n return this.tileSize * this.scale;\n }\n }, {\n key: \"centerPoint\",\n get: function get() {\n return new s(0, 0);\n }\n }, {\n key: \"size\",\n get: function get() {\n return new s(this.width, this.height);\n }\n }, {\n key: \"bearing\",\n get: function get() {\n return -this.angle / Math.PI * 180;\n },\n set: function set(e) {\n this.angle = -k(e, -180, 180) * Math.PI / 180;\n }\n }, {\n key: \"zoom\",\n get: function get() {\n return this._zoom;\n },\n set: function set(e) {\n var t = Math.min(Math.max(e, this.minZoom), this.maxZoom);\n this._zoom = t, this.scale = this.zoomScale(t), this.tileZoom = Math.floor(t), this.zoomFraction = t - this.tileZoom;\n }\n }, {\n key: \"x\",\n get: function get() {\n return this.lngX(this.center.lng);\n }\n }, {\n key: \"y\",\n get: function get() {\n return this.latY(this.center.lat);\n }\n }, {\n key: \"point\",\n get: function get() {\n return new s(this.x, this.y);\n }\n }]) && function (e, t) {\n for (var o = 0; o < t.length; o++) {\n var n = t[o];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }(e.prototype, t), e;\n}(),\n T = function () {\n function e(e) {\n this.hasSize_ = !1, this.hasView_ = !1, this.transform_ = new x(e || 512);\n }\n\n var t = e.prototype;\n return t.setView = function (e, t, o) {\n this.transform_.center = O.convert(e), this.transform_.zoom = +t, this.transform_.bearing = +o, this.hasView_ = !0;\n }, t.setViewSize = function (e, t) {\n this.transform_.width = e, this.transform_.height = t, this.hasSize_ = !0;\n }, t.setMapCanvasProjection = function (e, t) {\n this.maps_ = e, this.mapCanvasProjection_ = t;\n }, t.canProject = function () {\n return this.hasSize_ && this.hasView_;\n }, t.hasSize = function () {\n return this.hasSize_;\n }, t.fromLatLngToCenterPixel = function (e) {\n return this.transform_.locationPoint(O.convert(e));\n }, t.fromLatLngToDivPixel = function (e) {\n if (this.mapCanvasProjection_) {\n var t = new this.maps_.LatLng(e.lat, e.lng);\n return this.mapCanvasProjection_.fromLatLngToDivPixel(t);\n }\n\n return this.fromLatLngToCenterPixel(e);\n }, t.fromLatLngToContainerPixel = function (e) {\n if (this.mapCanvasProjection_) {\n var t = new this.maps_.LatLng(e.lat, e.lng);\n return this.mapCanvasProjection_.fromLatLngToContainerPixel(t);\n }\n\n var o = this.fromLatLngToCenterPixel(e);\n return o.x -= this.transform_.worldSize * Math.round(o.x / this.transform_.worldSize), o.x += this.transform_.width / 2, o.y += this.transform_.height / 2, o;\n }, t.fromContainerPixelToLatLng = function (e) {\n if (this.mapCanvasProjection_) {\n var t = this.mapCanvasProjection_.fromContainerPixelToLatLng(e);\n return {\n lat: t.lat(),\n lng: t.lng()\n };\n }\n\n var o = a({}, e);\n o.x -= this.transform_.width / 2, o.y -= this.transform_.height / 2;\n var n = this.transform_.pointLocation(s.convert(o));\n return n.lng -= 360 * Math.round(n.lng / 360), n;\n }, t.getWidth = function () {\n return this.transform_.width;\n }, t.getHeight = function () {\n return this.transform_.height;\n }, t.getZoom = function () {\n return this.transform_.zoom;\n }, t.getCenter = function () {\n return this.transform_.pointLocation({\n x: 0,\n y: 0\n });\n }, t.getBounds = function (e, t) {\n var o = e && e[0] || 0,\n n = e && e[1] || 0,\n r = e && e[2] || 0,\n i = e && e[3] || 0;\n\n if (this.getWidth() - n - i > 0 && this.getHeight() - o - r > 0) {\n var a = this.transform_.pointLocation(s.convert({\n x: i - this.getWidth() / 2,\n y: o - this.getHeight() / 2\n })),\n p = this.transform_.pointLocation(s.convert({\n x: this.getWidth() / 2 - n,\n y: this.getHeight() / 2 - r\n })),\n l = [a.lat, a.lng, p.lat, p.lng, p.lat, a.lng, a.lat, p.lng];\n return t && (l = l.map(function (e) {\n return Math.round(e * t) / t;\n })), l;\n }\n\n return [0, 0, 0, 0];\n }, e;\n}();\n\nfunction S(e) {\n if (window.requestAnimationFrame) return window.requestAnimationFrame(e);\n var t = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n return t ? t(e) : window.setTimeout(e, 1e3 / 60);\n}\n\nvar E = Math.log2 ? Math.log2 : function (e) {\n return Math.log(e) / Math.LN2;\n};\n\nfunction P(e, t) {\n return Object.keys(e).reduce(function (o, n) {\n return t(e[n]) && (o[n] = e[n]), o;\n }, {});\n}\n\nvar A = function A(e) {\n if (null !== e && \"object\" == typeof e) {\n if (0 === Object.keys(e).length) return !0;\n } else if (null == e || \"\" === e) return !0;\n\n return !1;\n},\n I = Object.prototype.toString;\n\nfunction N(e) {\n return \"number\" == typeof e || function (e) {\n return !!e && \"object\" == typeof e;\n }(e) && \"[object Number]\" === I.call(e);\n}\n\nvar Z = null;\n\nfunction j() {\n if (Z) return Z;\n\n if (\"undefined\" != typeof navigator) {\n var e = navigator.userAgent.indexOf(\"MSIE\") > -1,\n t = navigator.userAgent.indexOf(\"Firefox\") > -1,\n o = navigator.userAgent.toLowerCase().indexOf(\"op\") > -1,\n n = navigator.userAgent.indexOf(\"Chrome\") > -1,\n r = navigator.userAgent.indexOf(\"Safari\") > -1;\n return n && r && (r = !1), n && o && (n = !1), Z = {\n isExplorer: e,\n isFirefox: t,\n isOpera: o,\n isChrome: n,\n isSafari: r\n };\n }\n\n return Z = {\n isChrome: !0,\n isExplorer: !1,\n isFirefox: !1,\n isOpera: !1,\n isSafari: !1\n };\n}\n\nvar U = function U(e) {\n return Function.prototype.toString.call(e);\n};\n\nfunction H(e) {\n if (!e || \"object\" != typeof e) return !1;\n var t = \"function\" == typeof e.constructor ? Object.getPrototypeOf(e) : Object.prototype;\n if (null === t) return !0;\n var o = t.constructor;\n return \"function\" == typeof o && o instanceof o && U(o) === U(Object);\n}\n\nfunction K(e, t, o, n) {\n e.addEventListener(t, o, function () {\n var e = !1;\n\n try {\n var t = Object.defineProperty({}, \"passive\", {\n get: function get() {\n e = !0;\n }\n });\n window.addEventListener(\"test\", t, t), window.removeEventListener(\"test\", t, t);\n } catch (t) {\n e = !1;\n }\n\n return e;\n }() ? {\n capture: n,\n passive: !0\n } : n);\n}\n\nvar R,\n G = !(\"undefined\" == typeof window || !window.document || !window.document.createElement);\nR = G ? window : \"undefined\" != typeof self ? self : void 0;\nvar B,\n W = \"undefined\" != typeof document && document.attachEvent,\n V = !1;\n\nif (G && !W) {\n var F = function () {\n var e = R.requestAnimationFrame || R.mozRequestAnimationFrame || R.webkitRequestAnimationFrame || function (e) {\n return R.setTimeout(e, 20);\n };\n\n return function (t) {\n return e(t);\n };\n }(),\n $ = (B = R.cancelAnimationFrame || R.mozCancelAnimationFrame || R.webkitCancelAnimationFrame || R.clearTimeout, function (e) {\n return B(e);\n }),\n q = function q(e) {\n var t = e.__resizeTriggers__,\n o = t.firstElementChild,\n n = t.lastElementChild,\n r = o.firstElementChild;\n n.scrollLeft = n.scrollWidth, n.scrollTop = n.scrollHeight, r.style.width = o.offsetWidth + 1 + \"px\", r.style.height = o.offsetHeight + 1 + \"px\", o.scrollLeft = o.scrollWidth, o.scrollTop = o.scrollHeight;\n },\n Y = function Y(e) {\n var t = this;\n q(this), this.__resizeRAF__ && $(this.__resizeRAF__), this.__resizeRAF__ = F(function () {\n (function (e) {\n return e.offsetWidth != e.__resizeLast__.width || e.offsetHeight != e.__resizeLast__.height;\n })(t) && (t.__resizeLast__.width = t.offsetWidth, t.__resizeLast__.height = t.offsetHeight, t.__resizeListeners__.forEach(function (o) {\n o.call(t, e);\n }));\n });\n },\n X = !1,\n J = \"\",\n Q = \"animationstart\",\n ee = \"Webkit Moz O ms\".split(\" \"),\n te = \"webkitAnimationStart animationstart oAnimationStart MSAnimationStart\".split(\" \");\n\n if (G) {\n var oe = document.createElement(\"fakeelement\");\n if (void 0 !== oe.style.animationName && (X = !0), !1 === X) for (var ne = 0; ne < ee.length; ne++) {\n if (void 0 !== oe.style[ee[ne] + \"AnimationName\"]) {\n J = \"-\" + ee[ne].toLowerCase() + \"-\", Q = te[ne], X = !0;\n break;\n }\n }\n }\n\n var re = \"resizeanim\",\n ie = \"@\" + J + \"keyframes \" + re + \" { from { opacity: 0; } to { opacity: 0; } } \",\n se = J + \"animation: 1ms \" + re + \"; \";\n}\n\nvar ae = void 0 !== n.createPortal,\n pe = ae ? n.createPortal : n.unstable_renderSubtreeIntoContainer,\n le = function le(e) {\n return H(e) ? e : {\n lat: e[0],\n lng: e[1]\n };\n},\n ue = function ue(e, t) {\n return \"production\" !== process.env.NODE_ENV && e < t && console.warn(\"GoogleMap: minZoom option is less than recommended minZoom option for your map sizes.\\noverrided to value \" + t), t < e ? e : t;\n},\n he = function (t) {\n function o(o) {\n var r;\n\n if ((r = t.call(this, o) || this)._getMinZoom = function () {\n if (r.geoService_.getWidth() > 0 || r.geoService_.getHeight() > 0) {\n var e = Math.ceil(r.geoService_.getWidth() / 256) + 2,\n t = Math.ceil(r.geoService_.getHeight() / 256) + 2,\n o = Math.max(e, t);\n return Math.ceil(E(o));\n }\n\n return 3;\n }, r._computeMinZoom = function (e) {\n return A(e) ? r._getMinZoom() : e;\n }, r._mapDomResizeCallback = function () {\n if (r.resetSizeOnIdle_ = !0, r.maps_) {\n var e = r.props.center || r.props.defaultCenter,\n t = r.map_.getCenter();\n r.maps_.event.trigger(r.map_, \"resize\"), r.map_.setCenter(r.props.resetBoundsOnResize ? e : t);\n }\n }, r._setLayers = function (e) {\n e.forEach(function (e) {\n r.layers_[e] = new r.maps_[e](), r.layers_[e].setMap(r.map_);\n });\n }, r._renderPortal = function () {\n return e.createElement(M, {\n experimental: r.props.experimental,\n onChildClick: r._onChildClick,\n onChildMouseDown: r._onChildMouseDown,\n onChildMouseEnter: r._onChildMouseEnter,\n onChildMouseLeave: r._onChildMouseLeave,\n geoService: r.geoService_,\n insideMapPanes: !0,\n distanceToMouse: r.props.distanceToMouse,\n getHoverDistance: r._getHoverDistance,\n dispatcher: r.markersDispatcher_\n });\n }, r._initMap = function () {\n if (!r.initialized_) {\n r.initialized_ = !0;\n var e = le(r.props.center || r.props.defaultCenter);\n r.geoService_.setView(e, r.props.zoom || r.props.defaultZoom, 0), r._onBoundsChanged();\n var t = a({}, r.props.apiKey && {\n key: r.props.apiKey\n }, r.props.bootstrapURLKeys);\n r.props.googleMapLoader(t, r.props.heatmapLibrary).then(function (e) {\n if (r.mounted_) {\n var t,\n o,\n i = r.geoService_.getCenter(),\n s = {\n zoom: r.props.zoom || r.props.defaultZoom,\n center: new e.LatLng(i.lat, i.lng)\n };\n r.props.heatmap.positions && (Object.assign(l(r), {\n heatmap: (t = e, o = r.props.heatmap, new t.visualization.HeatmapLayer({\n data: o.positions.reduce(function (e, o) {\n var n = o.weight,\n r = void 0 === n ? 1 : n;\n return e.push({\n location: new t.LatLng(o.lat, o.lng),\n weight: r\n }), e;\n }, [])\n }))\n }), function (e, t) {\n var o = t.options,\n n = void 0 === o ? {} : o;\n Object.keys(n).map(function (t) {\n return e.set(t, n[t]);\n });\n }(r.heatmap, r.props.heatmap));\n\n var p = P(e, H),\n u = \"function\" == typeof r.props.options ? r.props.options(p) : r.props.options,\n h = !A(r.props.draggable) && {\n draggable: r.props.draggable\n },\n c = r._computeMinZoom(u.minZoom);\n\n r.minZoom_ = c;\n var d = a({}, {\n overviewMapControl: !1,\n streetViewControl: !1,\n rotateControl: !0,\n mapTypeControl: !1,\n styles: [{\n featureType: \"poi\",\n elementType: \"labels\",\n stylers: [{\n visibility: \"off\"\n }]\n }],\n minZoom: 3\n }, {\n minZoom: c\n }, u, s);\n r.defaultDraggableOption_ = A(d.draggable) ? r.defaultDraggableOption_ : d.draggable;\n var m = a({}, d, h);\n m.minZoom = ue(m.minZoom, c);\n var g = new e.Map(n.findDOMNode(r.googleMapDom_), m);\n r.map_ = g, r.maps_ = e, r._setLayers(r.props.layerTypes);\n\n var _ = e.version.match(/^3\\.(\\d+)\\./),\n f = _ && Number(_[1]),\n v = l(r),\n M = Object.assign(new e.OverlayView(), {\n onAdd: function onAdd() {\n var t = \"undefined\" != typeof screen ? screen.width + \"px\" : \"2000px\",\n o = \"undefined\" != typeof screen ? screen.height + \"px\" : \"2000px\",\n n = document.createElement(\"div\");\n\n if (n.style.backgroundColor = \"transparent\", n.style.position = \"absolute\", n.style.left = \"0px\", n.style.top = \"0px\", n.style.width = t, n.style.height = o, v.props.overlayViewDivStyle) {\n var r = v.props.overlayViewDivStyle;\n \"object\" == typeof r && Object.keys(r).forEach(function (e) {\n n.style[e] = r[e];\n });\n }\n\n this.getPanes().overlayMouseTarget.appendChild(n), v.geoService_.setMapCanvasProjection(e, M.getProjection()), ae ? v.setState({\n overlay: n\n }) : pe(v, v._renderPortal(), n, function () {\n return v.setState({\n overlay: n\n });\n });\n },\n onRemove: function onRemove() {\n var e = v.state.overlay;\n e && !ae && n.unmountComponentAtNode(e), v.setState({\n overlay: null\n });\n },\n draw: function draw() {\n if (v.updateCounter_++, v._onBoundsChanged(g, e, !v.props.debounced), v.googleApiLoadedCalled_ || (v._onGoogleApiLoaded({\n map: g,\n maps: e,\n ref: v.googleMapDom_\n }), v.googleApiLoadedCalled_ = !0), v.mouse_) {\n var t = v.geoService_.fromContainerPixelToLatLng(v.mouse_);\n v.mouse_.lat = t.lat, v.mouse_.lng = t.lng;\n }\n\n v._onChildMouseMove(), v.markersDispatcher_ && (v.markersDispatcher_.emit(\"kON_CHANGE\"), v.fireMouseEventOnIdle_ && v.markersDispatcher_.emit(\"kON_MOUSE_POSITION_CHANGE\"));\n }\n });\n\n r.overlay_ = M, M.setMap(g), r.props.heatmap.positions && r.heatmap.setMap(g), r.props.onTilesLoaded && e.event.addListener(g, \"tilesloaded\", function () {\n v._onTilesLoaded();\n }), e.event.addListener(g, \"zoom_changed\", function () {\n v.geoService_.getZoom() !== g.getZoom() && (v.zoomAnimationInProgress_ || (v.zoomAnimationInProgress_ = !0, v._onZoomAnimationStart(g.zoom)), f < 32) && (new Date().getTime() - r.zoomControlClickTime_ < 300 ? S(function () {\n return S(function () {\n v.updateCounter_++, v._onBoundsChanged(g, e);\n });\n }) : (v.updateCounter_++, v._onBoundsChanged(g, e)));\n }), e.event.addListener(g, \"idle\", function () {\n if (r.resetSizeOnIdle_) {\n r._setViewSize();\n\n var t = r._computeMinZoom(u.minZoom);\n\n t !== r.minZoom_ && (r.minZoom_ = t, g.setOptions({\n minZoom: t\n })), r.resetSizeOnIdle_ = !1;\n }\n\n v.zoomAnimationInProgress_ && (v.zoomAnimationInProgress_ = !1, v._onZoomAnimationEnd(g.zoom)), v.updateCounter_++, v._onBoundsChanged(g, e), v.dragTime_ = 0, v.markersDispatcher_ && v.markersDispatcher_.emit(\"kON_CHANGE\");\n }), e.event.addListener(g, \"mouseover\", function () {\n v.mouseInMap_ = !0;\n }), e.event.addListener(g, \"click\", function () {\n v.mouseInMap_ = !0;\n }), e.event.addListener(g, \"mouseout\", function () {\n v.mouseInMap_ = !1, v.mouse_ = null, v.markersDispatcher_.emit(\"kON_MOUSE_POSITION_CHANGE\");\n }), e.event.addListener(g, \"drag\", function () {\n v.dragTime_ = new Date().getTime(), v._onDrag(g);\n }), e.event.addListener(g, \"dragend\", function () {\n var t = e.event.addListener(g, \"idle\", function () {\n e.event.removeListener(t), v._onDragEnd(g);\n });\n }), e.event.addListener(g, \"maptypeid_changed\", function () {\n v._onMapTypeIdChange(g.getMapTypeId());\n });\n }\n }).catch(function (e) {\n throw r._onGoogleApiLoaded({\n map: null,\n maps: null,\n ref: r.googleMapDom_\n }), console.error(e), e;\n });\n }\n }, r._onGoogleApiLoaded = function () {\n var e;\n r.props.onGoogleApiLoaded && (\"production\" !== process.env.NODE_ENV && !0 !== r.props.yesIWantToUseGoogleMapApiInternals && console.warn(\"GoogleMap: Usage of internal api objects is dangerous and can cause a lot of issues.\\nTo hide this warning add yesIWantToUseGoogleMapApiInternals={true} to <GoogleMap instance\"), (e = r.props).onGoogleApiLoaded.apply(e, arguments));\n }, r._getHoverDistance = function () {\n return r.props.hoverDistance;\n }, r._onDrag = function () {\n var e;\n return r.props.onDrag && (e = r.props).onDrag.apply(e, arguments);\n }, r._onDragEnd = function () {\n var e;\n return r.props.onDragEnd && (e = r.props).onDragEnd.apply(e, arguments);\n }, r._onMapTypeIdChange = function () {\n var e;\n return r.props.onMapTypeIdChange && (e = r.props).onMapTypeIdChange.apply(e, arguments);\n }, r._onZoomAnimationStart = function () {\n var e;\n return r.props.onZoomAnimationStart && (e = r.props).onZoomAnimationStart.apply(e, arguments);\n }, r._onZoomAnimationEnd = function () {\n var e;\n return r.props.onZoomAnimationEnd && (e = r.props).onZoomAnimationEnd.apply(e, arguments);\n }, r._onTilesLoaded = function () {\n return r.props.onTilesLoaded && r.props.onTilesLoaded();\n }, r._onChildClick = function () {\n var e;\n if (r.props.onChildClick) return (e = r.props).onChildClick.apply(e, arguments);\n }, r._onChildMouseDown = function (e, t) {\n r.childMouseDownArgs_ = [e, t], r.props.onChildMouseDown && r.props.onChildMouseDown(e, t, a({}, r.mouse_));\n }, r._onChildMouseUp = function () {\n var e;\n r.childMouseDownArgs_ && (r.props.onChildMouseUp && (e = r.props).onChildMouseUp.apply(e, r.childMouseDownArgs_.concat([a({}, r.mouse_)])), r.childMouseDownArgs_ = null, r.childMouseUpTime_ = new Date().getTime());\n }, r._onChildMouseMove = function () {\n var e;\n r.childMouseDownArgs_ && r.props.onChildMouseMove && (e = r.props).onChildMouseMove.apply(e, r.childMouseDownArgs_.concat([a({}, r.mouse_)]));\n }, r._onChildMouseEnter = function () {\n var e;\n if (r.props.onChildMouseEnter) return (e = r.props).onChildMouseEnter.apply(e, arguments);\n }, r._onChildMouseLeave = function () {\n var e;\n if (r.props.onChildMouseLeave) return (e = r.props).onChildMouseLeave.apply(e, arguments);\n }, r._setViewSize = function () {\n if (r.mounted_) {\n if (document.fullscreen || document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement) r.geoService_.setViewSize(window.innerWidth, window.innerHeight);else {\n var e = n.findDOMNode(r.googleMapDom_);\n r.geoService_.setViewSize(e.clientWidth, e.clientHeight);\n }\n\n r._onBoundsChanged();\n }\n }, r._onWindowResize = function () {\n r.resetSizeOnIdle_ = !0;\n }, r._onMapMouseMove = function (e) {\n if (r.mouseInMap_) {\n var t = new Date().getTime();\n t - r.mouseMoveTime_ > 50 && (r.boundingRect_ = e.currentTarget.getBoundingClientRect()), r.mouseMoveTime_ = t;\n var o = e.clientX - r.boundingRect_.left,\n n = e.clientY - r.boundingRect_.top;\n r.mouse_ || (r.mouse_ = {\n x: 0,\n y: 0,\n lat: 0,\n lng: 0\n }), r.mouse_.x = o, r.mouse_.y = n;\n var i = r.geoService_.fromContainerPixelToLatLng(r.mouse_);\n r.mouse_.lat = i.lat, r.mouse_.lng = i.lng, r._onChildMouseMove(), t - r.dragTime_ < 100 ? r.fireMouseEventOnIdle_ = !0 : (r.markersDispatcher_.emit(\"kON_MOUSE_POSITION_CHANGE\"), r.fireMouseEventOnIdle_ = !1);\n }\n }, r._onClick = function () {\n var e;\n return r.props.onClick && !r.childMouseDownArgs_ && new Date().getTime() - r.childMouseUpTime_ > 300 && 0 === r.dragTime_ && (e = r.props).onClick.apply(e, arguments);\n }, r._onMapClick = function (e) {\n r.markersDispatcher_ && (r._onMapMouseMove(e), new Date().getTime() - r.dragTime_ > 100 && (r.mouse_ && r._onClick(a({}, r.mouse_, {\n event: e\n })), r.markersDispatcher_.emit(\"kON_CLICK\", e)));\n }, r._onMapMouseDownNative = function (e) {\n r.mouseInMap_ && r._onMapMouseDown(e);\n }, r._onMapMouseDown = function (e) {\n r.markersDispatcher_ && new Date().getTime() - r.dragTime_ > 100 && (r._onMapMouseMove(e), r.markersDispatcher_.emit(\"kON_MDOWN\", e));\n }, r._onMapMouseDownCapture = function () {\n j().isChrome && (r.zoomControlClickTime_ = new Date().getTime());\n }, r._onKeyDownCapture = function () {\n j().isChrome && (r.zoomControlClickTime_ = new Date().getTime());\n }, r._isCenterDefined = function (e) {\n return e && (H(e) && N(e.lat) && N(e.lng) || 2 === e.length && N(e[0]) && N(e[1]));\n }, r._onBoundsChanged = function (e, t, o) {\n if (e) {\n var n = e.getCenter();\n r.geoService_.setView([n.lat(), n.lng()], e.getZoom(), 0);\n }\n\n if ((r.props.onChange || r.props.onBoundsChange) && r.geoService_.canProject()) {\n var i = r.geoService_.getZoom(),\n s = r.geoService_.getBounds(),\n p = r.geoService_.getCenter();\n\n if (!function (e, t, o) {\n if (e && t) {\n for (var n = 0; n !== e.length; ++n) {\n if (Math.abs(e[n] - t[n]) > 1e-5) return !1;\n }\n\n return !0;\n }\n\n return !1;\n }(s, r.prevBounds_) && !1 !== o) {\n var l = r.geoService_.getBounds(r.props.margin);\n r.props.onBoundsChange && r.props.onBoundsChange(r.centerIsObject_ ? a({}, p) : [p.lat, p.lng], i, s, l), r.props.onChange && r.props.onChange({\n center: a({}, p),\n zoom: i,\n bounds: {\n nw: {\n lat: s[0],\n lng: s[1]\n },\n se: {\n lat: s[2],\n lng: s[3]\n },\n sw: {\n lat: s[4],\n lng: s[5]\n },\n ne: {\n lat: s[6],\n lng: s[7]\n }\n },\n marginBounds: {\n nw: {\n lat: l[0],\n lng: l[1]\n },\n se: {\n lat: l[2],\n lng: l[3]\n },\n sw: {\n lat: l[4],\n lng: l[5]\n },\n ne: {\n lat: l[6],\n lng: l[7]\n }\n },\n size: r.geoService_.hasSize() ? {\n width: r.geoService_.getWidth(),\n height: r.geoService_.getHeight()\n } : {\n width: 0,\n height: 0\n }\n }), r.prevBounds_ = s;\n }\n }\n }, r._registerChild = function (e) {\n r.googleMapDom_ = e;\n }, r.mounted_ = !1, r.initialized_ = !1, r.googleApiLoadedCalled_ = !1, r.map_ = null, r.maps_ = null, r.prevBounds_ = null, r.heatmap = null, r.layers_ = {}, r.mouse_ = null, r.mouseMoveTime_ = 0, r.boundingRect_ = null, r.mouseInMap_ = !0, r.dragTime_ = 0, r.fireMouseEventOnIdle_ = !1, r.updateCounter_ = 0, r.markersDispatcher_ = new c(l(r)), r.geoService_ = new T(256), r.centerIsObject_ = H(r.props.center), r.minZoom_ = 3, r.defaultDraggableOption_ = !0, r.zoomControlClickTime_ = 0, r.childMouseDownArgs_ = null, r.childMouseUpTime_ = 0, r.googleMapDom_ = null, \"production\" !== process.env.NODE_ENV && (r.props.apiKey && console.warn(\"GoogleMap: apiKey is deprecated, use bootstrapURLKeys={{key: YOUR_API_KEY}} instead.\"), r.props.onBoundsChange && console.warn(\"GoogleMap: onBoundsChange is deprecated, use onChange({center, zoom, bounds, ...other}) instead.\"), A(r.props.center) && A(r.props.defaultCenter) && console.warn(\"GoogleMap: center or defaultCenter property must be defined\"), A(r.props.zoom) && A(r.props.defaultZoom) && console.warn(\"GoogleMap: zoom or defaultZoom property must be defined\")), r._isCenterDefined(r.props.center || r.props.defaultCenter)) {\n var i = le(r.props.center || r.props.defaultCenter);\n r.geoService_.setView(i, r.props.zoom || r.props.defaultZoom, 0);\n }\n\n return r.zoomAnimationInProgress_ = !1, r.state = {\n overlay: null\n }, r;\n }\n\n p(o, t);\n var r = o.prototype;\n return r.componentDidMount = function () {\n var e = this;\n this.mounted_ = !0, K(window, \"resize\", this._onWindowResize, !1), K(window, \"keydown\", this._onKeyDownCapture, !0);\n var t = n.findDOMNode(this.googleMapDom_);\n t && K(t, \"mousedown\", this._onMapMouseDownNative, !0), K(window, \"mouseup\", this._onChildMouseUp, !1);\n var o = a({}, this.props.apiKey && {\n key: this.props.apiKey\n }, this.props.bootstrapURLKeys);\n this.props.googleMapLoader(o, this.props.heatmapLibrary), setTimeout(function () {\n e._setViewSize(), e._isCenterDefined(e.props.center || e.props.defaultCenter) && e._initMap();\n }, 0, this), this.props.resetBoundsOnResize && function (e, t) {\n if (void 0 === e.parentNode) {\n var o = document.createElement(\"div\");\n e.parentNode = o;\n }\n\n e = e.parentNode, W ? e.attachEvent(\"onresize\", t) : (e.__resizeTriggers__ || (\"static\" == getComputedStyle(e).position && (e.style.position = \"relative\"), function () {\n if (!V) {\n var e = (ie || \"\") + \".resize-triggers { \" + (se || \"\") + 'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n t = document.head || document.getElementsByTagName(\"head\")[0],\n o = document.createElement(\"style\");\n o.type = \"text/css\", o.styleSheet ? o.styleSheet.cssText = e : o.appendChild(document.createTextNode(e)), t.appendChild(o), V = !0;\n }\n }(), e.__resizeLast__ = {}, e.__resizeListeners__ = [], (e.__resizeTriggers__ = document.createElement(\"div\")).className = \"resize-triggers\", e.__resizeTriggers__.innerHTML = '<div class=\"expand-trigger\"><div></div></div><div class=\"contract-trigger\"></div>', e.appendChild(e.__resizeTriggers__), q(e), K(e, \"scroll\", Y, !0), Q && e.__resizeTriggers__.addEventListener(Q, function (t) {\n t.animationName == re && q(e);\n })), e.__resizeListeners__.push(t));\n }(t, this._mapDomResizeCallback);\n }, r.shouldComponentUpdate = function (e, t) {\n return !_(d(this.props, [\"draggable\"]), d(e, [\"draggable\"])) || !_(this.state, t);\n }, r.componentDidUpdate = function (e) {\n var t = this;\n\n if (\"production\" !== process.env.NODE_ENV && (_(e.defaultCenter, this.props.defaultCenter) || console.warn(\"GoogleMap: defaultCenter prop changed. You can't change default props.\"), _(e.defaultZoom, this.props.defaultZoom) || console.warn(\"GoogleMap: defaultZoom prop changed. You can't change default props.\")), !this._isCenterDefined(e.center) && this._isCenterDefined(this.props.center) && setTimeout(function () {\n return t._initMap();\n }, 0), this.map_) {\n var o = this.geoService_.getCenter();\n\n if (this._isCenterDefined(this.props.center)) {\n var n = le(this.props.center),\n r = this._isCenterDefined(e.center) ? le(e.center) : null;\n (!r || Math.abs(n.lat - r.lat) + Math.abs(n.lng - r.lng) > 1e-5) && Math.abs(n.lat - o.lat) + Math.abs(n.lng - o.lng) > 1e-5 && this.map_.panTo({\n lat: n.lat,\n lng: n.lng\n });\n }\n\n if (A(this.props.zoom) || Math.abs(this.props.zoom - e.zoom) > 0 && this.map_.setZoom(this.props.zoom), !A(e.draggable) && A(this.props.draggable) ? this.map_.setOptions({\n draggable: this.defaultDraggableOption_\n }) : _(e.draggable, this.props.draggable) || this.map_.setOptions({\n draggable: this.props.draggable\n }), !A(this.props.options) && !_(e.options, this.props.options)) {\n var i = P(this.maps_, H),\n s = \"function\" == typeof this.props.options ? this.props.options(i) : this.props.options;\n\n if (\"minZoom\" in (s = d(s, [\"zoom\", \"center\", \"draggable\"]))) {\n var a = this._computeMinZoom(s.minZoom);\n\n s.minZoom = ue(s.minZoom, a);\n }\n\n this.map_.setOptions(s);\n }\n\n _(this.props.layerTypes, e.layerTypes) || (Object.keys(this.layers_).forEach(function (e) {\n t.layers_[e].setMap(null), delete t.layers_[e];\n }), this._setLayers(this.props.layerTypes)), this.heatmap && !_(this.props.heatmap.positions, e.heatmap.positions) && this.heatmap.setData(this.props.heatmap.positions.map(function (e) {\n return {\n location: new t.maps_.LatLng(e.lat, e.lng),\n weight: e.weight\n };\n })), this.heatmap && !_(this.props.heatmap.options, e.heatmap.options) && Object.keys(this.props.heatmap.options).forEach(function (e) {\n t.heatmap.set(e, t.props.heatmap.options[e]);\n });\n }\n\n this.markersDispatcher_.emit(\"kON_CHANGE\"), _(this.props.hoverDistance, e.hoverDistance) || this.markersDispatcher_.emit(\"kON_MOUSE_POSITION_CHANGE\");\n }, r.componentWillUnmount = function () {\n this.mounted_ = !1;\n var e,\n t,\n o = n.findDOMNode(this.googleMapDom_);\n o && o.removeEventListener(\"mousedown\", this._onMapMouseDownNative, !0), window.removeEventListener(\"resize\", this._onWindowResize), window.removeEventListener(\"keydown\", this._onKeyDownCapture), window.removeEventListener(\"mouseup\", this._onChildMouseUp, !1), this.props.resetBoundsOnResize && (t = this._mapDomResizeCallback, e = (e = o).parentNode, W ? e.detachEvent(\"onresize\", t) : (e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t), 1), e.__resizeListeners__.length || (e.removeEventListener(\"scroll\", Y), e.__resizeTriggers__ = !e.removeChild(e.__resizeTriggers__)))), this.overlay_ && this.overlay_.setMap(null), this.maps_ && this.map_ && this.props.shouldUnregisterMapOnUnmount && (this.map_.setOptions({\n scrollwheel: !1\n }), this.maps_.event.clearInstanceListeners(this.map_)), this.props.shouldUnregisterMapOnUnmount && (this.map_ = null, this.maps_ = null), this.markersDispatcher_.dispose(), this.resetSizeOnIdle_ = !1, this.props.shouldUnregisterMapOnUnmount && (delete this.map_, delete this.markersDispatcher_);\n }, r.render = function () {\n var t = this.state.overlay,\n o = t ? null : e.createElement(C, {\n experimental: this.props.experimental,\n onChildClick: this._onChildClick,\n onChildMouseDown: this._onChildMouseDown,\n onChildMouseEnter: this._onChildMouseEnter,\n onChildMouseLeave: this._onChildMouseLeave,\n geoService: this.geoService_,\n insideMapPanes: !1,\n distanceToMouse: this.props.distanceToMouse,\n getHoverDistance: this._getHoverDistance,\n dispatcher: this.markersDispatcher_\n });\n return e.createElement(\"div\", {\n style: this.props.style,\n onMouseMove: this._onMapMouseMove,\n onMouseDownCapture: this._onMapMouseDownCapture,\n onClick: this._onMapClick\n }, e.createElement(h, {\n registerChild: this._registerChild\n }), ae && t && pe(this._renderPortal(), t), o);\n }, o;\n}(t);\n\nfunction ce(e) {\n var t = e.lng,\n o = Math.sin(e.lat * Math.PI / 180),\n n = t / 360 + .5,\n r = .5 - .25 * Math.log((1 + o) / (1 - o)) / Math.PI;\n return {\n x: n,\n y: r = r < 0 ? 0 : r > 1 ? 1 : r\n };\n}\n\nfunction de(e) {\n var t = e.x,\n o = Math.PI - 2 * Math.PI * e.y;\n return {\n lat: 180 / Math.PI * Math.atan(.5 * (Math.exp(o) - Math.exp(-o))),\n lng: 360 * t - 180\n };\n}\n\nfunction me(e, t, o, n) {\n var r = ce(e),\n i = ce(t),\n s = r.x < i.x ? i.x - r.x : 1 - r.x + i.x,\n a = i.y - r.y;\n if (s <= 0 && a <= 0) return null;\n\n var p = E(o / 256 / Math.abs(s)),\n l = E(n / 256 / Math.abs(a)),\n u = Math.floor(1e-9 + Math.min(p, l)),\n h = {\n x: r.x < i.x ? .5 * (r.x + i.x) : r.x + i.x - 1 > 0 ? .5 * (r.x + i.x - 1) : .5 * (1 + r.x + i.x),\n y: .5 * (r.y + i.y)\n },\n c = Math.pow(2, u),\n d = o / c / 256 / 2,\n m = n / c / 256 / 2,\n g = de({\n x: h.x - d,\n y: h.y - m\n }),\n _ = de({\n x: h.x + d,\n y: h.y + m\n });\n\n return {\n center: de(h),\n zoom: u,\n newBounds: {\n nw: g,\n se: _\n }\n };\n}\n\nfunction ge(e) {\n var t = e.ne,\n o = e.sw;\n return {\n nw: {\n lat: t.lat,\n lng: o.lng\n },\n se: {\n lat: o.lat,\n lng: t.lng\n }\n };\n}\n\nfunction _e(e) {\n var t = e.nw,\n o = e.se;\n return {\n ne: {\n lat: t.lat,\n lng: o.lng\n },\n sw: {\n lat: o.lat,\n lng: t.lng\n }\n };\n}\n\nfunction fe(e, t) {\n var o,\n n = e.nw,\n r = e.se,\n i = e.ne,\n s = e.sw,\n p = t.width,\n l = t.height;\n if (n && r) o = me(n, r, p, l);else {\n var u = ge({\n ne: i,\n sw: s\n });\n o = me(u.nw, u.se, p, l);\n }\n return a({}, o, {\n newBounds: a({}, o.newBounds, _e(o.newBounds))\n });\n}\n\nfunction ve(e, t, o) {\n var n = function (e, t) {\n var o = function (e, t) {\n var o,\n n = t.lat,\n r = t.lng,\n i = (o = n * Math.PI / 180, {\n metersPerLatDegree: 111132.92 - 559.82 * Math.cos(2 * o) + 1.175 * Math.cos(4 * o) - .0023 * Math.cos(6 * o),\n metersPerLngDegree: 111412.84 * Math.cos(o) - 93.5 * Math.cos(3 * o) + .118 * Math.cos(5 * o)\n }),\n s = .5 * e / i.metersPerLatDegree,\n a = .5 * e / i.metersPerLngDegree;\n return {\n nw: {\n lat: n - s,\n lng: r - a\n },\n se: {\n lat: n + s,\n lng: r + a\n }\n };\n }(e, {\n lat: t.lat,\n lng: t.lng\n }),\n n = o.se,\n r = ce(o.nw),\n i = ce(n);\n\n return {\n w: Math.abs(i.x - r.x),\n h: Math.abs(i.y - r.y)\n };\n }(e, {\n lat: t.lat,\n lng: t.lng\n }),\n r = n.w,\n i = n.h,\n s = Math.pow(2, o);\n\n return {\n w: r * s * 256,\n h: i * s * 256\n };\n}\n\nfunction Me(e, t) {\n var o = e.x,\n n = Math.PI - 2 * Math.PI * e.y / Math.pow(2, t);\n return {\n lat: 180 / Math.PI * Math.atan(.5 * (Math.exp(n) - Math.exp(-n))),\n lng: o / Math.pow(2, t) * 360 - 180\n };\n}\n\nfunction ye(e, t) {\n var o = ce({\n lat: e.lat,\n lng: e.lng\n }),\n n = Math.pow(2, t);\n return {\n x: Math.floor(o.x * n),\n y: Math.floor(o.y * n)\n };\n}\n\nfunction Ce(e, t) {\n for (var o = e.from, n = e.to, r = Math.pow(2, t), i = [], s = o.x; s !== (n.x + 1) % r; s = (s + 1) % r) {\n for (var a = o.y; a !== (n.y + 1) % r; a = (a + 1) % r) {\n i.push([t, s, a]);\n }\n }\n\n return i;\n}\n\nhe.propTypes = {\n apiKey: o.string,\n bootstrapURLKeys: o.any,\n defaultCenter: o.oneOfType([o.array, o.shape({\n lat: o.number,\n lng: o.number\n })]),\n center: o.oneOfType([o.array, o.shape({\n lat: o.number,\n lng: o.number\n })]),\n defaultZoom: o.number,\n zoom: o.number,\n onBoundsChange: o.func,\n onChange: o.func,\n onClick: o.func,\n onChildClick: o.func,\n onChildMouseDown: o.func,\n onChildMouseUp: o.func,\n onChildMouseMove: o.func,\n onChildMouseEnter: o.func,\n onChildMouseLeave: o.func,\n onZoomAnimationStart: o.func,\n onZoomAnimationEnd: o.func,\n onDrag: o.func,\n onDragEnd: o.func,\n onMapTypeIdChange: o.func,\n onTilesLoaded: o.func,\n options: o.any,\n distanceToMouse: o.func,\n hoverDistance: o.number,\n debounced: o.bool,\n margin: o.array,\n googleMapLoader: o.any,\n onGoogleApiLoaded: o.func,\n yesIWantToUseGoogleMapApiInternals: o.bool,\n draggable: o.bool,\n style: o.any,\n resetBoundsOnResize: o.bool,\n layerTypes: o.arrayOf(o.string),\n shouldUnregisterMapOnUnmount: o.bool\n}, he.defaultProps = {\n distanceToMouse: function distanceToMouse(e, t) {\n return Math.sqrt((e.x - t.x) * (e.x - t.x) + (e.y - t.y) * (e.y - t.y));\n },\n hoverDistance: 30,\n debounced: !0,\n options: function options() {\n return {\n overviewMapControl: !1,\n streetViewControl: !1,\n rotateControl: !0,\n mapTypeControl: !1,\n styles: [{\n featureType: \"poi\",\n elementType: \"labels\",\n stylers: [{\n visibility: \"off\"\n }]\n }],\n minZoom: 3\n };\n },\n googleMapLoader: z,\n yesIWantToUseGoogleMapApiInternals: !1,\n style: {\n width: \"100%\",\n height: \"100%\",\n margin: 0,\n padding: 0,\n position: \"relative\"\n },\n layerTypes: [],\n heatmap: {},\n heatmapLibrary: !1,\n shouldUnregisterMapOnUnmount: !0\n}, he.googleMapLoader = z;\nexport default he;\nexport { ge as convertNeSwToNwSe, _e as convertNwSeToNeSw, fe as fitBounds, Ce as getTilesIds, ye as latLng2Tile, ve as meters2ScreenPixels, Me as tile2LatLng };","import React from \"react\";\nimport GoogleMapReact from 'google-map-react';\nimport { MapMarker } from \"..\";\nimport \"./_map.scss\"\n\nconst Map = ({location, zoom}) => {\n const defaultProps = {\n center: {\n lat: parseFloat(location.latitude),\n lng: parseFloat(location.longitude)\n },\n zoom: parseInt(zoom)\n };\n\n return (\n <div className=\"map\">\n <GoogleMapReact\n bootstrapURLKeys={{ key: \"AIzaSyCPjToC-kSDrc0UD7J__LlIY9WWUq9yLNA\" }}\n defaultCenter={defaultProps.center}\n defaultZoom={defaultProps.zoom}\n >\n <MapMarker\n lat={location.latitude}\n lng={location.longitude}\n text={location.name}\n observation={location.observation}\n />\n </GoogleMapReact>\n </div>\n );\n}\n\nexport default Map","import React from \"react\"\nimport { Icon } from \"..\"\nimport { Link } from \"gatsby\"\nimport { Popover, OverlayTrigger, Button } from \"react-bootstrap\"\nconst mapMarker = ({ text, observation, slug }) => {\n const popover = (\n <Popover id=\"popover-basic\">\n <Popover.Title>\n <h5>{text}</h5>\n </Popover.Title>\n <Popover.Content>\n <p>{observation}</p>\n {slug && <Link to={`./${slug}`}>\n Contáctanos\n </Link>}\n </Popover.Content>\n </Popover>\n )\n const marker = (\n <div className=\"d-flex mt-2\">\n <OverlayTrigger trigger=\"click\" placement=\"top\" overlay={popover}>\n <Button variant=\"button-outline\">\n <Icon\n className=\"map__marker__icon\"\n type=\"fas\"\n code=\"map-marker-alt\"\n />\n </Button>\n </OverlayTrigger>\n </div>\n )\n\n return (\n <div className=\"map__marker\">\n {marker}\n {/* <p className=\"map__marker__text\">{text}</p> */}\n </div>\n )\n}\n\nexport default mapMarker\n","import React, { useState, useEffect } from \"react\"\nimport { useNews, useNewsPage } from \"../../hooks\"\nimport * as jp from \"jsonpath\"\nimport {\n Seo,\n Breadcrumb,\n NewsCard,\n CustomSection,\n ArticleSearchInput,\n ControlledCarousel,\n Pagination,\n} from \"../index\"\n\nimport \"../ArticlePage/_articlePage.scss\"\n\nconst ArticleNewsPage = ({ filter }) => {\n const data = useNews()\n const dataNewsPage = useNewsPage()\n\n const news = data?.allStrapiNewsContents\n const page = dataNewsPage?.allStrapiNewsPage?.nodes[0]\n const newsDestacados = page?.newsDestacadas?.news_contents\n\n const sections = page?.sections\n const [query, setQuery] = useState(\"$..nodes[*]\")\n const [results, setResults] = useState([])\n const [title, setTitle] = useState(`${page.title}`)\n const [inicialPage, setInicialPage] = useState(false)\n\n useEffect(() => {\n if (filter?.state?.value !== null && filter?.state?.value !== undefined) {\n setQuery(`$..nodes[?(@.newsTag.indexOf(\"${filter.state.value}\") !== -1)]`)\n setInicialPage(true)\n setTitle(\"Resultados de la Búsqueda\")\n filter.state.value = null\n }\n\n setResults(jp.query(news, query))\n }, [query]) // eslint-disable-line react-hooks/exhaustive-deps\n\n for (let i = 0; i < results.length; i++) {\n if (newsDestacados?.find(element => element.id === results[i].strapiId) !== undefined) {\n results.splice(i, 1)\n i--\n }\n }\n\n const newsArticle = results.map(article =>\n <NewsCard\n key={article?.id}\n newsImage={article?.newsImage?.nameImage}\n title={article?.title}\n alt={article?.newsImage?.alt}\n published_at={article?.publishedAt}\n newsTag={article?.newsTag}\n slug={article?.slug}\n destacado={article?.destacado}\n cols={3}\n />\n )\n\n const handleSearch = textInput => {\n filter.state = null\n setQuery(`$..nodes[?(@.title.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().includes(\"${textInput.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase()}\"))]`)\n textInput.length === 0\n ? setTitle(`${page.title}`)\n : setTitle(\"Resultados de la Búsqueda\")\n }\n\n let SEO = \"\"\n if (page.newsMetadata !== null && page.newsMetadata !== undefined && page.newsMetadata.pageTitle !== null) {\n const { description, keywords, pageTitle } = page.newsMetadata\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n } else {\n SEO = (\n <Seo\n title={page.title}\n />\n )\n }\n\n return (\n <>\n {SEO}\n <div className=\"headline\">\n <div className=\"container px-0\">\n <div className=\"headline__breadcrumb col-12 pr-0\">\n <Breadcrumb title={page.newsMetadata.pageTitle} pageUrl=\"/noticias\" paginaName={[\"Noticias\"]} />\n </div>\n </div>\n </div>\n <div className=\"container\">\n <div className=\"row justify-content-between ArticlePage__head\">\n <div className=\"col-12 col-md-6\">\n <h1 className=\"ArticlePage__title\">{title}</h1>\n <p className=\"ArticlePage__subtitle\">{page.subTitle}</p>\n </div>\n <div className=\" col-12 col-md-5 \">\n <ArticleSearchInput onQuery={handleSearch} placeholder={'Buscar una noticia...'} />\n </div>\n </div>\n </div>\n <div id=\"Posts\" className=\"container mb-5 px-4\">\n {newsDestacados !== undefined && newsDestacados !== null ?\n <ControlledCarousel\n className=\"row justify-content-center\"\n articles={newsDestacados}\n variant={'news'}\n />\n : null}\n </div>\n <div className=\"container \">\n <Pagination\n posts={newsArticle}\n postPerPage={8}\n inicialState={inicialPage}\n />\n </div>\n <CustomSection sections={sections} />\n </>\n )\n}\n\nexport default ArticleNewsPage\n","import React from \"react\"\nimport { useEventsLatest } from \"../../hooks\"\nimport { Button, EventsCard } from \"../index\"\nimport \"./_eventSection.scss\"\n\nconst EventSection = ({ events, title, theme, anchor, latest }) => {\n const data = useEventsLatest()\n\n const allEvents = data?.allStrapiEvents?.nodes\n\n const customEventsList = events.map(event =>\n allEvents.find(ev => ev.strapiId === event.id)\n )\n\n const latestEvents = allEvents\n .map(e => e !== undefined && (\n <EventsCard\n date={e.formatDateMonth}\n dateDay={e.formatDateDay}\n title={e.title}\n time={e.time}\n summary={e.summary}\n slug={e.slug}\n img={e.eventImage?.nameImage}\n />\n ))\n .slice(0, 3)\n\n const eventsList = customEventsList\n .map(e => e !== undefined && (\n <EventsCard\n date={e.formatDateMonth}\n dateDay={e.formatDateDay}\n title={e.title}\n time={e.time}\n summary={e.summary}\n slug={e.slug}\n img={e.eventImage?.nameImage}\n />\n ))\n .slice(0, 3)\n\n const eventsToDisplay = latest ? latestEvents : eventsList\n const btnTheme = theme === \"dark\" ? \"light\" : \"green\"\n\n return (\n <>\n <div id={`${anchor}`} className={`container-fluid eventSection ${theme}-theme`}>\n <div className=\"container\">\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"eventSection__section-title col-12\">{title}</h2>\n </div>\n <div className=\"card-deck\">{eventsToDisplay}</div>\n <div className=\"row justify-content-center py-5\">\n <Button\n content={\" Ver más \"}\n path={`/eventos`}\n variant={`button-${btnTheme}`}\n />\n </div>\n </div>\n </div>\n </>\n )\n}\n\nexport default EventSection\n","import React, { useState } from \"react\"\nimport Carousel from \"react-bootstrap/Carousel\"\nimport { useEvents } from \"../../hooks\"\nimport { Link } from \"gatsby\"\nimport { getImage } from \"gatsby-plugin-image\"\nimport { BgImage } from \"gbimage-bridge\"\nimport \"./_carouselEvents.scss\"\n\nconst CarouselEvents = ({ events }) => {\n const [index, setIndex] = useState(0)\n const data = useEvents()\n const eventsData = data?.allStrapiEvents?.nodes\n\n const customEvent = events.map(event =>\n eventsData.find(art => art.strapiId === event.id)\n )\n\n const handleSelect = (selectedIndex, e) => {\n setIndex(selectedIndex)\n }\n\n const destacados = customEvent.map((event, idx) => (\n event !== undefined && \n <Carousel.Item key={idx} className=\"CarouselEvent\">\n <Link to={event?.slug} className=\"CarouselEvent__link\">\n <div className=\"row CarouselEvent__row\">\n <div className=\"col-12 col-sm-4 col-md-4 col-lg-4 CarouselEvent__colImg\">\n <BgImage image={getImage(event?.eventImage?.nameImage)} className=\"CarouselEvent__BgImage\">\n </BgImage>\n </div>\n <div className=\"col-12 col-sm-8 col-md-8 col-lg-8 CarouselEvent__colText\">\n <div className=\"card CardEventCarousel\">\n <div className=\"card-body CardEventCarousel__body\">\n <p className=\"card-text\">{event?.formatDateDay} de {event?.formatDateMonth}</p>\n <p className=\"card-title CardEventCarousel__title\">{event?.title}</p>\n <p className=\"card-text\">{event?.summary}</p>\n </div>\n </div>\n </div>\n\n </div>\n </Link>\n </Carousel.Item>\n ))\n\n return (\n <Carousel fade activeIndex={index} onSelect={handleSelect}>\n {destacados}\n </Carousel>\n )\n}\n\nexport default CarouselEvents\n","import React from \"react\"\nimport { LoadButton } from \"../index\"\nimport \"./_calendar.scss\"\n\nconst Calendar = ({ month, year, nextMonth, lastMonth, events, action }) => {\n const months = [\n \"Enero\",\n \"Febrero\",\n \"Marzo\",\n \"Abril\",\n \"Mayo\",\n \"Junio\",\n \"Julio\",\n \"Agosto\",\n \"Septiembre\",\n \"Octubre\",\n \"Noviembre\",\n \"Diciembre\",\n ]\n const monthFilter = month < 9 ? \"0\" + (month + 1) : month + 1\n\n //tomar el nro maximo de dias del mes\n const maxNroDays = new Date(year, month + 1, 0).getDate()\n\n //tomar que dia es el primero de ese mes-año\n const firstDay = new Date(year + \"-\" + (month + 1) + \"-01 00:00:01\").getDay()\n\n //tomar el nombre del mes\n const monthName = months[month]\n\n //Funcionar para filtrar x calendario\n const filterCalendar = day => {\n action(year + \"-\" + monthFilter + \"-\" + (day < 10 ? \"0\" + day : day))\n }\n\n let cols = []\n let rows = []\n let check = 0\n\n for (let i = 0; i <= 6; i++) {\n if (firstDay === i) {\n if (check === 6) {\n cols.push({\n value: 1,\n isEvent:\n events.find(\n event => event.date === year + \"-\" + monthFilter + \"-01\"\n ) !== undefined\n ? 1\n : 0,\n start: check,\n })\n rows.push({ cols: cols })\n cols = []\n check = 0\n } else {\n cols.push({\n value: 1,\n isEvent:\n events.find(\n event => event.date === year + \"-\" + monthFilter + \"-01\"\n ) !== undefined\n ? 1\n : 0,\n start: check,\n })\n check++\n }\n\n break\n } else {\n cols.push({ value: \"\", isEvent: 0, start: check })\n check++\n }\n }\n\n for (let day = 2; day <= maxNroDays; day++) {\n if (check < 6) {\n\n cols.push({\n value: day,\n isEvent:\n events.find(\n event =>\n event.date ===\n year + \"-\" + monthFilter + \"-\" + (day < 10 ? \"0\" + day : day)\n ) !== undefined\n ? 1\n : 0,\n start: check,\n })\n check++\n if (day === maxNroDays) {\n if (cols.length < 7) {\n const colNumber= 7 - cols.length \n for (let j = 1 ; j <= colNumber; j++) {\n cols.push({value:\"\", isEvent:0, start:check})\n }\n }\n rows.push({ cols: cols })\n }\n } else {\n cols.push({\n value: day,\n isEvent:\n events.find(\n event =>\n event.date ===\n year + \"-\" + monthFilter + \"-\" + (day < 10 ? \"0\" + day : day)\n ) !== undefined\n ? 1\n : 0,\n start: check,\n })\n rows.push({ cols: cols })\n cols = []\n check = 0\n }\n }\n\n const arrayToPrint = rows.map(row => (\n <tr>\n {row.cols.map(col =>\n col.isEvent === 1 ? (\n <td>\n <button onClick={() => filterCalendar(col.value)}>\n {col.value}\n </button>\n </td>\n ) : (\n <td>{col.value}</td>\n )\n )}\n </tr>\n ))\n\n return (\n <div className=\"calendar\">\n <div className=\"calendar__header\">\n <div>\n {monthName} <span> </span>\n {year}\n </div>\n <div className=\"calendar__header__buttons\">\n <LoadButton\n content={\"<\"}\n variant={\"button-green mr-1\"}\n click={lastMonth}\n />\n <LoadButton\n content={\">\"}\n variant={\"button-green\"}\n click={nextMonth}\n />\n </div>\n </div>\n\n <table class=\"calendar__table\">\n <thead className=\"calendar__table__head\">\n <tr>\n <td>Dom</td>\n <td>Lun</td>\n <td>Mar</td>\n <td>Mié</td>\n <td>Jue</td>\n <td>Vie</td>\n <td>Sab</td>\n </tr>\n </thead>\n <tbody className=\"calendar__table__body\">{arrayToPrint}</tbody>\n </table>\n </div>\n )\n}\n\nexport default Calendar\n","import React, { useState } from 'react'\nimport { Accordion, InternalLink, OneInternalLink } from \"../index\"\n\nconst LinksBlock = ({titleLink, internalLinks, externalLinks}) => {\n\n const [activeItem, setActiveItem] = useState(false)\n const handleItem = () => {\n !activeItem ? setActiveItem(true) : setActiveItem(false)\n }\n\n const extLinks = externalLinks?.map((link => (\n <li key={link?.id}>\n <a target=\"_blank\" rel=\"noreferrer\" href={link?.url}>\n {`${link?.name}`}\n </a>\n </li>\n \n )))\n\n return (\n <div className=\"footer__main__links col-12 col-lg-2\">\n <div className=\"d-lg-none\">\n <Accordion isLink={true} onActive={handleItem} state={activeItem} titleLink={titleLink} />\n {activeItem && (\n <ul>\n { [...extLinks] }\n { internalLinks.length > 0 && <InternalLink internalLinks={internalLinks} />}\n </ul>\n )}\n </div>\n \n <h6 className=\"d-none d-lg-block\">\n <OneInternalLink internalLink={titleLink} />\n </h6>\n <ul className=\"d-none d-lg-block\">\n { [...extLinks] }\n { internalLinks.length > 0 && <InternalLink internalLinks={internalLinks} /> }\n </ul>\n </div>\n )\n}\n\nexport default LinksBlock","import React from 'react'\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\"\n\nconst ImagesBlock = ({title, images}) => {\n\n const imagesList = images.map((item, idx) => {\n const image = getImage(item?.nameImage)\n return (\n <div key={idx}>\n <GatsbyImage\n alt={item?.alt}\n image={image}\n />\n </div>\n )\n })\n\n return (\n <div className=\"footer__main__acreditado col-12 col-lg-2\">\n <h6>{title}</h6>\n <div className=\"footer__main__acreditado__logos\">\n {imagesList} \n </div>\n </div>\n )\n}\n\nexport default ImagesBlock\n","import React, { useState } from 'react'\n//import { FaPhoneAlt } from \"../icons\"\nimport { Accordion } from \"../index\"\nimport { FiscalData } from \"../\"\nimport { Icon } from \"../\"\n\nconst ContactsBlock = ({ title, iconsContacts }) => {\n\n const [activeItem, setActiveItem] = useState(false)\n const handleItem = () => {\n !activeItem ? setActiveItem(true) : setActiveItem(false)\n }\n\n const iconsContactList = iconsContacts?.map((contact) => {\n const icon = contact?.iconContact?.icon.code\n return (\n <li key={contact?.id}>\n <div >\n {(icon.includes('phone')) ? (\n <>\n <p>{contact?.title}</p>\n <a className=\"d-flex\" href={`tel:${contact?.url}`} >\n <Icon type={contact?.iconContact?.icon?.type} code={contact?.iconContact?.icon?.code} />\n {contact?.iconContact?.content}\n </a>\n\n </>\n ) : (\n <>\n <p>{contact?.title}</p>\n <a className=\"d-flex\" href={contact?.url} target=\"_blank\" rel=\"noreferrer\" title={contact?.name} >\n <Icon type={contact?.iconContact?.icon?.type} code={contact?.iconContact?.icon?.code} />\n {contact?.iconContact?.content}\n </a>\n </>\n )}\n\n </div>\n\n </li>\n )\n })\n\n return (\n <div className=\"footer__main__links col-12 col-lg-2\">\n <div className=\"d-lg-none\">\n <Accordion onActive={handleItem} title={title} state={activeItem} />\n {activeItem && (\n <>\n <ul>\n {iconsContactList}\n <FiscalData />\n </ul>\n\n </>\n )}\n </div>\n\n <h6 className=\"d-none d-lg-block\">{title}</h6>\n <ul className=\"d-none d-lg-block\">\n {iconsContactList}\n </ul>\n\n <div className=\"d-none d-lg-block\">\n <FiscalData />\n </div>\n\n </div>\n )\n}\n\nexport default ContactsBlock \n","import React from 'react'\nimport { GatsbyImage, getImage } from \"gatsby-plugin-image\"\nimport { useFooter } from \"../../hooks\"\n\nconst FiscalData = () => {\n const footer = useFooter()\n\n const { dataFiscal } = footer?.allStrapiFooter?.nodes[0]\n const imageDataFiscal = getImage(dataFiscal?.image)\n\n return (\n <div className=\"footer__logo\">\n {dataFiscal?.visible && (\n <a\n href={dataFiscal.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <GatsbyImage\n image={imageDataFiscal}\n alt={dataFiscal.title}\n />\n </a>\n )}\n </div>\n )\n\n}\n\nexport default FiscalData","import React from \"react\"\nimport { useCareers, usePages } from \"../../hooks\"\nimport { Link } from \"gatsby\"\nimport { FaArrowRight } from \"@react-icons/all-files/fa/FaArrowRight\"\nimport \"./_internalLink.scss\"\nimport { FaChevronRight } from \"@react-icons/all-files/fa/FaChevronRight\"\n\nfunction slug(page, pages) {\n let pagina = \"\"\n\n if (page.strapiParent === null || page.strapiParent === undefined) {\n return page.slug\n } else {\n pages.forEach(parent => {\n if (parent.slug === page.strapiParent.slug) {\n pagina = parent\n }\n })\n return slug(pagina, pages) + \"/\" + page.slug\n }\n}\n\nconst InternalLink = ({ internalLinks, variant }) => {\n\n const careers = useCareers();\n const pages = usePages();\n\n const internalsLinks = internalLinks.map(link => {\n\n if (link.page !== null && link.page !== undefined) {\n const links = pages?.allStrapiPages?.nodes.map(page => {\n if (page.strapiId === link.page.id) {\n const slugSection =\n page.menuSection !== null ? `/${page.menuSection.slug}/` : \"/\"\n // const slugParent =\n // page.strapiParent !== null ? `/${page.strapiParent.slug}` : \"\"\n const slugParent = slug(page, pages?.allStrapiPages?.nodes)\n \n\n return (\n <li key={page.id} className={`internalLink ${variant}`}>\n <Link\n to={`${slugSection}${slugParent}`}\n >\n {link.name}\n </Link>\n {variant && (variant === 'internalLink__button' ? <FaArrowRight /> : <FaChevronRight />)}\n </li>\n )\n } else {\n return null\n }\n })\n return links\n } else if (link.singlePage !== null && link.singlePage !== undefined) {\n return <li key={link.id} className={`internalLink ${variant}`}>\n <Link\n to={`/${link.singlePage.replace(/_/g, \"-\")}`}\n >\n {link.name}\n </Link>\n {variant && (variant === 'internalLink__button' ? <FaArrowRight /> : <FaChevronRight />)}\n </li>\n\n } else if (link.career !== null && link.career !== undefined) {\n const links = careers.allStrapiCareers.nodes.map(career => {\n if (link.career.id === career.strapiId) {\n return (\n <li key={career.id} className={`internalLink ${variant}`}>\n <Link\n to={`/oferta-academica/${link.career.slug}`}\n >\n {link.name}\n </Link>\n {variant && (variant === 'internalLink__button' ? <FaArrowRight /> : <FaChevronRight />)}\n </li>\n )\n } else {\n return null\n }\n })\n return links\n } else {\n return null\n }\n })\n\n\n return (internalsLinks)\n}\n\n\nexport default InternalLink","import React, { useState, useEffect } from \"react\"\nimport { ArticleSearchInput, Button, HeaderPage, MapSites, Icon } from \"..\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport { useSites } from \"../../hooks\"\nimport * as jp from \"jsonpath\"\nimport \"./_sites.scss\"\n\nlet searchField = []\n\nconst Sites = () => {\n const sites = useSites()\n const sitesArray = sites.allStrapiSites\n const [isActive, setIsActive] = useState(false)\n const [activeSite, setActiveSite] = useState({})\n const [query, setQuery] = useState(\"$..nodes[*]\")\n const [results, setResults] = useState([])\n const [activeButton, setActiveButton] = useState([false, false])\n const [listActive, setListActive] = useState(false);\n searchField = []\n\n useEffect(() => {\n setResults(jp.query(sitesArray, query))\n }, [query]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const classActive = [\n activeButton[0] ? \"active\" : \"\",\n activeButton[1] ? \"active\" : \"\",\n ]\n const handleSearch = textInput => {\n for (var i = 0; i < searchField.length; i++) {\n if (searchField[i].type === 2) {\n searchField.splice(i, 1)\n break\n }\n }\n if (textInput.length >= 3) {\n searchField.push({\n type: 2,\n value: textInput,\n })\n }\n makeQuery()\n }\n\n const handleSearchButton = type => {\n const valueType = type === 0 ? 1 : 0\n if (type === 0) {\n setActiveButton([!activeButton[type], false])\n } else {\n setActiveButton([false, !activeButton[type]])\n }\n let exist = false\n for (var i = 0; i < searchField.length; i++) {\n if (searchField[i].type === type) {\n exist = true\n searchField.splice(i, 1)\n break\n } else if (valueType === searchField[i].type) {\n searchField.splice(i, 1)\n }\n }\n if (!exist) {\n searchField.push({\n type: type,\n value: \"\",\n })\n }\n makeQuery()\n }\n\n const makeQuery = () => {\n let querySearch = \"\"\n if (searchField.length > 0) {\n setListActive(true)\n let sede = \"\"\n let center = \"\"\n let nameSearch = \"\"\n querySearch = \"$..nodes[?(\"\n\n searchField.forEach(element => {\n switch (element.type) {\n case 0:\n sede = \"@.sede == true\"\n break\n case 1:\n center = \"@.sede == false\"\n break\n case 2:\n nameSearch =\n \"@.name.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().includes('\" +\n element.value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase() +\n \"')\"\n break\n default:\n break\n }\n })\n\n querySearch = querySearch + (sede === \"\" ? \"\" : \"(\" + sede + \")\")\n querySearch =\n querySearch +\n (center === \"\" ? \"\" : (sede === \"\" ? \"\" : \"&&\") + \"(\" + center + \")\")\n\n querySearch =\n querySearch +\n (nameSearch === \"\"\n ? \"\"\n : (sede !== \"\" || center !== \"\" ? \" && \" : \"\") +\n \"(\" +\n nameSearch +\n \")\")\n querySearch = querySearch + \")]\"\n } else {\n querySearch = \"$..nodes[*]\"\n setListActive(false)\n }\n setQuery(querySearch)\n }\n\n const headerPage = (\n <HeaderPage title={\"Sedes y Centros\"} pageUrl=\"/sedes-y-centros\" paginaName={[\"Sedes y Centros\"]} />\n )\n\n const openSite = site => {\n setActiveSite(site)\n setIsActive(true)\n handleSearch(site.name)\n }\n const closeSite = () => {\n setIsActive(false)\n handleSearch(\"\")\n }\n const listSites = results.map(site => (\n <button\n className=\"cardSite\"\n key={site.id}\n onClick={() => openSite(site)}\n >\n <div className=\"cardSite__image\">\n {site.sede === true ? (\n <StaticImage\n src=\"../../images/house-pin.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"sede\"\n />\n ) : (\n <StaticImage\n src=\"../../images/21-pin.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"centro\"\n />\n )}\n </div>\n <div className=\"cardSite__text\">\n <h5>{site.name}</h5>\n <div>\n {site.street !== null && site.street !== '' && <span>{site.street}</span> }\n {site.streetNumber !== null && site.streetNumber !== '' && <span>, {site.streetNumber}</span>}\n </div>\n \n \n </div>\n </button>\n ))\n return (\n <div>\n <div className=\"headline headline--news\">{headerPage}</div>\n <div className=\"mapContent\">\n <div className=\"container mapContent__search\">\n <div className=\"box-search\">\n {!isActive && (\n <div>\n <ArticleSearchInput onQuery={handleSearch} placeholder={\"Ingresa una dirección, ciudad o nombre \"}></ArticleSearchInput>\n <div className=\"box-search__actions\">\n <button\n type=\"button\"\n className={`button-search ${classActive[0]}`}\n onClick={() => {\n handleSearchButton(0)\n }}\n >\n Sedes <Icon type={\"fas\"} code={\"times\"} />\n </button>\n <button\n type=\"button\"\n className={`button-search ml-2 ${classActive[1]}`}\n onClick={() => handleSearchButton(1)}\n >\n Centros <Icon type={\"fas\"} code={\"times\"} />\n </button>\n </div>\n { listActive && <div className=\"box-search__list\">{listSites}</div>}\n </div>\n )}\n\n {isActive && (\n <div className=\"box-search__activeItem\">\n <button\n className=\"activeItem_button\"\n onClick={() => closeSite()}\n >\n <Icon type={\"fas\"} code={\"arrow-left\"} />\n </button>\n <h5>{activeSite.name}</h5>\n <p>\n <b>Dirección</b>\n </p>\n <p>\n {activeSite.street !== null && activeSite.street !== '' && <span>{activeSite.street}</span>}\n {activeSite.streetNumber !== null && activeSite.streetNumber !== '' && <span>, {activeSite.streetNumber}</span>}\n </p>\n\n <p>\n <b>Contacto</b>\n </p>\n <p>{activeSite.phone1}</p>\n <p>\n <b>Horario de Atención</b>\n </p>\n <p>{activeSite.observation}</p>\n <Button\n content={\"Contáctanos\"}\n path={`./${activeSite.slug}`}\n variant={\"button-green mt-2\"}\n ></Button>\n </div>\n )}\n </div>\n </div>\n <MapSites sites={results} zoom={\"5\"} handleSite={openSite} />\n </div>\n </div>\n )\n}\n\nexport default Sites\n","import React from 'react'\nimport \"./_sites.scss\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport { FaMapMarkerAlt } from \"@react-icons/all-files/fa/FaMapMarkerAlt\"\nimport { Button } from \"../index\"\nimport { useFilteredSites } from \"../../hooks\"\nimport { Link } from 'gatsby'\n\n\nconst SitesBlock = ({theme, title, anchor}) => {\n\n const sites = useFilteredSites()\n\n const sitesList = sites?.map(site => {\n const image = getImage(site?.image?.nameImage)\n return (\n <div className=\"col-12 col-lg-6\" key={site.id}>\n <Link to={`/sedes-y-centros/${site?.slug}`} className=\"sitesBlockCard\">\n <div className=\"sitesBlockCard__description\">\n <p className='sitesBlockCard__description_title'>{site.sede ? ('Sede') : ('Centro de Experiencia')}</p>\n <p><FaMapMarkerAlt size={14} color=\"#00806e\"/> <b className=\"sitesBlockCard__description_title\">{site?.image?.title}</b></p>\n {site.street && <p>{`${site?.street} ${site?.streetNumber}`}</p>}\n {site.city && <p>{site?.city}</p>}\n {site.phone1 && <p>{`tel.: ${site?.phone1}`}</p>}\n </div>\n <GatsbyImage image={image} alt={site?.image?.alt} className=\"sitesBlockCard__img\"/>\n\n </Link>\n </div>\n )\n })\n\n const btnTheme = theme === \"dark\" ? \"light\" : \"green\"\n\n return (\n <div id={anchor} className={`container-fluid sitesBlock theme-${theme}`}>\n <div className=\"container\">\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center\">{title}</h2>\n </div>\n <div className=\"row justify-content-center\">\n {sitesList}\n </div> \n <div className=\"row justify-content-center py-5\">\n <Button\n content={\" Todos sedes y centros \"}\n path={`/sedes-y-centros`}\n variant={`button-${btnTheme}`}\n />\n </div>\n </div>\n </div>\n )\n}\n\nexport default SitesBlock\n","import React from \"react\"\nimport GoogleMapReact from \"google-map-react\"\nimport { StaticImage } from \"gatsby-plugin-image\"\nimport \"./_mapSites.scss\"\n\nconst MapSites = ({ sites, zoom, handleSite }) => {\n const defaultProps = {\n center: {\n lat: -34,\n lng: -64,\n },\n zoom: parseInt(zoom),\n }\n const markers = sites.map(mark => (\n <button\n className=\"markSites\"\n onClick={() => handleSite(mark)}\n key={mark.id}\n lat={mark.latitude}\n lng={mark.longitude}\n >\n {mark.sede === true ? (\n <StaticImage\n src=\"../../images/house-pin.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"sede\"\n />\n ) : (\n <StaticImage\n src=\"../../images/21-pin.png\"\n quality={100}\n layout=\"fixed\"\n formats={[\"AUTO\", \"WEBP\", \"AVIF\"]}\n alt=\"centro\"\n />\n )}\n </button>\n ))\n return (\n <div className=\"map\">\n <GoogleMapReact\n bootstrapURLKeys={{ key: \"AIzaSyCPjToC-kSDrc0UD7J__LlIY9WWUq9yLNA\" }}\n defaultCenter={defaultProps.center}\n defaultZoom={defaultProps.zoom}\n >\n {markers}\n </GoogleMapReact>\n </div>\n )\n}\n\nexport default MapSites\n","import { BgImage } from \"gbimage-bridge\"\nimport React from \"react\"\nimport { useBanner } from \"../../hooks\"\nimport { getImage } from \"gatsby-plugin-image\"\nimport \"./_bannerSimple.scss\"\n\nconst BannerSimple = ({ bannerItems }) => {\n\n const data = useBanner()\n const allBanners = data?.allStrapiBannerItems?.nodes\n\n const banner = allBanners.find(it => it.strapiId === bannerItems?.id)\n const image = getImage(banner?.imageDesktop)\n\n return (\n <div>\n <div><BgImage image={image} className=\"bgImage my-3\"></BgImage></div>\n\n </div>\n )\n}\n\nexport default BannerSimple\n","import { Link } from \"gatsby\"\nimport React from \"react\"\nimport { Icon } from \"..\"\nimport \"./_subMenu.scss\"\n\nconst SubMenu = ({ sections, titleShort, titleLong }) => {\n const options = sections.map(section => {\n return (\n <>\n {section.type === \"form\" ? (\n <Link\n to={`/#${section?.fields?.anchor}`}\n className=\"SubMenu__block__item\"\n >\n <Icon type={\"fas\"} code={\"headphones-alt\"} />\n <p>Contactanos</p>\n </Link>\n ) : null}\n {(section.events?.length > 0 || (section.latest === true && section.events !== null)) ? (\n <Link\n to={`/#${section?.fields?.anchor}`}\n className=\"SubMenu__block__item\"\n >\n <Icon type={\"far\"} code={\"calendar-alt\"} />\n <p>Eventos</p>\n </Link>\n ) : null}\n {(section.blog_articles?.length > 0 || (section.latest === true && section.blog_articles !== null) )? (\n <Link\n to={`/#${section?.fields?.anchor}`}\n className=\"SubMenu__block__item\"\n >\n <Icon type={\"fas\"} code={\"book\"} />\n <p>Identidad 21</p>\n </Link>\n ) : null}\n {section.type === \"sede\" ? (\n <Link\n to={`/#${section?.fields?.anchor}`}\n className=\"SubMenu__block__item\"\n >\n <Icon type={\"fas\"} code={\"map-marker-alt\"} />\n <p>Sedes</p>\n </Link>\n ) : null}\n {(section.news_contents?.length > 0 || (section.latest === true && section.news_contents !== null)) ? (\n <Link\n to={`/#${section?.fields?.anchor}`}\n className=\"SubMenu__block__item\"\n >\n <Icon type={\"far\"} code={\"newspaper\"} />\n <p>Noticias</p>\n </Link>\n ) : null}\n </>\n )\n })\n return (\n <div>\n <div className=\"SubMenu\">\n <div className=\"container SubMenu__block\">{options}</div>\n </div>\n <div className=\"mainTitle\">\n <div className=\"container\">\n {titleShort && \n <h1 className=\"mainTitle__title\">{titleShort}</h1>\n }\n {titleLong && \n <h1 className=\"mainTitle__title\">{titleLong}</h1>\n }\n \n </div>\n </div>\n </div>\n )\n}\n\nexport default SubMenu\n","import React from \"react\"\nimport { useContact } from \"../../hooks\"\nimport { Seo, HeaderPage, CustomSection, Content, NavegationContent } from \"../index\"\n\nconst Contact = () => {\n const data = useContact()\n const page = data?.allStrapiContacPage?.nodes[0]\n const sections = page?.sections\n\n let SEO = \"\"\n if (page.contactSeo !== null && page.contactSeo !== undefined && page.contactSeo.pageTitle !== null) {\n const { description, keywords, pageTitle } = page.contactSeo\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n }\n\n const headerPage = (\n <HeaderPage\n title={page.title}\n subtitle={page.subtitle}\n pageUrl=\"/contacto\" \n paginaName={[\"Contacto\"]}\n />\n )\n\n const content =\n page.sections.length !== 0 ? (\n <Content content={page.sections} />\n ) : (\n <div className=\"col-12 col-md-7\"></div>\n )\n\n const navegation =\n page.navegation.length !== 0 ? (\n <NavegationContent\n content={page.navegation}\n id={page?.strapiId}\n name={page.name}\n hiddecontact={true}\n />\n ) : null\n\n return (\n <>\n {SEO}\n <div className=\"headline\">\n {headerPage}\n </div>\n <div className=\"container\">\n\n <div className=\"row Page__row\">\n {navegation}\n {content}\n </div>\n </div>\n <CustomSection sections={sections} />\n </>\n )\n}\n\nexport default Contact\n","import React from \"react\"\nimport \"./_embebedMap.scss\"\n\nconst EmbebedMap = ({ source }) => {\n\n return (\n <div className=\"embebedMap\">\n <iframe\n loading=\"lazy\"\n src={source}\n title=\"embebedMap\"\n >\n </iframe>\n </div>\n )\n}\n\nexport default EmbebedMap","import React from \"react\"\nimport Carousel from \"react-bootstrap/Carousel\"\nimport { getImage } from \"gatsby-plugin-image\"\nimport { BgImage } from \"gbimage-bridge\"\n\nconst Slider = ({ slider }) => {\n const sliders = slider.imageSlider.map((item, idx) => {\n const image = getImage(item?.nameImage)\n return (\n <Carousel.Item key={idx} className=\"\">\n <BgImage image={image} className=\"bgImage\" />\n </Carousel.Item>\n )\n })\n\n return (\n <Carousel fade indicators={false}>\n {sliders}\n </Carousel>\n )\n}\n\nexport default Slider\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport { usePages } from \"../../hooks\"\nimport \"./_buttonPage.scss\"\n\nconst ButtonPage = ({ externalSrc, internalSrc }) => {\n\n let button;\n let slugSection\n let slugParent\n const pages = usePages();\n\n if (externalSrc !== undefined && externalSrc !== null) {\n button =\n <a href={externalSrc.url} className=\"button-page-anchor\" target=\"_blank\" rel=\"noreferrer\" key={`link-${externalSrc.id}`}>\n <button className=\"button-page-anchor__button-page\">\n {externalSrc.name}\n </button>\n </a>\n } else { //internal links\n if (internalSrc.page !== null && internalSrc.page !== undefined) {\n pages?.allStrapiPages?.nodes.forEach(page => {\n if (page.strapiId === internalSrc.page.id) {\n slugSection =\n page.menuSection !== null ? `/${page.menuSection.slug}` : \"\"\n slugParent =\n page.strapiParent !== null ? `/${page.strapiParent.slug}` : \"\"\n\n }\n })\n\n button =\n <Link to={`${slugSection}${slugParent}/${internalSrc.page?.slug}`} className=\"button-page-anchor\">\n <button className=\"button-page-anchor__button-page\">\n {internalSrc.name}\n </button>\n </Link>\n } else if (internalSrc.singlePage !== null && internalSrc.singlePage !== undefined) {\n button =\n <Link to={`/${internalSrc.singlePage.replace(/_/g, \"-\")}`} className=\"button-page-anchor\">\n <button className=\"button-page-anchor__button-page\">\n {internalSrc.name}\n </button>\n </Link>\n\n } else if (internalSrc.career !== null && internalSrc.career !== undefined) {\n button = <Link to={`/oferta-academica/${internalSrc.career.slug}`} className=\"button-page-anchor\">\n <button className=\"button-page-anchor__button-page\">\n {internalSrc.name}\n </button>\n </Link>\n }\n }\n\n\n return (\n <div>{button}</div>\n )\n}\n\nexport default ButtonPage","import React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport { FaUser } from \"@react-icons/all-files/fa/FaUser\"\nimport { FaGraduationCap } from \"@react-icons/all-files/fa/FaGraduationCap\"\nimport Markdown from \"react-markdown\"\nimport { OneInternalLink } from \"../index\"\n\nimport \"./_cardsList.scss\"\n\nconst CardsList = ({ data, title }) => {\n const cardsList = data.map(card => {\n const image = getImage(card?.image?.nameImage)\n\n return (\n <div className=\"col-12 person pt-4\">\n <div className=\"personCard\">\n {card?.label && (\n <div className=\"personCard__label\">{card.label}</div>\n )}\n <GatsbyImage image={image} alt={card?.image?.alt} className=\"personCard__img\" />\n <div className=\"personCard__description\">\n <div>\n {card.subtitle && (<p><b>{card.subtitle}</b></p>)}\n <p>\n {card.subtitle ?\n < FaUser size={16} color=\"#00806e\" /> :\n < FaGraduationCap size={16} color=\"#00806e\" />}\n <b className=\"personCard__description_title\">{` ${card.title}`}</b>\n </p>\n {card.description && (\n <div className=\"markdown personCard__description_text\">\n <Markdown escapeHtml={true}>\n {card.description}\n </Markdown>\n </div>\n )\n }\n </div>\n\n {card?.internalLink &&\n <OneInternalLink internalLink={card?.internalLink} variant={`menu`} />\n // <Button\n // content={card?.internalLink?.name}\n // path={`/la-universidad/autoridades/${card?.internalLink?.page?.slug}`}\n // variant={`button-yellow`}\n // />\n }\n </div>\n </div>\n </div>\n )\n })\n return (\n <div className=\"container-fluid\">\n {title && (\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center cardsList__title\">{title}</h2>\n </div>\n )}\n {cardsList}\n </div>\n )\n}\n\nexport default CardsList\n","import React from 'react'\nimport \"./_pdfCard.scss\"\nimport { Button } from \"../index\"\nimport { FaFilePdf } from \"@react-icons/all-files/fa/FaFilePdf\"\n\nconst PdfCard = ({link, description, title}) => {\n\n return (\n <div className=\"container-fluid\">\n <div className=\"pdf\"> \n <div className=\"pdf__icon\"> <FaFilePdf size={50} color=\"red\" /> </div>\n <div className=\"pdf__text\">\n <div className=\"pdf__text_title\">{title}</div>\n {description && (\n <div className=\"pdf__text_description\">{description}</div> \n )}\n </div>\n <div className=\"pdf__button\">\n <Button content={link?.name} variant={\"button-yellow\"} extPath={link?.url} />\n </div> \n </div> \n </div>\n\n )\n}\n\nexport default PdfCard ","import React from \"react\"\n\n\nconst SelectOptions = ({ data, name, onChangeSelect }) => {\n\n const values = data.map(value => (\n <option value={name === \"careers\" ? value.slug : value.name} key={value.name}>{value.name}</option>\n ))\n\n return (\n <select name={name} onChange={onChangeSelect} defaultValue=\"\">\n <option value=\"\">Seleccionar...</option>\n {values}\n </select>\n )\n}\n\n\nexport default SelectOptions","import React, { useEffect, useState } from \"react\"\n\nimport { useCareerStudyClass, useProgramTypes, useCareers } from \"../../hooks\"\nimport { SelectOptions, Icon } from \"../index\"\nimport * as jp from \"jsonpath\"\nimport \"./_searchCareer.scss\"\nimport { Link } from \"gatsby\"\n\n\nconst SearchCareer = ({ title, theme, anchor }) => {\n const studyClassesData = useProgramTypes()\n const careerStudyClassData = useCareerStudyClass()\n const careers = useCareers()\n\n const [query, setQuery] = useState(\"$..nodes[-1]\")\n const [results, setResults] = useState([])\n const [careerStudyClass, SetCareerStudyClass] = useState(\"\")\n const [studyClass, SetStudyClass] = useState(\"\")\n const [career, SetCareer] = useState(\"\")\n\n useEffect(() => {\n setResults(jp.query(careers.allStrapiCareers, query))\n }, [query]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (studyClass !== \"\" && careerStudyClass !== \"\") {\n SetCareer(\"\")\n setQuery(`$..nodes[?(@.career_study_class.name=='${careerStudyClass}' && @.study_class.name=='${studyClass}')]`)\n \n } else {\n SetCareer(\"\")\n setQuery(\"$..nodes[-1]\")\n \n }\n }, [careerStudyClass]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n if (studyClass !== \"\" && careerStudyClass !== \"\") {\n setQuery(`$..nodes[?(@.career_study_class.name=='${careerStudyClass}' && @.study_class.name=='${studyClass}')]`)\n SetCareer(\"\")\n } else {\n setQuery(\"$..nodes[-1]\")\n SetCareer(\"\")\n }\n }, [studyClass]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const onChangeSelectStudyClass = (event) => {\n SetStudyClass(event.target.value)\n }\n\n const onChangeSelectCareerStudyClass = (event) => {\n SetCareerStudyClass(event.target.value)\n }\n\n\n const onChangeSelectCareer = (event) => {\n SetCareer(event.target.value)\n }\n\n return (\n <div id={`${anchor}`} className={`container-fluid searchCareerSection ${theme}-theme`}>\n <div className=\"container w-100 d-flex flex-column align-items-center\">\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center\">{title}</h2>\n </div>\n <div className=\"row w-100 mt-2 mb-3 justify-content-center\">\n <div className=\"col-12 col-md-4\">\n <div className=\"searchCareerSection__header\">\n <div className=\"searchCareerSection__header__circle\">\n {studyClass === \"\" ? <p>1</p> : <Icon type=\"fas\" code=\"check\" />}\n </div>\n {studyClass === \"\" ? <p className=\"searchCareerSection__header__title\">Seleccionar tipo de programa</p> : <p className=\"searchCareerSection__header__title active\">Seleccionar tipo de programa</p>}\n\n <div className=\"searchCareerSection__header__line\"></div>\n\n </div>\n\n <SelectOptions\n data={studyClassesData.allStrapiStudyClasses.nodes}\n name=\"studyClasses\"\n onChangeSelect={onChangeSelectStudyClass}\n />\n </div>\n <div className=\"col-12 col-md-4\">\n <div className=\"searchCareerSection__header\">\n <div className=\"searchCareerSection__header__circle\">\n {careerStudyClass === \"\" ? <p>2</p> : <Icon type=\"fas\" code=\"check\" />}\n </div>\n {careerStudyClass === \"\" ? <p className=\"searchCareerSection__header__title\">Seleccionar área de estudio</p> : <p className=\"searchCareerSection__header__title active\">Seleccionar área de estudio</p>}\n\n <div className=\"searchCareerSection__header__line\"></div>\n\n </div>\n <SelectOptions\n data={careerStudyClassData.allStrapiCareerStudyClasses.nodes}\n name=\"careerStudyClass\"\n onChangeSelect={onChangeSelectCareerStudyClass}\n />\n </div>\n <div className=\"col-12 col-md-4\">\n <div className=\"searchCareerSection__header\">\n <div className=\"searchCareerSection__header__circle\">\n {career === \"\" ? <p>3</p> : <Icon type=\"fas\" code=\"check\" />}\n </div>\n {career === \"\" ? <p className=\"searchCareerSection__header__title\">Seleccionar carrera</p> : <p className=\"searchCareerSection__header__title active\">Seleccionar carrera</p>}\n <div className=\"searchCareerSection__header__line\"></div>\n </div>\n <SelectOptions\n data={results}\n name=\"careers\"\n onChangeSelect={onChangeSelectCareer}\n />\n </div>\n\n </div>\n <div className=\"row searchCareerSection__button w-100\">\n <div className=\"col-12 col-md-2\">\n <Link\n // content={\"Buscar\"}\n to={`/oferta-academica/${career}/#form`}\n className={`button-yellow justify-content-center ${career === \"\" ? 'disabled-link' : ''} `}\n // variant={\"button-yellow h-20 w-100 justify-content-center\"}\n >Continuar</Link>\n </div>\n </div>\n\n </div>\n </div>\n )\n}\n\n\nexport default SearchCareer","import \"./_galleryItem.scss\"\nimport Markdown from \"react-markdown\"\nimport { Link } from \"gatsby\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport React from \"react\"\n\nconst GalleryItem = ({ item }) => {\n const img = getImage(item.image)\n const altText = item.title\n return (\n <div to={item.slug} className=\"flip flip-vertical col-12 col-md-4 galleryItem\">\n <div className=\"front\">\n <GatsbyImage image={img} className=\"galleryItem_img\" alt={altText}/>\n </div>\n <div className=\"back galleryItem_descr markdown\">\n <h3>{item.title}</h3>\n <hr />\n <Markdown escapeHtml={true}>{item.description}</Markdown> \n <Link to={item.slug}>Ver mas</Link> \n </div>\n </div>\n )\n}\n\nexport default GalleryItem\n","import React, { useState } from \"react\"\nimport { useGallery } from \"../../hooks\"\nimport { LoadButton, Seo, Content } from \"../index\"\nimport GalleryItem from \"./galleryItem.component\"\nimport \"./_gallery.scss\"\nimport \"../../styles/_markdown.scss\"\n\nconst Gallery = () => {\n const data = useGallery()\n const numberItems = 9\n const [loadMore, setLoadMore] = useState(numberItems)\n\n const page = data?.strapiGalleryPage\n const galleryItems = data?.allStrapiGalleryItems?.nodes\n\n const seeMore = () => {\n setLoadMore(loadMore + numberItems)\n }\n\n let SEO = \"\"\n if (\n page.galleryMetadata !== null &&\n page.galleryMetadata !== undefined &&\n page.galleryMetadata.pageTitle !== null\n ) {\n const { description, keywords, pageTitle } = page.galleryMetadata\n\n SEO = (\n <Seo\n title={`${pageTitle}`}\n description={`${description}`}\n keywords={`${keywords}`}\n />\n )\n }\n\n const content =\n page.content.length !== 0 ? (\n <Content content={page.content} />\n ) : null\n\n const cards = galleryItems\n .sort(((a, b) => {\n return a.firstPageOrder - b.firstPageOrder\n }))\n .slice(0, loadMore)\n .map((item, idx) => <GalleryItem key={`gallery-${idx}`} item={item} />)\n\n return (\n <>\n {SEO}\n <div className=\"gallery container\">\n <div className=\"gallery__section\">\n {content}\n <h2 className=\"gallery__section-title\">{page.cardsSectionTitle}</h2>\n <div className=\"gallery__section-cards row\">{cards}</div>\n {galleryItems.length > numberItems && (\n <LoadButton\n content={\"Cargar más\"}\n variant={\"button-green\"}\n click={seeMore}\n />\n )}\n </div>\n </div>\n </>\n )\n}\n\nexport default Gallery\n","import React from \"react\"\nimport { getImage, GatsbyImage } from \"gatsby-plugin-image\"\nimport { FaUser } from \"@react-icons/all-files/fa/FaUser\"\nimport { FaGraduationCap } from \"@react-icons/all-files/fa/FaGraduationCap\"\nimport Markdown from \"react-markdown\"\nimport { OneInternalLink } from \"../index\"\n\nimport \"./_horizontalCardsList.scss\"\n\nconst HorizontalCardsList = ({ data, title }) => {\n const cardsListHorizontal = data\n ?.map(card => {\n const image = getImage(card?.image?.nameImage)\n\n return (\n <div\n className={`personHorizontal pb-5 px-3 px-xl-0 ${\n data.length === 1\n ? \"col-12\"\n : data.length === 2\n ? \"col-lg-5\"\n : \"col-lg-4\"\n }`}\n >\n <div\n className={`personCardHorizontal ${\n data.length === 1\n ? \"oneCard\"\n : data.length === 2\n ? \"twoCards\"\n : \"threeCards\"\n }`}\n >\n <GatsbyImage\n image={image}\n alt={card?.image?.alt}\n className=\"personCardHorizontal__img\"\n />\n <div className=\"personCardHorizontal__description\">\n <div>\n {card?.subtitle && (\n <p>\n <b>{card?.subtitle}</b>\n </p>\n )}\n <p>\n {card?.subtitle ? (\n <FaUser size={16} color=\"#00806e\" />\n ) : (\n <FaGraduationCap size={16} color=\"#00806e\" />\n )}\n <b className=\"personCardHorizontal__description_title\">{` ${card.title}`}</b>\n </p>\n {card?.description && (\n <div className=\"markdown personCardHorizontal__description_text\">\n <Markdown escapeHtml={true}>{card.description}</Markdown>\n </div>\n )}\n </div>\n\n {card?.internalLink ? (\n <OneInternalLink\n internalLink={card?.internalLink}\n variant={`menu`}\n />\n ) : null}\n </div>\n </div>\n </div>\n )\n })\n .slice(0, 3)\n\n return (\n <div className=\"container-fluid\">\n {title && (\n <div className=\"row mt-2 mb-3\">\n <h2 className=\"col-12 text-center cardsListHorizontal__title\">\n {title}\n </h2>\n </div>\n )}\n <div className=\"row justify-content-center mt-4\">\n {cardsListHorizontal}\n </div>\n </div>\n )\n}\n\nexport default HorizontalCardsList\n","import React, {\n createContext,\n useContext,\n useState,\n useEffect,\n useRef,\n} from \"react\"\nimport useCareers from \"../hooks/useCareers\"\nimport * as jp from \"jsonpath\"\nimport { makeQuery } from \"../functions/academicOffer.functions\"\n\nconst AppContext = createContext()\nconst useAppContext = () => useContext(AppContext) //Custum Hook para solo importar useAppContext y AppProvider\n\nconst numberCareers = 6\n\nexport const AppProvider = ({ children }) => {\n const [searchField, setSearchField] = useState([])\n const [query, setQuery] = useState(\"$..nodes[*]\")\n const [results, setResults] = useState([])\n const [loadMore, setLoadMore] = useState(numberCareers)\n const result = useCareers()\n let textInput = useRef()\n\n useEffect(() => {\n setResults(jp.query(result.allStrapiCareers, query))\n }, [query]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleKeyPress = () => {\n for (var i = 0; i < searchField.length; i++) {\n if (searchField[i].type === 3) {\n searchField.splice(i, 1)\n break\n }\n }\n\n if (textInput.current.value.length >= 3) {\n searchField.push({\n type: 3,\n value: textInput.current.value,\n })\n }\n setLoadMore(numberCareers)\n createQuery()\n }\n\n const handleEnterPress = e => {\n for (var i = 0; i < searchField.length; i++) {\n if (searchField[i].type === 3) {\n searchField.splice(i, 1)\n break\n }\n }\n\n if (textInput.current.value.length >= 3 && e.charCode === 13) {\n searchField.push({\n type: 3,\n value: textInput.current.value,\n })\n }\n setLoadMore(numberCareers)\n createQuery()\n }\n\n const resetSearch = () => {\n setQuery(\"$..nodes[*]\")\n setSearchField([])\n }\n\n const seeMore = () => {\n setLoadMore(loadMore + numberCareers)\n }\n\n const InitialFilter = queryFilter => {\n // setSearchField([])\n searchField.push(queryFilter)\n createQuery()\n }\n\n const checkboxPress = (e, type) => {\n if (e.target.checked) {\n searchField.push({\n type: type,\n value: e.target.value,\n })\n } else {\n for (var i = 0; i < searchField.length; i++) {\n if (\n searchField[i].value === e.target.value &&\n searchField[i].type === type\n ) {\n searchField.splice(i, 1)\n }\n }\n }\n setLoadMore(numberCareers)\n createQuery()\n }\n\n function createQuery() {\n const querySearch = makeQuery(searchField)\n setQuery(querySearch)\n }\n\n return (\n <AppContext.Provider\n value={{\n textInput,\n results,\n loadMore,\n handleKeyPress,\n handleEnterPress,\n seeMore,\n InitialFilter,\n resetSearch,\n checkboxPress,\n }}\n >\n {children}\n </AppContext.Provider>\n )\n}\n\nexport default useAppContext\n","function makeQuery(searchField) {\n let querySearch = \"\"\n\n if (searchField.length > 0) {\n let programsTypeSearch = \"\"\n let modalitySearch = \"\"\n let studyClassSearch = \"\"\n let nameSearch = \"\"\n querySearch = \"$..nodes[?(\"\n\n searchField.forEach(element => {\n switch (element.type) {\n case 1:\n programsTypeSearch =\n programsTypeSearch === \"\"\n ? \"@.study_class.name=='\" +\n element.value +\n \"'\"\n : programsTypeSearch +\n \" || @.study_class.name=='\" +\n element.value +\n \"'\"\n break\n case 2:\n modalitySearch =\n modalitySearch === \"\"\n ? \"@.attendance_modes.indexOf('\" +\n element.value +\n \"') !== -1\"\n : modalitySearch +\n \" || @.attendance_modes.indexOf('\" +\n element.value +\n \"') !== -1\"\n break\n case 3:\n nameSearch =\n \"@.name.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().includes('\" +\n element.value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase() +\n \"')\"\n break\n case 4:\n studyClassSearch =\n studyClassSearch === \"\"\n ? \"@.career_study_class.name=='\" +\n element.value +\n \"'\"\n : studyClassSearch +\n \" || @.career_study_class.name=='\" +\n element.value +\n \"'\"\n break\n default:\n break\n }\n })\n\n querySearch =\n querySearch +\n (programsTypeSearch === \"\" ? \"\" : \"(\" + programsTypeSearch + \")\")\n querySearch =\n querySearch +\n (modalitySearch === \"\"\n ? \"\"\n : (programsTypeSearch === \"\" ? \"\" : \"&&\") +\n \"(\" +\n modalitySearch +\n \")\")\n\n querySearch =\n querySearch +\n (studyClassSearch === \"\"\n ? \"\"\n : (programsTypeSearch !== \"\" || modalitySearch !== \"\" ? \" && \" : \"\") +\n \"(\" +\n studyClassSearch +\n \")\")\n\n querySearch =\n querySearch +\n (nameSearch === \"\"\n ? \"\"\n : (programsTypeSearch !== \"\" ||\n modalitySearch !== \"\" ||\n studyClassSearch !== \"\"\n ? \" && \"\n : \"\") +\n \"(\" +\n nameSearch +\n \")\")\n querySearch = querySearch + \")]\"\n } else {\n querySearch = \"$..nodes[*]\"\n }\n \n return querySearch;\n }\n\nmodule.exports = {\n makeQuery\n}","function makeQuery(searchField) {\n let querySearch = \"\"\n\n if (searchField.length > 0) {\n let eventTypeSearch = \"\"\n let eventCategorySearch = \"\"\n let eventSiteSearch = \"\"\n let nameSearch = \"\"\n let calendarSearch = \"\"\n querySearch = \"$..nodes[?(\"\n\n searchField.forEach(element => {\n switch (element.type) {\n case 1:\n eventTypeSearch =\n eventTypeSearch === \"\"\n ? eventTypeSearch + \"@.event_type.name=='\" + element.value + \"'\"\n : eventTypeSearch +\n \" || @.event_type.name=='\" +\n element.value +\n \"'\"\n break\n case 2:\n eventCategorySearch =\n eventCategorySearch === \"\"\n ? eventCategorySearch +\n \"@.event_category.name=='\" +\n element.value +\n \"'\"\n : eventCategorySearch +\n \" || @.event_category.name=='\" +\n element.value +\n \"'\"\n break\n case 3:\n nameSearch =\n \"@.title.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().includes('\" +\n element.value.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase() +\n \"')\"\n break\n case 4:\n calendarSearch = \"@.date==='\" + element.value + \"'\"\n break\n case 5:\n eventSiteSearch =\n eventSiteSearch === \"\"\n ? eventSiteSearch + \"@.site.name=='\" + element.value + \"'\"\n : eventSiteSearch + \" || @.site.name=='\" + element.value + \"'\"\n break\n default:\n break\n }\n })\n\n querySearch =\n querySearch +\n (eventTypeSearch === \"\" ? \"\" : \"(\" + eventTypeSearch + \")\")\n querySearch =\n querySearch +\n (eventCategorySearch === \"\"\n ? \"\"\n : (eventTypeSearch === \"\" ? \"\" : \"&&\") +\n \"(\" +\n eventCategorySearch +\n \")\")\n querySearch =\n querySearch +\n (eventSiteSearch === \"\"\n ? \"\"\n : (eventTypeSearch === \"\" ? \"\" : \"&&\") || (eventCategorySearch === \"\" ? \"\" : \"&&\") +\n \"(\" +\n eventSiteSearch +\n \")\")\n\n querySearch =\n querySearch +\n (nameSearch === \"\"\n ? \"\"\n : (eventTypeSearch !== \"\" || eventCategorySearch !== \"\" || eventSiteSearch !== \"\"\n ? \" && \"\n : \"\") +\n \"(\" +\n nameSearch +\n \")\")\n\n querySearch =\n querySearch +\n (calendarSearch === \"\"\n ? \"\"\n : (eventTypeSearch !== \"\" ||\n eventCategorySearch !== \"\" ||\n eventSiteSearch !== \"\" ||\n nameSearch !== \"\"\n ? \" && \"\n : \"\") +\n \"(\" +\n calendarSearch +\n \")\")\n\n querySearch = querySearch + \")]\"\n } else {\n querySearch = \"$..nodes[*]\"\n }\n\n return querySearch;\n}\n\nmodule.exports = {\n makeQuery\n}","import { useState, useEffect } from \"react\"\n\nlet defaultHeight\nlet defaultWidth\n\nif (typeof window !== `undefined`) {\n defaultHeight = window.innerHeight\n defaultWidth = window.innerWidth\n}\n\nconst useWindowSize = () => {\n const [dimensions, setDimensions] = useState({\n windowHeight: defaultHeight,\n windowWidth: defaultWidth,\n })\n\n useEffect(() => {\n const handler = () =>\n setDimensions({\n windowHeight: window.innerHeight,\n windowWidth: window.innerWidth,\n })\n\n window.addEventListener(`resize`, handler)\n return () => window.removeEventListener(`resize`, handler)\n }, [])\n\n return dimensions\n}\n\nexport default useWindowSize","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useBlogArticles = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiBlogArticles(\n sort: { fields: [publishedAt, destacado], order: [DESC] }\n ) {\n nodes {\n strapiId\n id\n blog_categories {\n name\n }\n title\n blogImage {\n alt\n nameImage {\n id\n name\n url\n }\n }\n publishedAt(formatString: \"LL\", locale: \"es-ar\")\n slug\n destacado\n description\n }\n }\n }\n `)\n query.allStrapiBlogArticles.nodes.forEach(entity => {\n entity.blog_categories = entity.blog_categories.map(category =>\n category.name !== undefined ? category.name : category\n )\n })\n return query\n}\n\nexport default useBlogArticles\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useNews = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiNewsContents(sort: { fields: publishedAt, order: DESC }) {\n nodes {\n id\n newsImage {\n alt\n nameImage {\n id\n name\n url\n }\n }\n slug\n title\n content\n published_at(formatString: \"LL\", locale: \"es-ar\")\n publishedAt(formatString: \"LL\", locale: \"es-ar\")\n newsTag {\n tagName\n }\n strapiId\n destacado\n }\n }\n }\n `)\n query.allStrapiNewsContents.nodes.forEach(entity => {\n entity.newsTag = entity.newsTag.map(category =>\n category.tagName !== undefined ? category.tagName : category\n )\n })\n return query\n}\n\nexport default useNews\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useSocialMedia = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiSocialMedias(filter: { visible: { eq: true } }) {\n nodes {\n id\n name\n socialMediaCode\n strapiId\n }\n }\n }\n `)\n return query \n}\n\nexport default useSocialMedia\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useTestimonies = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiTestimonies(sort: { fields: published_at, order: DESC }) {\n nodes {\n strapiId\n id\n name\n testimony\n role\n profilePicture {\n childImageSharp {\n gatsbyImageData(width: 84, height: 84)\n }\n }\n published_at(formatString: \"LL\", locale: \"es-ar\")\n }\n }\n }\n `)\n return query\n}\n\nexport default useTestimonies\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useMetrics = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiMetrics(sort: { fields: published_at, order: ASC }) {\n nodes {\n id\n name\n cifra\n subtitle\n description\n iconCifra {\n childImageSharp {\n gatsbyImageData\n }\n }\n picture {\n childImageSharp {\n gatsbyImageData\n }\n }\n strapiId\n }\n }\n }\n `)\n return query\n}\n\nexport default useMetrics\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useMenuSections = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiMenuSections(sort: { order: ASC, fields: order }) {\n nodes {\n strapiId\n nameSection\n slug\n link\n pages {\n slug\n title\n id\n parent\n name\n }\n linkImage\n nameLinkImage\n descriptionImage\n titleImageSection\n imageSection {\n publicURL\n }\n submenu{\n id\n level1internal{\n id\n name\n page{\n id\n name\n slug\n }\n singlePage\n career{\n id\n name\n slug\n }\n }\n level1external{\n id\n name\n url\n }\n level2{\n id\n type\n externalLinks{\n id\n name\n url\n }\n internalLinks{\n id\n name\n page{\n id\n name\n slug\n }\n singlePage\n career{\n id\n name\n slug\n }\n }\n \n }\n }\n \n }\n }\n }\n `)\n return query\n}\n\nexport default useMenuSections\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useAttendanceModes = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiAttendanceModes(sort: {fields: order}) {\n nodes {\n id\n name\n slug\n code\n }\n }\n }\n `)\n return query\n}\n\nexport default useAttendanceModes\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useProgramTypes = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiStudyClasses(sort: {fields: order}) {\n nodes {\n id\n code\n name\n state\n }\n }\n }\n `)\n return query\n}\n\nexport default useProgramTypes\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useCareerStudyClass = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiCareerStudyClasses(sort: {fields: order, order: ASC}) {\n nodes {\n id\n code\n name\n state\n icon {\n code\n type\n id\n }\n order\n }\n }\n }\n `)\n return query\n}\n\nexport default useCareerStudyClass\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst usePages = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiPages {\n nodes {\n title\n name\n strapiId\n slug\n summary\n id\n strapiParent {\n id\n menuSection\n slug\n name\n }\n menuSection {\n slug\n nameSection\n }\n image {\n title\n nameImage {\n childImageSharp {\n gatsbyImageData(formats: WEBP, webpOptions: { quality: 25 })\n }\n }\n }\n }\n }\n }\n `)\n return query\n}\n\nexport default usePages\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useAcademicOffer = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiAcademicOffer {\n nodes {\n title\n summary\n placeholder\n sections {\n fields {\n enable\n title\n summary\n anchor\n theme\n }\n latest\n blog_articles {\n id\n }\n testimonies {\n id\n }\n news_contents {\n id\n }\n videos {\n id\n }\n form {\n id\n Name\n PortalID\n formId\n formType\n }\n events {\n date\n event_category\n id\n summary\n time\n title\n }\n careers {\n id\n }\n banner_item {\n id\n }\n }\n academicOfferSeo {\n pageDescription\n pageKeywords\n pageTitle\n }\n whatsappFlotante {\n id\n name\n type\n url\n }\n }\n }\n }\n `)\n return query\n}\nexport default useAcademicOffer\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useExternalServiceLinks = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiExternalServiceLinks(filter: { visible: { eq: true } }) {\n nodes {\n id\n name\n theme\n image {\n publicURL\n }\n externalLink {\n name\n url\n }\n icon {\n code\n type\n }\n internalLink {\n name\n page {\n id\n slug\n }\n }\n }\n }\n }\n `)\n return query\n}\n\nexport default useExternalServiceLinks\n","import { graphql, useStaticQuery } from \"gatsby\"\n\nconst useGlobalSeo = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiGlobalSeo {\n nodes {\n author\n robots\n siteMetadata {\n siteDesc: pageDescription\n siteKeywords: pageKeywords\n siteTitle: pageTitle\n }\n siteURL\n }\n }\n }\n `)\n return query\n}\nexport default useGlobalSeo\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useAcademicOfferMain = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiAcademicOfferMain {\n nodes {\n title\n summary\n section {\n fields {\n enable\n title\n summary\n anchor\n theme\n }\n blog_articles {\n id\n }\n testimonies {\n id\n }\n news_contents {\n id\n }\n videos {\n id\n }\n form {\n id\n Name\n PortalID\n formId\n formType\n }\n events {\n date\n event_category\n id\n summary\n time\n title\n }\n careers {\n id\n }\n banner_item {\n id\n }\n }\n whatsappFlotante {\n id\n name\n type\n url\n }\n imageAttendanceModes {\n childImageSharp {\n gatsbyImageData\n }\n }\n imageStudyClasses {\n childImageSharp {\n gatsbyImageData\n }\n }\n academicOfferMainSeo {\n pageDescription\n pageKeywords\n pageTitle\n }\n titleStudyClasses\n titleAttendanceModes\n }\n }\n }\n `)\n return query\n}\nexport default useAcademicOfferMain\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useHome = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiHome {\n nodes {\n sections {\n fields {\n enable\n title\n summary\n anchor\n theme\n }\n latest\n type\n links {\n externalLinks {\n id\n name\n url\n }\n internalLinks {\n id\n name\n page {\n id\n slug\n title\n }\n singlePage\n career {\n id\n slug\n name\n }\n }\n }\n description\n title\n video {\n id\n nameVideo\n urlVideo\n }\n blog_articles {\n id\n }\n testimonies {\n id\n }\n news_contents {\n id\n }\n videos {\n id\n }\n metrics {\n id\n }\n social_medias {\n id\n }\n form {\n id\n Name\n PortalID\n formId\n formType\n }\n events {\n date\n event_category\n id\n summary\n time\n title\n }\n careers {\n id\n }\n banner_item {\n id\n }\n }\n banner {\n banner_items {\n id\n }\n }\n homeSeo {\n pageDescription\n pageKeywords\n pageTitle\n }\n titleHome {\n title\n detail\n }\n }\n }\n }\n `)\n return query\n}\nexport default useHome","import { useStaticQuery, graphql } from \"gatsby\"\nconst useBlogPage = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiBlogPage {\n nodes {\n blogMetadata {\n description: pageDescription\n keywords: pageKeywords\n pageTitle\n }\n title\n subTitle\n blogsDestacados {\n blog_articles {\n id\n }\n }\n sections {\n fields {\n summary\n theme\n title\n enable\n anchor\n id\n }\n testimonies {\n id\n }\n videos {\n id\n }\n blog_articles {\n id\n }\n form {\n id\n Name\n PortalID\n formId\n formType\n }\n events {\n date\n event_category\n id\n summary\n time\n title\n }\n careers {\n id\n }\n banner_item {\n id\n }\n latest\n news_contents {\n id\n }\n }\n }\n }\n }\n `)\n return query\n}\nexport default useBlogPage","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useBlogCategories = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiBlogCategories {\n nodes {\n id\n name\n }\n }\n }\n `)\n return query\n}\n\nexport default useBlogCategories\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useBanner = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiBannerItems {\n nodes {\n category\n description\n destacado\n id\n strapiId\n title\n order\n link {\n internalLink {\n id\n name\n page {\n id\n name\n menuSection\n slug\n title\n }\n news_content {\n title\n id\n slug\n }\n type\n singlePage\n career {\n id\n slug\n name\n }\n }\n externalLink{\n id\n name\n url\n type\n }\n }\n imageMobile: image {\n childImageSharp {\n gatsbyImageData(formats: WEBP, webpOptions: { quality: 50}, layout: CONSTRAINED) \n }\n }\n imageDesktop: image {\n childImageSharp {\n gatsbyImageData(formats: WEBP, webpOptions: { quality: 50 }, layout: CONSTRAINED) \n }\n }\n }\n }\n }\n `)\n return query\n}\nexport default useBanner","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useNewsPage = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiNewsPage {\n nodes {\n newsMetadata {\n description: pageDescription\n keywords: pageKeywords\n pageTitle\n }\n title\n\n newsDestacadas {\n news_contents {\n id\n }\n }\n sections {\n fields {\n summary\n theme\n title\n enable\n anchor\n id\n }\n testimonies {\n id\n }\n blog_articles {\n id\n }\n events {\n date\n event_category\n id\n summary\n time\n title\n }\n form {\n id\n formId\n PortalID\n Name\n formType\n }\n news_contents {\n id\n }\n banner_item {\n id\n }\n videos {\n id\n }\n latest\n }\n }\n }\n }\n `)\n return query\n}\n\nexport default useNewsPage\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useEvents = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiEvents(sort: {fields: date, order: ASC}) {\n nodes {\n site{\n id\n name\n longitude\n latitude\n \n }\n slug\n title\n date\n formatDateMonth: date(formatString: \"MMMM\", locale: \"ES-AR\")\n formatDateDay: date(formatString: \"DD\", locale: \"ES-AR\")\n time\n summary\n strapiId\n expiredDate\n sections {\n fields {\n title\n theme\n enable\n summary\n }\n paragraph\n icon {\n name\n icon {\n type\n code\n }\n }\n type\n image {\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n eventImage {\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n event_category {\n name\n id\n slug\n }\n event_type {\n id\n name\n slug\n }\n }\n }\n }\n `)\n\n const arrayResult = query.allStrapiEvents.nodes.filter(item => item.expiredDate >= new Date().toISOString().slice(0, 10))\n query.allStrapiEvents.nodes = arrayResult\n return query\n}\n\nexport default useEvents\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useEventCategories = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiEventCategories {\n nodes {\n name\n slug\n id\n }\n }\n }\n `)\n return query\n}\n\nexport default useEventCategories","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useEventTypes = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiEventTypes {\n nodes {\n name\n id\n slug\n }\n }\n }\n `)\n return query\n}\n\nexport default useEventTypes","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useSites = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiSites {\n nodes {\n CP\n apartment\n city\n code\n country\n email\n fax\n floor\n id\n latitude\n longitude\n name\n neighborhood\n observation\n phone1\n phone2\n province\n street\n streetNumber\n tower\n slug\n IDsite\n sede\n }\n }\n }\n `)\n return query\n}\n\nexport default useSites\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useGlobalConfig = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiGlobalConfig {\n nodes {\n id\n Script {\n enable\n id\n name\n src\n }\n formHeader{\n id\n Name\n PortalID\n formId\n formType\n }\n searchCareerHeader {\n fields {\n title\n theme\n enable\n }\n type\n }\n facebookMeta\n }\n }\n }\n `)\n return query\n}\nexport default useGlobalConfig\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useEventsPage = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiEventPage {\n nodes {\n sections {\n fields {\n enable\n title\n anchor\n theme\n }\n latest\n type\n blog_articles {\n id\n }\n careers {\n id\n }\n news_contents {\n id\n }\n testimonies {\n id\n }\n form {\n id\n formId\n PortalID\n Name\n formType\n }\n events {\n date\n event_category\n id\n summary\n time\n title\n }\n careers {\n id\n }\n banner_item {\n id\n }\n }\n subTitle\n title\n strapiId\n eventsMetadata {\n pageDescription\n pageKeywords\n pageTitle\n }\n eventsDestacados {\n events {\n id\n }\n }\n }\n }\n }\n `)\n return query\n}\n\nexport default useEventsPage","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useFooter = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiFooter {\n nodes {\n logo {\n nameImage {\n childImageSharp {\n gatsbyImageData (\n width: 120\n )\n }\n }\n alt\n title\n }\n blocks {\n id\n type\n title\n iconsContacts {\n id\n name\n title\n type\n url\n iconContact {\n id\n content\n icon {\n code\n type\n }\n }\n }\n titleLink {\n name\n page {\n id\n slug\n }\n singlePage\n career {\n id\n slug\n name\n }\n }\n links {\n externalLinks {\n id\n name\n url\n }\n internalLinks {\n id\n name\n page {\n id\n slug\n }\n singlePage\n career {\n id\n slug\n name\n }\n }\n }\n images {\n alt\n id\n title\n nameImage {\n childImageSharp {\n gatsbyImageData (\n width: 45\n )\n }\n }\n }\n }\n dataFiscal {\n title\n url\n visible\n id\n image {\n childImageSharp {\n gatsbyImageData(\n width: 70\n )\n }\n }\n }\n socialMediaIcons {\n title\n iconLinks {\n icon {\n name\n icon {\n type\n code\n }\n }\n link {\n url\n name\n }\n }\n }\n }\n }\n }\n `)\n return query\n}\nexport default useFooter","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useContact = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiContacPage {\n nodes {\n id\n title\n subTitle\n contactSeo {\n description: pageDescription\n keywords: pageKeywords\n pageTitle\n }\n navegation {\n id\n type\n externalLinks {\n id\n name\n type\n url\n }\n internalLinks {\n id\n name\n type\n page {\n id\n slug\n title\n }\n singlePage\n career {\n id\n slug\n name\n }\n }\n }\n sections {\n banner_item {\n id\n }\n blog_articles {\n id\n }\n careers {\n id\n }\n events {\n id\n }\n fields {\n enable\n title\n summary\n anchor\n theme\n }\n form {\n id\n formId\n PortalID\n formType\n }\n news_contents {\n id\n }\n social_medias {\n id\n }\n testimonies {\n id\n }\n image {\n alt\n id\n title\n type\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n videos {\n id\n }\n type\n latest\n paragraph\n icon {\n name\n icon {\n type\n code\n }\n }\n }\n }\n }\n }\n `)\n return query\n}\n\nexport default useContact","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useFilteredSites = () => {\n let query = useStaticQuery(graphql`\n query {\n allStrapiSites(filter: { sede: { eq: true } }) {\n nodes {\n city\n id\n name\n phone1\n street\n streetNumber\n slug\n sede\n image {\n title\n alt\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n centersAllStrapiSites: allStrapiSites(\n filter: { centroDeExperiencias: { eq: true } }\n ) {\n nodes {\n city\n id\n name\n phone1\n street\n streetNumber\n slug\n sede\n image {\n title\n alt\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n }\n `)\n query = query?.allStrapiSites?.nodes.concat(\n query?.centersAllStrapiSites?.nodes\n )\n let uniqueQuery = []\n query?.forEach(item => {\n if (!uniqueQuery.some(i => i.id === item.id)) {\n uniqueQuery.push(item)\n }\n })\n\n return uniqueQuery\n}\nexport default useFilteredSites\n","import { useEffect } from 'react';\n\nconst useScript = url => {\n useEffect(() => {\n const script = document.createElement('script');\n\n script.src = url;\n script.defer = true;\n\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n }\n }, [url]);\n};\n\nexport default useScript;","import { useEffect } from 'react';\n\nconst useLinkTag = url => {\n useEffect(() => {\n const tag = document.createElement('link');\n tag.setAttribute(\"rel\", \"stylesheet\");\n tag.setAttribute(\"type\", \"text/css\");\n tag.setAttribute(\"href\", url);\n\n document.head.appendChild(tag);\n\n return () => {\n document.head.removeChild(tag);\n }\n }, [url]);\n};\n\nexport default useLinkTag;","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useEventsLatest = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiEvents(sort: {fields: date, order: DESC}) {\n nodes {\n site{\n id\n name\n longitude\n latitude\n \n }\n slug\n title\n date\n formatDateMonth: date(formatString: \"MMMM\", locale: \"ES-AR\")\n formatDateDay: date(formatString: \"DD\", locale: \"ES-AR\")\n time\n summary\n strapiId\n expiredDate\n sections {\n fields {\n title\n theme\n enable\n summary\n }\n paragraph\n type\n image {\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n eventImage {\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n event_category {\n name\n id\n slug\n }\n event_type {\n id\n name\n slug\n }\n }\n }\n }\n `)\n\n const arrayResult = query.allStrapiEvents.nodes.filter(item => item.expiredDate >= new Date().toISOString().slice(0, 10))\n query.allStrapiEvents.nodes = arrayResult\n return query\n}\n\nexport default useEventsLatest\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useGallery = () => {\n return useStaticQuery(graphql`\n query {\n strapiGalleryPage {\n galleryMetadata {\n description: pageDescription\n keywords: pageKeywords\n pageTitle\n }\n cardsSectionTitle\n content {\n type\n imageSlider {\n id\n alt\n nameImage {\n id\n publicURL\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n paragraph\n banner_item {\n id\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n id\n video {\n nameVideo\n type\n urlVideo\n id\n }\n image {\n type\n title\n id\n alt\n nameImage {\n childImageSharp {\n gatsbyImageData\n }\n }\n }\n }\n }\n allStrapiGalleryItems(sort: {fields: strapiId, order: DESC}) {\n nodes {\n title\n slug\n description\n extraInfo\n image {\n childImageSharp {\n gatsbyImageData\n }\n }\n firstPageOrder\n }\n }\n }\n `)\n}\n\nexport default useGallery\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useCareers = () => {\n const query = useStaticQuery(graphql`\n {\n allStrapiCareers(\n filter: { site_types: { elemMatch: { name: { eq: \"CMS\" } } } }\n sort: { order: ASC, fields: study_class___orderFilterAcademy }\n ) {\n nodes {\n id\n strapiId\n name\n code\n duration\n state\n slug\n idCareer\n site_types {\n id\n name\n }\n attendance_modes {\n name\n }\n study_class {\n name\n }\n career_study_class {\n name\n }\n careerImage {\n childImageSharp {\n gatsbyImageData(formats: WEBP, webpOptions: { quality: 50 })\n }\n }\n }\n }\n }\n `)\n\n query.allStrapiCareers.nodes.forEach(entity => {\n entity.attendance_modes = entity.attendance_modes.map(modality =>\n modality.name !== undefined ? modality.name : modality\n )\n })\n\n return query\n}\n\nexport default useCareers\n","import { useStaticQuery, graphql } from \"gatsby\"\n\nconst useVideoBlock = () => {\n const query = useStaticQuery(graphql`\n query {\n allStrapiVideos {\n nodes {\n title\n strapiId\n id\n video {\n nameVideo\n urlVideo\n source\n }\n }\n }\n }\n `)\n return query\n}\n\nexport default useVideoBlock\n","import \"./_backToTop.scss\";\nimport { Link } from \"gatsby\";\nimport { FaArrowUp } from \"../icons/index\";\nimport React from \"react\";\n\n\nconst BackToTop = () => {\n return (\n <Link to=\"#top\">\n <div className=\"backToTop\">\n <FaArrowUp color=\"#212529\" size={18} />\n </div>\n </Link>\n );\n};\n\nexport default BackToTop;\n","import React, { useState, useEffect } from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport { Header, Footer } from \"../components\"\nimport { AppProvider } from \"../context/useAppContext\"\nimport \"./_layout.scss\"\nimport Script from \"@gumgum/react-script-tag\"\nimport { useGlobalConfig } from \"../hooks\"\nimport BackToTop from \"../components/BackToTop/backToTop.component\"\nimport { Helmet } from \"react-helmet\"\n\nconst Layout = ({ children, handleLocation, whatsapp }) => {\n let notificationCount = 0\n let minimizedButton \n let chatContainer\n const config = useGlobalConfig()\n const scripts = config?.allStrapiGlobalConfig?.nodes.map(item =>\n item.Script.map(script =>\n script.name.toLowerCase() === \"analytics\" && script.enable === true ? (\n <Helmet>\n <script async defer src={script.src}></script>\n <script async defer>\n {`window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${script.src.replace(\n \"https://www.googletagmanager.com/gtag/js?id=\",\n \"\"\n )}');`}\n </script>\n </Helmet>\n ) : script.name.toLowerCase() === \"aivo\" && script.enable === true ? (\n <Helmet>\n <script async defer src={script.src}></script>\n <script async defer>\n {` if (typeof window.$aivo !== \"undefined\") {\n window.$aivo.ready(() => {\n window.$aivo.registerTokenForExternalZendesk('de93c510aaac1a9a8a8529970dad4193')\n })}`}\n </script>\n </Helmet>\n ) : script.enable === true ? (\n <Script\n key={script.name}\n type=\"text/javascript\"\n src={script.src}\n id={script.name}\n defer\n isHydrating={true}\n />\n ) : null\n )\n )\n\n const codeFaceMeta =\n config?.allStrapiGlobalConfig?.nodes[0]?.facebookMeta ||\n \"9qa1ov9qrr8994vi9355sv15rd4sv6\"\n\n const data = useStaticQuery(graphql`\n query SiteTitleQuery {\n site {\n siteMetadata {\n title\n }\n }\n }\n `)\n const [isActive, setIsActive] = useState(false)\n\n const handleScroll = value => {\n setIsActive(value)\n }\n\n const classActive = isActive ? \"layout-off\" : \"layout-on\"\n\n \n function handleMutations(mutations) {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (isFromOtherUsers(node)) {\n if (chatContainer && chatContainer.classList.contains(\"minimize\")) {\n handleNewMessage();\n }\n }\n });\n });\n }\n\n function isFromOtherUsers(node) {\n return node.nodeType === Node.ELEMENT_NODE && node.matches(\"li.fromOtherUsers\");\n }\n\n function handleNewMessage() {\n playNotificationSound();\n updateNotificationBadge();\n }\n\n function playNotificationSound() {\n const audio = new Audio(\"msj-notification.mp3\") // Ruta del archivo de audio\\\n audio.play()\n }\n\n function resetNotificationBadge() {\n const minimizedButton = document.querySelector(\".minimized\")\n const badge = minimizedButton.querySelector(\".notification-badge\")\n if (badge) {\n badge.textContent = \"0\"\n badge.style.display = \"none\"\n }\n notificationCount = 0\n }\n\n function setupNotificationBadgeListeners(chatContainer) {\n if (minimizedButton) {\n minimizedButton.addEventListener(\"click\", resetNotificationBadge);\n chatContainer.addEventListener(\"click\", resetNotificationBadge);\n } else {\n console.error(\"Botón minimizado no encontrado.\");\n }\n }\n\n function updateNotificationBadge() {\n let badge = minimizedButton.querySelector(\".notification-badge\");\n if (!badge) {\n badge = document.createElement(\"span\");\n badge.className = \"notification-badge\";\n minimizedButton.appendChild(badge);\n }\n notificationCount++;\n badge.textContent = notificationCount;\n badge.style.display = notificationCount > 0 ? \"flex\" : \"none\";\n }\n\n useEffect(() => {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition = function () {}\n navigator.geolocation.watchPosition = function () {}\n navigator.geolocation.clearWatch = function () {}\n }\n\n const link = document.createElement(\"link\")\n link.rel = \"stylesheet\"\n link.href = \"https://bots.kore.ai/webclient/UI/dist/kore-ai-sdk.min.css\"\n document.body.appendChild(link)\n\n const style = document.createElement(\"style\")\n style.innerHTML = `\n .minimized {\n position: fixed!important;\n bottom: 100px!important;\n left: 45px!important;\n width: 50px!important;\n height: 50px!important;\n cursor: pointer!important;\n border-radius: 50%!important;\n background-color: #fff!important;\n display: flex!important;\n align-items: center!important;\n justify-content: center!important;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1)!important;\n transition: transform 0.3s ease!important;\n }\n .kore-chat-window .messages {\n background-image: url(https://hubspot-public-content.s3.sa-east-1.amazonaws.com/KoreIa-CMS/message.png)!important;\n }\n .kore-chat-window.minimize .minimized-title {\n position: absolute;\n }\n .minimized-title{\n position: fixed !important;\n left: 100px !important;\n padding: 8px 20px!important;\n background: #FFF!important;\n color: #000!important;\n bottom: 120px !important;\n }\n .kore-chat-window {\n position: fixed;\n left: 0 !important; \n right: auto !important;\n }\n .kore-chat-window.minimize {\n left: 92px !important;\n right: auto!important;\n bottom: 10px!important;\n }\n .kore-chat-window.kore-chat-window.expanded{\n right: auto!important;\n }\n .expand-btn img,\n .reload-btn img,\n .minimize-btn img,\n .close-btn img {\n display: none!important;\n }\n .expand-btn {\n background-image: url('https://hubspot-public-content.s3.sa-east-1.amazonaws.com/KoreIa-CMS/expand-btn.png')!important;\n background-size: contain!important;\n background-repeat: no-repeat!important;\n background-position: center!important;\n margin-right: 5px !important;\n padding: 5px !important;\n }\n .reload-btn {\n background-image: url('https://hubspot-public-content.s3.sa-east-1.amazonaws.com/KoreIa-CMS/reload-btn.png')!important;\n background-size: contain!important;\n background-repeat: no-repeat!important;\n background-position: center!important;\n margin-right: 5px !important;\n padding: 5px !important;\n }\n .minimize-btn {\n background-image: url('https://hubspot-public-content.s3.sa-east-1.amazonaws.com/KoreIa-CMS/minimize-btn.png')!important;\n background-size: contain!important;\n background-repeat: no-repeat!important;\n background-position: center!important;\n margin-right: 5px !important;\n padding: 5px !important;\n }\n .close-btn {\n background-image: url('https://hubspot-public-content.s3.sa-east-1.amazonaws.com/KoreIa-CMS/close-btn.png')!important;\n background-size: contain!important;\n background-repeat: no-repeat!important;\n background-position: center!important;\n margin-right: 5px !important;\n padding: 5px !important;\n }\n .notification-badge {\n position: absolute;\n top: -3px;\n right: -7px;\n background-color: red; \n color: white; \n font-size: 11px; \n width: 16px; \n height: 16px;\n border-radius: 50%;\n display: flex;\n align-items: center; \n justify-content: center; \n z-index: 9999; \n }\n\n `\n document.head.appendChild(style)\n\n let script = document.createElement(\"script\")\n script.src =\n \"https://bots.kore.ai/api/platform/websdkjs/dc9b82ac0c8c4abf9001c1888e11fca10c78b1dcf7ce47a19a40f18500c7ca21st16\"\n script.onload = function () {\n if (typeof window.KoreSDK !== \"undefined\") {\n window.KoreSDK.show(window.KoreSDK.chatConfig)\n document.querySelector(\".minimized-title\").textContent =\n \"¡Chateá con nosotros!\"\n minimizedButton = document.querySelector(\".minimized\")\n observeBotMessages()\n } else {\n console.error(\"KoreSDK is not defined\")\n }\n }\n document.body.appendChild(script)\n function observeBotMessages() {\n chatContainer = document.querySelector(\".kore-chat-window\") // Ajusta si el selector no coincide\n if (!chatContainer) {\n console.error(\"Contenedor del chat no encontrado.\");\n return;\n }\n\n const observer = new MutationObserver(handleMutations);\n \n observer.observe(chatContainer, { childList: true, subtree: true });\n\n setupNotificationBadgeListeners(chatContainer);\n }\n\n\n return () => {\n document.head.removeChild(style)\n document.body.removeChild(script)\n }\n }, [])\n\n return (\n <div className={`layout ${classActive}`}>\n <AppProvider>\n {scripts}\n <Helmet>\n <script\n type=\"text/javascript\"\n src={`${process.env.GATSBY_ECOMMERCE_WIDGET_HOST}/ecommerce-widget.umd.cjs`}\n defer\n ></script>\n <link\n rel=\"stylesheet\"\n href={`${process.env.GATSBY_ECOMMERCE_WIDGET_HOST}/style.css`}\n />\n {/* <meta name=\"facebook-domain-verification\" content=\"s8xkxfcaawge2gog3l8ty7u6bu4iq1\" /> */}\n <meta name=\"facebook-domain-verification\" content={codeFaceMeta} />\n {/* <link rel=\"preconnect\" href=\"https://instagram.com\" /> */}\n <link rel=\"canonical\" href=\"https://21.edu.ar\" />\n <link rel=\"preconnect\" href=\"https://img.youtube.com\" />\n <link rel=\"preconnect\" href=\"https://www.googletagmanager.com\" />\n <link\n rel=\"preconnect\"\n href=\"https://hubspot-public-content.s3.sa-east-1.amazonaws.com\"\n />\n {/* <link rel=\"preconnect\" href=\"https://platform.twitter.com\" /> */}\n </Helmet>\n <Header\n siteTitle={data.site.siteMetadata?.title || `Title`}\n active={isActive}\n handleScroll={handleScroll}\n handleLocation={handleLocation}\n />\n <main className=\"layout__children\">{children}</main>\n <BackToTop whatsapp={whatsapp} />\n <Footer />\n </AppProvider>\n </div>\n )\n}\n\nexport default Layout\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n"],"sourceRoot":""}