blob: a76e8ecdd213ba2e0d6b3576a799d0f08ca9e402 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/@ant-design/react-slick/lib/track.js","webpack:///./node_modules/@ant-design/react-slick/lib/arrows.js","webpack:///./node_modules/@ant-design/react-slick/lib/utils/innerSliderUtils.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/string-convert/camel2hyphen.js","webpack:///./node_modules/@ant-design/react-slick/lib/initial-state.js","webpack:///./node_modules/@ant-design/react-slick/lib/index.js","webpack:///./src/resources/data.js","webpack:///./node_modules/antd/es/carousel/index.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/FireOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/FireOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/DatabaseOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/DatabaseOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/DeploymentUnitOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/DeploymentUnitOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/es/asn/DotChartOutlined.js","webpack:///./node_modules/@ant-design/icons/es/icons/DotChartOutlined.js","webpack:///./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/react-github-btn/index.js","webpack:///./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./src/components/DbImage.tsx","webpack:///./src/pages/index.tsx","webpack:///./node_modules/@ant-design/react-slick/lib/slider.js","webpack:///./node_modules/@ant-design/react-slick/lib/default-props.js","webpack:///./node_modules/@ant-design/react-slick/lib/dots.js","webpack:///./src/images/superset-logo-horiz-apache.svg","webpack:///./node_modules/@ant-design/react-slick/lib/inner-slider.js","webpack:///./node_modules/@superset-ui/style/esm/index.js","webpack:///./node_modules/json2mq/index.js","webpack:///./node_modules/github-buttons/dist/buttons.esm.js","webpack:///./node_modules/emotion-theming/dist/emotion-theming.browser.esm.js"],"names":["_interopRequireDefault","Object","defineProperty","exports","value","Track","_extends2","_classCallCheck2","_createClass2","_assertThisInitialized2","_inherits2","_createSuper2","_defineProperty2","_objectSpread2","_react","_classnames","_innerSliderUtils","getSlideClasses","spec","slickActive","slickCenter","slickCloned","centerOffset","index","rtl","slideCount","centerMode","Math","floor","slidesToShow","currentSlide","targetSlide","getKey","child","fallbackKey","key","renderSlides","slides","preCloneSlides","postCloneSlides","childrenCount","Children","count","children","startIndex","lazyStartIndex","endIndex","lazyEndIndex","forEach","elem","childOnClickOptions","message","slidesToScroll","lazyLoad","lazyLoadedList","indexOf","createElement","childStyle","style","undefined","variableWidth","width","slideWidth","fade","position","vertical","top","parseInt","slideHeight","left","opacity","useCSS","transition","speed","cssEase","getSlideStyle","slideClass","props","className","slideClasses","push","cloneElement","tabIndex","outline","onClick","e","focusOnSelect","infinite","preCloneNo","getPreClones","concat","reverse","_React$PureComponent","_super","_this","this","_len","arguments","length","args","Array","_key","call","apply","ref","node","_this$props","mouseEvents","onMouseEnter","onMouseOver","onMouseLeave","handleRef","trackStyle","PureComponent","NextArrow","PrevArrow","options","preventDefault","clickHandler","prevClasses","prevHandler","bind","prevArrowProps","display","customProps","prevArrow","type","_React$PureComponent2","_super2","nextClasses","nextHandler","canGoNext","nextArrowProps","nextArrow","clamp","canUseDOM","slidesOnLeft","slidesOnRight","siblingDirection","getTotalSlides","getPostClones","getTrackLeft","getTrackAnimateCSS","getTrackCSS","checkSpecKeys","getSlideCount","checkNavigable","getNavigableIndexes","swipeEnd","swipeMove","swipeStart","keyHandler","changeSlide","slideHandler","initializedState","extractObject","getSwipeDirection","getHeight","getWidth","lazySlidesOnRight","lazySlidesOnLeft","getRequiredLazySlides","getOnDemandLazySlides","number","lowerBound","upperBound","max","min","onDemandSlides","slideIndex","requiredSlides","centerPadding","offsetWidth","offsetHeight","touchObject","xDist","yDist","r","swipeAngle","verticalSwiping","startX","curX","startY","curY","atan2","round","PI","abs","canGo","keys","newObject","listNode","listRef","listWidth","ceil","trackNode","trackRef","trackWidth","centerPaddingAdj","slice","querySelector","listHeight","initialSlide","slidesToLoad","state","autoplaying","autoplay","waitForAnimate","animating","finalSlide","animationLeft","finalLeft","animationSlide","nextState","swipeLeft","indexOffset","previousInt","slideOffset","previousTargetSlide","direction","Number","accessibility","target","tagName","match","keyCode","swipe","draggable","dragging","touches","pageX","clientX","pageY","clientY","scrolling","swipeToSlide","edgeFriction","edgeDragged","onEdge","swiped","swiping","swipeEvent","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","dotCount","swipeDirection","touchSwipeLength","touchThreshold","onSwipe","minSwipe","newSlide","activeSlide","currentLeft","breakpoint","counter","indexes","navigables","prevNavigable","n","swipedSlide","querySelectorAll","from","every","slide","offsetTop","offsetLeft","currentIndex","dataset","keysArray","reduce","hasOwnProperty","console","error","trackHeight","trackChildren","WebkitTransition","useTransform","WebkitTransform","transform","msTransform","height","window","addEventListener","attachEvent","marginTop","marginLeft","unslick","targetLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","_ref","right","_ref2","document","require","__esModule","default","io","_inheritsLoose2","_objectWithoutPropertiesLoose2","_propTypes","convertProps","convertedProps","resolutions","sizes","critical","fixed","fluid","loading","groupByMedia","matchesMedia","media","isBrowser","matchMedia","matches","getImageCacheKey","srcData","getCurrentSrcData","src","currentData","isArray","some","image","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","create","inImageCache","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","prototype","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","srcSet","srcSetWebp","Fragment","withMedia","without","variant","generateTracedSVGSources","_ref4","tracedSVG","generateBase64Sources","_ref5","base64","generateNoscriptSource","_ref6","isWebp","listenToIntersections","el","cb","observer","entries","entry","has","get","isIntersecting","intersectionRatio","unobserve","delete","rootMargin","observe","set","noscriptImg","title","alt","crossOrigin","join","Placeholder","forwardRef","generateSources","spreadProps","ariaHidden","baseImage","Img","onLoad","onError","otherProps","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","seenBefore","isCritical","addNoScript","fadeIn","useIOSupport","isVisible","imgLoaded","imgCached","isHydrated","imageRef","createRef","placeholderRef","handleImageLoaded","_proto","componentDidMount","setState","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","currentSrc","render","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","durationFadeIn","Tag","itemProp","shouldReveal","shouldFadeIn","imageStyle","bgColor","delayHideStyle","transitionDelay","imagePlaceholderStyle","placeholderImageProps","overflow","maxWidth","maxHeight","JSON","stringify","paddingBottom","aspectRatio","bottom","dangerouslySetInnerHTML","__html","divStyle","Component","defaultProps","fixedObject","shape","isRequired","string","srcWebp","fluidObject","requireFixedOrFluid","originalPropTypes","propName","componentName","_PropTypes$checkPropT","Error","checkPropTypes","oneOfType","arrayOf","bool","oneOf","_default","module","str","replace","toLowerCase","currentDirection","initialized","pmc","name","github","Databases","href","imgName","Carousel","saveSlick","slick","onWindowResized","innerSlider","autoPlay","renderCarousel","_classNames","_a","getPrefixCls","effect","prefixCls","dotPosition","getDotPosition","enableDots","dots","dsClass","dotsClass","leading","prevProps","goTo","removeEventListener","cancel","_this$props$dotPositi","slickNext","slickPrev","dontAnimate","slickGoTo","arrows","AntdIcon","assign","icon","displayName","_defineProperty","obj","enumerable","configurable","writable","_defineProperties","i","descriptor","_possibleConstructorReturn","self","assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","_isNativeReflectConstruct","result","Super","NewTarget","constructor","_PureComponent","subClass","superClass","TypeError","_inherits","GitHubButton","Constructor","protoProps","staticProps","instance","_classCallCheck","$","_","paint","reset","appendChild","then","parentNode","replaceChild","lastChild","DbImage","imageName","useStaticQuery","allImages","edges","childImageSharp","originalName","colors","supersetTheme","mainPageStyle","css","alert","base","warning","info","success","secondary","titleContainer","mq","secondaryHeading","featureSectionStyle","grayscale","dark2","integrationSection","linkCarousel","primary","Feature","descr","theme","config","useConfig","slider","useRef","useState","setSlideIndex","logo","data-size","data-show-count","aria-label","to","size","sm","md","role","afterChange","_innerSlider","_json2mq","_defaultProps","Slider","pause","_responsiveMediaHandlers","query","handler","mql","listener","addListener","responsive","breakpoints","breakpt","sort","x","y","bQuery","minWidth","removeListener","settings","newProps","_this3","resp","toArray","trim","rows","slidesPerRow","warn","newChildren","currentWidth","j","row","k","InnerSlider","innerSliderRefHandler","adaptiveHeight","appendDots","autoplaySpeed","beforeChange","customPaging","easing","onInit","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","touchMove","Dots","_rightBound","rightBound","_leftBound","leftBound","dotOptions","_typeof2","_objectWithoutProperties2","_initialState","_debounce","_track","_dots","_arrows","_resizeObserverPolyfill","list","track","prevState","onLazyLoad","updateState","adaptHeight","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","callbackTimers","setTimeout","onfocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearTimeout","clearInterval","timer","detachEvent","autoplayTimer","disconnect","checkImagesLoad","setTrackStyle","didPropsChange","debouncedResize","resizeWindow","isTrackMounted","Boolean","callback","updatedState","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","_i","_i2","_trackStyle","trackLeft","images","imagesCount","loadedCount","onclick","prevClickHandler","focus","onload","onerror","_index","asNavFor","_slideHandler","asNavForIndex","firstBatch","nodes","clickable","stopPropagation","dir","ontouchmove","event","returnValue","disableBodyScroll","triggerSlideHandler","enableBodyScroll","isNaN","nextIndex","playType","play","pauseType","trackProps","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","trackRefHandler","ssrState","ssrInit","_i3","_Object$keys","styled","withTheme","ThemeProvider","useTheme","_styled","_emotionTheming","_core","borderRadius","dark1","light1","light2","light3","light4","light5","dark3","light","mediumLight","mediumHeavy","heavy","typography","families","sansSerif","serif","monospace","weights","normal","bold","xxs","xs","s","m","l","xl","xxl","zIndex","aboveDashboardCharts","dropdown","transitionTiming","gridUnit","camel2hyphen","obj2mq","features","feature","test","isDimension","q","HTMLElement","XMLHttpRequest","createElementInDocument","tag","prop","val","setAttribute","len","createTextNode","domain","useXHR","useShadowDOM","attachShadow","onEvent","eventName","offEvent","widgetColorSchemes","dark","getColorSchemeMediaQuery","systemColorScheme","widgetColorScheme","getColorScheme","declarations","colorSchemes","sep","eq","decodeURIComponent","params","split","parse","data","octicon","defaultHeight","heights","svg","path","queues","fetch","url","queue","onceToken","dispatchOnce","shift","xhr","responseText","status","open","send","contentWindow","json","meta","script","async","onloadend","readyState","regex","onceReadyStateChange","getElementsByTagName","root","ownerDocument","cssText","styleSheet","isLarge","btn","rel","innerHTML","widget","hostname","substring","removeAttribute","pathname","property","api","html_url","devicePixelRatio","ceilPixel","px","render$1","getAttribute","anchor","attribute","textContent","innerText","parseOptions","host","mode","iframe","allowtransparency","frameBorder","border","body","removeChild","getBoundingClientRect","boundingClientRect","onceEvent","iframeURL","encodeURIComponent","getTheme","outerTheme","createCacheWithTheme","Consumer","Provider","WithTheme","useContext"],"mappings":"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","file":"component---src-pages-index-tsx-780f6047c31ac828a1f4.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\"); // given specifications/props for a slide, fetch all the classes that need to be applied to the slide\n\n\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var focusedSlide;\n\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n\n var slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n\n if (spec.useCSS) {\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key + \"-\" + fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = /*#__PURE__*/_react[\"default\"].createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({\n outline: \"none\"\n }, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n index: key\n }));\n preCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n index: key\n }));\n postCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track = /*#__PURE__*/function (_React$PureComponent) {\n (0, _inherits2[\"default\"])(Track, _React$PureComponent);\n\n var _super = (0, _createSuper2[\"default\"])(Track);\n\n function Track() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Track);\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 = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"node\", null);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"handleRef\", function (ref) {\n _this.node = ref;\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", (0, _extends2[\"default\"])({\n ref: this.handleRef,\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NextArrow = exports.PrevArrow = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar PrevArrow = /*#__PURE__*/function (_React$PureComponent) {\n (0, _inherits2[\"default\"])(PrevArrow, _React$PureComponent);\n\n var _super = (0, _createSuper2[\"default\"])(PrevArrow);\n\n function PrevArrow() {\n (0, _classCallCheck2[\"default\"])(this, PrevArrow);\n return _super.apply(this, arguments);\n }\n\n (0, _createClass2[\"default\"])(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.prevArrow, (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, prevArrowProps), customProps));\n } else {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", (0, _extends2[\"default\"])({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow = /*#__PURE__*/function (_React$PureComponent2) {\n (0, _inherits2[\"default\"])(NextArrow, _React$PureComponent2);\n\n var _super2 = (0, _createSuper2[\"default\"])(NextArrow);\n\n function NextArrow() {\n (0, _classCallCheck2[\"default\"])(this, NextArrow);\n return _super2.apply(this, arguments);\n }\n\n (0, _createClass2[\"default\"])(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.nextArrow, (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, nextArrowProps), customProps));\n } else {\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", (0, _extends2[\"default\"])({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.NextArrow = NextArrow;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clamp = clamp;\nexports.canUseDOM = exports.slidesOnLeft = exports.slidesOnRight = exports.siblingDirection = exports.getTotalSlides = exports.getPostClones = exports.getPreClones = exports.getTrackLeft = exports.getTrackAnimateCSS = exports.getTrackCSS = exports.checkSpecKeys = exports.getSlideCount = exports.checkNavigable = exports.getNavigableIndexes = exports.swipeEnd = exports.swipeMove = exports.swipeStart = exports.keyHandler = exports.changeSlide = exports.slideHandler = exports.initializedState = exports.extractObject = exports.canGoNext = exports.getSwipeDirection = exports.getHeight = exports.getWidth = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.lazyStartIndex = exports.getRequiredLazySlides = exports.getOnDemandLazySlides = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\n var listNode = spec.listRef;\n var listWidth = Math.ceil(getWidth(listNode));\n var trackNode = spec.trackRef && spec.trackRef.node;\n var trackWidth = Math.ceil(getWidth(trackNode));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }));\n lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoadedList = spec.lazyLoadedList,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = {\n animating: false,\n targetSlide: animationSlide\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n currentSlide: animationSlide\n })));\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n left: finalLeft\n })),\n swipeLeft: null,\n targetSlide: targetSlide\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n previousTargetSlide = spec.targetSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (infinite) {\n var direction = siblingDirection((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && e.preventDefault();\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && swipeDirection === \"right\" || currentSlide + 1 >= dotCount && swipeDirection === \"left\" || !canGoNext(spec) && swipeDirection === \"left\") {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, state), {}, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n e.preventDefault();\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe,\n targetSlide = spec.targetSlide,\n currentSlide = spec.currentSlide,\n infinite = spec.infinite;\n\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n var activeSlide = infinite ? currentSlide : targetSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = activeSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n left: currentLeft\n }));\n }\n\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll(\".slick-slide\");\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return (// eslint-disable-next-line no-prototype-builtins\n keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec)\n );\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, style), {}, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding; // returns no of slides on the right of active slide\n\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding; // returns no of slides on the left of active slide\n\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), srcSet && /*#__PURE__*/_react.default.createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : 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 [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"<source \" + typeAttr + mediaAttr + \"srcset=\\\"\" + src + \"\\\" \" + sizesAttr + \"/>\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners.delete(el);\n };\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"<picture>\" + sources + \"<img \" + loading + width + height + sizes + srcSet + src + alt + title + crossOrigin + draggable + \"style=\\\"position:absolute;top:0;left:0;opacity:1;width:100%;height:100%;object-fit:cover;object-position:center\\\"/></picture>\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn,\n isHydrated: false\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.setState({\n isHydrated: isBrowser\n });\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _this2.imageRef.current.currentSrc)\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2.default)({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, imgStyle, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (fluid) {\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: image.width,\n height: image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(image.srcSet)\n }, bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n width: image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: image.height\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: image.width,\n height: image.height,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\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 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.isRequired,\n base64: _propTypes.default.string,\n tracedSVG: _propTypes.default.string,\n srcWebp: _propTypes.default.string,\n srcSetWebp: _propTypes.default.string,\n media: _propTypes.default.string,\n maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\n} // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)])),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\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.string,\n itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","var camel2hyphen = function camel2hyphen(str) {\n return str.replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n }).toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nexport const pmc = [\n {\n name: ' Aaron Suddjian',\n github: 'https://github.com/suddjian',\n image: 'https://github.com/suddjian.png',\n },\n {\n name: 'Beto Dealmeida',\n github: 'https://github.com/betodealmeida',\n image: 'https://github.com/betodealmeida.png',\n },\n {\n name: 'Bogdan Kyryliuk',\n github: 'https://github.com/bkyryliuk',\n image: 'https://github.com/bkyryliuk.png',\n },\n {\n name: 'Chris Williams',\n github: 'https://github.com/williaster',\n image: 'https://github.com/williaster.png',\n },\n {\n name: 'Craig Rueda',\n github: 'https://github.com/craig-rueda',\n image: 'https://github.com/craig-rueda.png',\n },\n {\n name: 'Daniel Gaspar',\n github: 'https://github.com/dpgaspar',\n image: 'https://github.com/dpgaspar.png',\n },\n {\n name: 'Erik Ritter',\n github: 'https://github.com/etr2460',\n image: 'https://github.com/etr2460.png',\n },\n {\n name: 'Evan Rusackas',\n github: 'https://github.com/rusackas',\n image: 'https://github.com/rusackas.png',\n },\n\n {\n name: 'Grace Guo',\n github: 'https://github.com/graceguo-supercat',\n image: 'https://github.com/graceguo-supercat.png',\n },\n\n {\n name: 'Jeff Feng',\n github: 'https://github.com/jfeng15',\n image: 'https://github.com/jfeng15.png',\n },\n\n {\n name: 'Jesse Yang',\n github: 'https://github.com/ktmud',\n image: 'https://github.com/ktmud.png',\n },\n\n {\n name: 'John Bodley',\n github: 'https://github.com/john-bodley',\n image: 'https://github.com/john-bodley.png',\n },\n\n {\n name: 'Krist Wongsuphasawat',\n github: 'https://github.com/kristw',\n image: 'https://github.com/kristw.png',\n },\n {\n name: 'Maxime Beauchemin',\n github: 'https://github.com/mistercrunch',\n image: 'https://github.com/mistercrunch.png',\n },\n\n {\n name: 'Michelle Thomas',\n github: 'https://github.com/michellethomas',\n image: 'https://github.com/michellethomas.png',\n },\n\n {\n name: 'Nishant Bangarwa',\n github: 'https://github.com/nishantmonu51',\n image: 'https://github.com/nishantmonu51.png',\n },\n\n {\n name: 'Tai Dupree',\n github: 'https://github.com/nytai',\n image: 'https://github.com/nytai.png',\n },\n\n {\n name: 'Ville Brofeldt',\n github: 'https://github.com/villebro',\n image: 'https://github.com/villebro.png',\n },\n {\n name: 'Will Barrett',\n github: 'https://github.com/willbarrett',\n image: 'https://github.com/willbarrett.png',\n },\n];\n\nexport const Databases = [\n {\n title: 'Amazon Redshfit',\n href: 'https://aws.amazon.com/redshift/',\n imgName: 'aws-redshift.png',\n width: 50,\n },\n {\n title: 'Apache Druid',\n href: 'http://druid.io/',\n imgName: 'druid.png',\n },\n {\n title: 'Apache Kylin',\n href: 'http://kylin.apache.org/',\n imgName: 'apache-kylin.png',\n },\n {\n title: 'BigQuery',\n href: 'https://cloud.google.com/bigquery/',\n imgName: 'googleBQ.png',\n },\n {\n title: 'ClickHouse',\n href: 'https://clickhouse.tech/',\n imgName: 'clickhouse.png',\n },\n {\n title: 'Dremio',\n href: 'https://dremio.com/',\n imgName: 'dremio.png',\n },\n {\n title: 'Exasol',\n href: 'https://www.exasol.com/en/',\n imgName: 'exasol.png',\n },\n {\n title: 'FireBirdSql',\n href: 'https://firebirdsql.org/',\n imgName: 'firebird.png',\n },\n {\n title: 'Green Plum',\n href: 'https://greenplum.org/',\n imgName: 'greenplum.png',\n },\n {\n title: 'IBM Db2',\n href: 'https://www.ibm.com/analytics/db2',\n imgName: 'ibmdb2.png',\n },\n {\n title: 'MySQL',\n href: 'https://www.mysql.com/',\n imgName: 'mysql.png',\n },\n {\n title: 'Microsoft SqlServer',\n href: 'https://www.microsoft.com/en-us/sql-server',\n imgName: 'msql.png',\n },\n {\n title: 'MonetDB',\n href: 'https://www.monetdb.org/',\n imgName: 'monet.png',\n },\n {\n title: 'Oracle',\n href: 'https://www.oracle.com/database/',\n imgName: 'oraclelogo.png',\n },\n {\n title: 'PostgresSQL',\n href: 'https://www.postgresql.org/',\n imgName: 'postsql.png',\n },\n {\n title: 'Presto',\n href: 'https://prestodb.io/',\n imgName: 'presto-og.png',\n },\n {\n title: 'Snowflake',\n href: 'https://www.snowflake.com/',\n imgName: 'snowflake.png',\n },\n {\n title: 'SQLite',\n href: 'https://www.sqlite.org/index.html',\n imgName: 'sqllite.png',\n },\n {\n title: 'Trino',\n href: 'https://trino.io/',\n imgName: 'trino2.jpg',\n },\n {\n title: 'Rockset',\n href: 'https://rockset.com/',\n imgName: 'rockset.png',\n },\n {\n title: 'Vertica',\n href: 'https://www.vertica.com/',\n imgName: 'vertica.png',\n },\n {\n title: 'Hologres',\n href: 'https://www.alibabacloud.com/product/hologres',\n imgName: 'hologres.png',\n },\n];\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport debounce from 'lodash/debounce';\nimport SlickCarousel from '@ant-design/react-slick';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n\n var _super = _createSuper(Carousel);\n\n function Carousel(props) {\n var _this;\n\n _classCallCheck(this, Carousel);\n\n _this = _super.call(this, props);\n\n _this.saveSlick = function (node) {\n _this.slick = node;\n };\n\n _this.onWindowResized = function () {\n // Fix https://github.com/ant-design/ant-design/issues/2550\n var autoplay = _this.props.autoplay;\n\n if (autoplay && _this.slick && _this.slick.innerSlider && _this.slick.innerSlider.autoPlay) {\n _this.slick.innerSlider.autoPlay();\n }\n };\n\n _this.renderCarousel = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var _a;\n\n var props = _extends({}, _this.props);\n\n if (props.effect === 'fade') {\n props.fade = true;\n }\n\n var prefixCls = getPrefixCls('carousel', props.prefixCls);\n var dotsClass = 'slick-dots';\n\n var dotPosition = _this.getDotPosition();\n\n props.vertical = dotPosition === 'left' || dotPosition === 'right';\n var enableDots = !!props.dots;\n var dsClass = classNames(dotsClass, \"\".concat(dotsClass, \"-\").concat(dotPosition || 'bottom'), typeof props.dots === 'boolean' ? false : (_a = props.dots) === null || _a === void 0 ? void 0 : _a.className);\n var className = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-vertical\"), props.vertical), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React.createElement(SlickCarousel, _extends({\n ref: _this.saveSlick\n }, props, {\n dots: enableDots,\n dotsClass: dsClass\n })));\n };\n\n _this.onWindowResized = debounce(_this.onWindowResized, 500, {\n leading: false\n });\n return _this;\n }\n\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var autoplay = this.props.autoplay;\n\n if (autoplay) {\n window.addEventListener('resize', this.onWindowResized);\n } // https://github.com/ant-design/ant-design/issues/7191\n\n\n this.innerSlider = this.slick && this.slick.innerSlider;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (React.Children.count(this.props.children) !== React.Children.count(prevProps.children)) {\n this.goTo(this.props.initialSlide || 0, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var autoplay = this.props.autoplay;\n\n if (autoplay) {\n window.removeEventListener('resize', this.onWindowResized);\n this.onWindowResized.cancel();\n }\n }\n }, {\n key: \"getDotPosition\",\n value: function getDotPosition() {\n var _this$props$dotPositi = this.props.dotPosition,\n dotPosition = _this$props$dotPositi === void 0 ? 'bottom' : _this$props$dotPositi;\n return dotPosition;\n }\n }, {\n key: \"next\",\n value: function next() {\n this.slick.slickNext();\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this.slick.slickPrev();\n }\n }, {\n key: \"goTo\",\n value: function goTo(slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n this.slick.slickGoTo(slide, dontAnimate);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderCarousel);\n }\n }]);\n\n return Carousel;\n}(React.Component);\n\nexport { Carousel as default };\nCarousel.defaultProps = {\n dots: true,\n arrows: false,\n draggable: false\n};","// This icon file is generated automatically.\nvar FireOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0058.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0012.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0024.4 59.8 73.36 73.36 0 0053.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z\"\n }\n }]\n },\n \"name\": \"fire\",\n \"theme\": \"outlined\"\n};\nexport default FireOutlined;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport FireOutlinedSvg from \"@ant-design/icons-svg/es/asn/FireOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar FireOutlined = function FireOutlined(props, ref) {\n return React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: FireOutlinedSvg\n }));\n};\n\nFireOutlined.displayName = 'FireOutlined';\nexport default React.forwardRef(FireOutlined);","// This icon file is generated automatically.\nvar DatabaseOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z\"\n }\n }]\n },\n \"name\": \"database\",\n \"theme\": \"outlined\"\n};\nexport default DatabaseOutlined;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DatabaseOutlinedSvg from \"@ant-design/icons-svg/es/asn/DatabaseOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar DatabaseOutlined = function DatabaseOutlined(props, ref) {\n return React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: DatabaseOutlinedSvg\n }));\n};\n\nDatabaseOutlined.displayName = 'DatabaseOutlined';\nexport default React.forwardRef(DatabaseOutlined);","// This icon file is generated automatically.\nvar DeploymentUnitOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M888.3 693.2c-42.5-24.6-94.3-18-129.2 12.8l-53-30.7V523.6c0-15.7-8.4-30.3-22-38.1l-136-78.3v-67.1c44.2-15 76-56.8 76-106.1 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 49.3 31.8 91.1 76 106.1v67.1l-136 78.3c-13.6 7.8-22 22.4-22 38.1v151.6l-53 30.7c-34.9-30.8-86.8-37.4-129.2-12.8-53.5 31-71.7 99.4-41 152.9 30.8 53.5 98.9 71.9 152.2 41 42.5-24.6 62.7-73 53.6-118.8l48.7-28.3 140.6 81c6.8 3.9 14.4 5.9 22 5.9s15.2-2 22-5.9L674.5 740l48.7 28.3c-9.1 45.7 11.2 94.2 53.6 118.8 53.3 30.9 121.5 12.6 152.2-41 30.8-53.6 12.6-122-40.7-152.9zm-673 138.4a47.6 47.6 0 01-65.2-17.6c-13.2-22.9-5.4-52.3 17.5-65.5a47.6 47.6 0 0165.2 17.6c13.2 22.9 5.4 52.3-17.5 65.5zM522 463.8zM464 234a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm170 446.2l-122 70.3-122-70.3V539.8l122-70.3 122 70.3v140.4zm239.9 133.9c-13.2 22.9-42.4 30.8-65.2 17.6-22.8-13.2-30.7-42.6-17.5-65.5s42.4-30.8 65.2-17.6c22.9 13.2 30.7 42.5 17.5 65.5z\"\n }\n }]\n },\n \"name\": \"deployment-unit\",\n \"theme\": \"outlined\"\n};\nexport default DeploymentUnitOutlined;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DeploymentUnitOutlinedSvg from \"@ant-design/icons-svg/es/asn/DeploymentUnitOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar DeploymentUnitOutlined = function DeploymentUnitOutlined(props, ref) {\n return React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: DeploymentUnitOutlinedSvg\n }));\n};\n\nDeploymentUnitOutlined.displayName = 'DeploymentUnitOutlined';\nexport default React.forwardRef(DeploymentUnitOutlined);","// This icon file is generated automatically.\nvar DotChartOutlined = {\n \"icon\": {\n \"tag\": \"svg\",\n \"attrs\": {\n \"viewBox\": \"64 64 896 896\",\n \"focusable\": \"false\"\n },\n \"children\": [{\n \"tag\": \"path\",\n \"attrs\": {\n \"d\": \"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z\"\n }\n }]\n },\n \"name\": \"dot-chart\",\n \"theme\": \"outlined\"\n};\nexport default DotChartOutlined;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DotChartOutlinedSvg from \"@ant-design/icons-svg/es/asn/DotChartOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar DotChartOutlined = function DotChartOutlined(props, ref) {\n return React.createElement(AntdIcon, Object.assign({}, props, {\n ref: ref,\n icon: DotChartOutlinedSvg\n }));\n};\n\nDotChartOutlined.displayName = 'DotChartOutlined';\nexport default React.forwardRef(DotChartOutlined);","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}","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 _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import _defineProperty from \"/home/runner/work/superset/superset/docs/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"/home/runner/work/superset/superset/docs/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/home/runner/work/superset/superset/docs/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"/home/runner/work/superset/superset/docs/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"/home/runner/work/superset/superset/docs/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/home/runner/work/superset/superset/docs/node_modules/babel-preset-gatsby/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\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\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\n\nvar GitHubButton = /*#__PURE__*/function (_PureComponent) {\n _inherits(GitHubButton, _PureComponent);\n\n var _super = _createSuper(GitHubButton);\n\n function GitHubButton(props) {\n var _this;\n\n _classCallCheck(this, GitHubButton);\n\n _this = _super.call(this, props);\n _this.$ = React.createRef();\n _this._ = React.createRef();\n return _this;\n }\n\n _createClass(GitHubButton, [{\n key: \"render\",\n value: function render() {\n return React.createElement('span', {\n ref: this.$\n }, React.createElement('a', _objectSpread(_objectSpread({}, this.props), {}, {\n ref: this._\n }), this.props.children));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.paint();\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate() {\n this.reset();\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.paint();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.reset();\n }\n }, {\n key: \"paint\",\n value: function paint() {\n var _this2 = this;\n\n var _ = this.$.current.appendChild(document.createElement('span'));\n\n import(\n /* webpackMode: \"eager\" */\n 'github-buttons').then(function (_ref) {\n var render = _ref.render;\n render(_.appendChild(_this2._.current), function (el) {\n try {\n _.parentNode.replaceChild(el, _);\n } catch (_) {}\n });\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.$.current.replaceChild(this._.current, this.$.current.lastChild);\n }\n }]);\n\n return GitHubButton;\n}(PureComponent);\n\nexport default GitHubButton;","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { useStaticQuery, graphql } from 'gatsby';\nimport Img from 'gatsby-image';\n\ninterface Props {\n imageName?: string;\n}\n\nconst DbImage = ({ imageName }: Props) => {\n const data = useStaticQuery(graphql`\n query {\n allImages: allFile(filter: {relativeDirectory: {eq: \"src/images/databases\"}}) {\n edges {\n node {\n childImageSharp {\n fixed(height: 50) {\n ...GatsbyImageSharpFixed\n originalName\n }\n }\n }\n }\n }\n }\n `);\n const images = data.allImages.edges.map((img) => img.node?.childImageSharp?.fixed);\n const filter = images.filter((img) => img?.originalName === imageName);\n return <Img fixed={filter[0]} />;\n};\n\nexport default DbImage;\n","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React, { useRef, useState } from 'react';\nimport { theme, useConfig } from 'docz';\nimport { Link } from 'gatsby';\nimport { ThemeProvider } from 'theme-ui';\nimport {\n Button, Col, Row, Carousel,\n} from 'antd';\nimport { css } from '@emotion/core';\nimport { supersetTheme } from '@superset-ui/style';\nimport {\n DeploymentUnitOutlined,\n FireOutlined,\n DotChartOutlined,\n DatabaseOutlined,\n} from '@ant-design/icons';\nimport GitHubButton from 'react-github-btn';\n\nimport { Databases } from '../resources/data';\nimport Layout from '../components/layout';\nimport DbImage from '../components/DbImage';\nimport 'antd/dist/antd.css';\nimport SEO from '../components/seo';\nimport logo from '../images/superset-logo-horiz-apache.svg';\nimport { mq } from '../utils';\n\nconst { colors } = supersetTheme;\n\nconst mainPageStyle = css`\n text-align: center;\n .alert {\n color: ${colors.alert.base};\n }\n .error {\n color: ${colors.error.base};\n }\n .warning {\n color: ${colors.warning.base};\n }\n .info {\n color: ${colors.info.base};\n }\n .success {\n color: ${colors.success.base};\n }\n .secondary {\n color: ${colors.secondary.base};\n }\n .info-text {\n font-size: 32px;\n font-weight: normal;\n max-width: 600px;\n margin: auto;\n }\n .info-text-smaller {\n font-size: 24px;\n max-width: 800px;\n }\n`;\n\nconst titleContainer = css`\n position: relative;\n padding-top: 131px;\n padding-bottom: 80px;\n padding-left: 20px;\n padding-right: 20px;\n background-image: url('/images/data-point.jpg');\n background-size: cover;\n background-position-x: right;\n .github-section {\n margin-bottom: 40px;\n margin-top: 40px;\n .github-button {\n margin: 5px;\n }\n }\n .logo-horiz {\n margin-top: 20px;\n margin-bottom: 20px;\n width: 600px;\n max-width: 100%;\n ${[mq[3]]} {\n width: 550px;\n }\n ${[mq[2]]} {\n width: 450px;\n }\n ${[mq[1]]} {\n width: 425px;\n }\n ${[mq[0]]} {\n width: 400px;\n }\n }\n .alert {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n max-width: 600px;\n margin: 0 auto;\n padding: 0.75rem 1.25rem;\n margin-top: 83px;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n }\n`;\n\nconst secondaryHeading = css`\n font-size: 55px;\n text-align: center;\n`;\n\nconst featureSectionStyle = css`\n background: #fff;\n padding: 5vw 0;\n margin-top: 0px;\n margin-bottom: 30px;\n .featureList {\n padding: 40px;\n width: 100%;\n list-style-type: none;\n margin: 0 auto;\n max-width: 1000px;\n .feature {\n padding: 20px;\n text-align: center;\n margin-bottom: 40px;\n .imagePlaceHolder {\n svg {\n width: 70px;\n height: 70px;\n }\n margin-bottom: 15px;\n }\n .featureText {\n color: ${colors.grayscale.dark2};\n font-size: 16px;\n strong {\n font-size: 22px;\n }\n }\n }\n }\n .heading {\n font-size: 22px;\n margin: 0 auto;\n text-align: center;\n }\n`;\n\nconst integrationSection = css`\n background: white;\n margin-bottom: 64px;\n .databaseSub {\n text-align: center;\n display: block;\n margin-bottom: 40px;\n font-size: 18px;\n }\n\n .database-list {\n margin-top: 100px;\n list-style-type: none;\n padding: 0px;\n max-width: 1000px;\n margin: 0 auto;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n margin-bottom: 50px;\n li {\n padding: 15px;\n }\n }\n`;\n\nconst linkCarousel = css`\n .toggleContainer {\n display: flex;\n flex-direction: column;\n margin-bottom: 100px;\n position: relative;\n .toggleBtns {\n display: flex;\n flex-direction: row;\n /* ${[mq[0]]} {\n flex-direction: column;\n } */\n justify-content: center;\n .toggle {\n margin: 10px;\n color: #666;\n border: 1px solid #888;\n background-color: #20a7c911;\n border-radius: 3px;\n padding: 16px;\n transition: all 0.25s;\n overflow: visible;\n ${[mq[0]]} {\n > span {\n display: none;\n position: absolute;\n bottom: 0px;\n left: 50%;\n width: 100%;\n transform: translate(-50%, 100%);\n }\n h2 {\n font-size: 14px;\n margin: 0;\n }\n }\n &:hover {\n cursor: pointer;\n color: ${colors.primary.base};\n border: 1px solid ${colors.primary.base};\n }\n &.active {\n background: red;\n background: #20a7c933;\n ${[mq[0]]} {\n > span {\n display: block;\n }\n }\n }\n }\n }\n .imageContainer {\n img {\n margin: 0 auto;\n width: 80%;\n box-shadow: 0 0 3px #aaa;\n margin-top: 5px;\n margin-bottom: 5px;\n }\n }\n }\n`;\ninterface featureProps {\n icon: React.ReactNode,\n title: string,\n descr: string,\n}\nconst Feature = ({ icon, title, descr }: featureProps) => (\n <li className=\"feature\">\n <div className=\"imagePlaceHolder\">\n {icon}\n </div>\n <div className=\"featureText\">\n <h3>{title}</h3>\n {descr}\n </div>\n </li>\n);\n\nconst Theme = () => {\n const config = useConfig();\n const slider = useRef(null);\n\n const [slideIndex, setSlideIndex] = useState(0);\n\n const onChange = (index) => {\n setSlideIndex(index);\n };\n\n return (\n <ThemeProvider theme={config}>\n <SEO title=\"Superset\" />\n <Layout>\n <div css={mainPageStyle}>\n <div css={titleContainer}>\n <img className=\"logo-horiz\" src={logo} alt=\"logo-horiz\" />\n <div className=\"info-text\">\n Apache Superset is a modern data exploration and visualization\n platform\n </div>\n <div className=\"github-section\">\n <span className=\"github-button\">\n <GitHubButton\n href=\"https://github.com/apache/superset\"\n data-size=\"large\"\n data-show-count=\"true\"\n aria-label=\"Star apache/superset on GitHub\"\n >\n Star\n </GitHubButton>\n </span>\n <span className=\"github-button\">\n <GitHubButton\n href=\"https://github.com/apache/superset/subscription\"\n data-size=\"large\"\n data-show-count=\"true\"\n aria-label=\"Watch apache/superset on GitHub\"\n >\n Watch\n </GitHubButton>\n </span>\n <span className=\"github-button\">\n <GitHubButton\n href=\"https://github.com/apache/superset/fork\"\n data-size=\"large\"\n data-show-count=\"true\"\n aria-label=\"Fork apache/superset on GitHub\"\n >\n Fork\n </GitHubButton>\n </span>\n </div>\n <div>\n <Link to=\"/docs/intro\">\n <Button type=\"primary\" size=\"medium\">\n Get Started\n </Button>\n </Link>\n </div>\n </div>\n\n <div css={featureSectionStyle}>\n <h2 css={secondaryHeading}>Overview</h2>\n <div className=\"info-text info-text-smaller\">\n Superset is fast, lightweight, intuitive, and loaded with options\n that make it easy for users of all skill sets to explore and\n visualize their data, from simple line charts to highly detailed\n geospatial charts.\n </div>\n <ul className=\"featureList ant-row\">\n <Row>\n <Col sm={24} md={12}>\n <Feature\n icon={<FireOutlined className=\"warning\" />}\n title=\"Powerful yet easy to use\"\n descr={`\n Quickly and easily integrate and explore your data, using\n either our simple no-code viz builder or state of the art SQL\n IDE.\n `}\n />\n </Col>\n\n <Col sm={24} md={12}>\n <Feature\n icon={<DatabaseOutlined className=\"info\" />}\n title=\"Integrates with modern databases\"\n descr={`\n Superset can connect to any SQL based datasource\n through SQLAlchemy, including modern cloud native databases\n and engines at petabyte scale.\n `}\n />\n </Col>\n </Row>\n <Row>\n <Col sm={24} md={12}>\n <Feature\n icon={<DeploymentUnitOutlined className=\"success\" />}\n title=\"Modern architecture\"\n descr={`\n Superset is lightweight and highly scalable, leveraging the\n power of your existing data infrastructure without requiring\n yet another ingestion layer.\n `}\n />\n </Col>\n <Col sm={24} md={12}>\n <Feature\n icon={<DotChartOutlined className=\"alert\" />}\n title=\"Rich visualizations and dashboards\"\n descr={`\n Superset ships with a wide array of beautiful visualizations.\n Our visualization plug-in architecture makes it easy to build\n custom visualizations that drop directly into Superset.\n `}\n />\n </Col>\n </Row>\n </ul>\n </div>\n\n <div css={linkCarousel}>\n <h2 css={secondaryHeading}>Explore</h2>\n <div className=\"toggleContainer\">\n <div className=\"toggleBtns\">\n <div\n className={`toggle ${slideIndex === 0 ? 'active' : null}`}\n onClick={() => slider.current.goTo(0)}\n role=\"button\"\n >\n <h2>Explore</h2>\n <span>\n Explore your data using the array of data visualizations.\n </span>\n </div>\n\n <div\n className={`toggle ${slideIndex === 1 ? 'active' : null}`}\n onClick={() => slider.current.goTo(1)}\n role=\"button\"\n >\n <h2>View</h2>\n <span>View your data through interactive dashboards</span>\n </div>\n <div\n className={`toggle ${slideIndex === 2 ? 'active' : null}`}\n onClick={() => slider.current.goTo(2)}\n role=\"button\"\n >\n <h2>Investigate</h2>\n <span>Use SQL Lab to write queries to explore your data</span>\n </div>\n </div>\n <Carousel ref={slider} effect=\"scrollx\" afterChange={onChange}>\n <div className=\"imageContainer\">\n <img src=\"/images/explorer5.jpg\" alt=\"\" />\n </div>\n <div className=\"imageContainer\">\n <img src=\"/images/dashboard3.png\" alt=\"\" />\n </div>\n <div className=\"imageContainer\">\n <img src=\"/images/sqllab5.jpg\" alt=\"\" />\n </div>\n </Carousel>\n </div>\n <div css={integrationSection}>\n <h2 css={secondaryHeading}>Supported Databases</h2>\n\n <ul className=\"database-list\">\n {Databases.map(\n ({\n title, imgName: imageName, width, height,\n }) => (\n <li>\n <DbImage\n {...{\n imageName,\n width,\n height,\n alt: title,\n }}\n />\n </li>\n ),\n )}\n </ul>\n <span className=\"databaseSub\">\n ... and many other\n <a href=\"docs/databases/installing-database-drivers\">\n {' '}\n compatible databases\n {' '}\n </a>\n </span>\n </div>\n </div>\n </div>\n </Layout>\n </ThemeProvider>\n );\n};\n\n// @ts-ignore\nexport default theme()(Theme);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar Slider = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(Slider, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(Slider);\n\n function Slider(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Slider);\n _this = _super.call(this, props);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n var mql = window.matchMedia(query);\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n if (matches) {\n handler();\n }\n };\n\n mql.addListener(listener);\n listener(mql);\n\n this._responsiveMediaHandlers.push({\n mql: mql,\n query: query,\n listener: listener\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this; // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n\n\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n obj.mql.removeListener(obj.listener);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _defaultProps[\"default\"]), this.props), newProps[0].settings);\n } else {\n settings = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _defaultProps[\"default\"]), this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push( /*#__PURE__*/_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(_innerSlider.InnerSlider, (0, _extends2[\"default\"])({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots = /*#__PURE__*/function (_React$PureComponent) {\n (0, _inherits2[\"default\"])(Dots, _React$PureComponent);\n\n var _super = (0, _createSuper2[\"default\"])(Dots);\n\n function Dots() {\n (0, _classCallCheck2[\"default\"])(this, Dots);\n return _super.apply(this, arguments);\n }\n\n (0, _createClass2[\"default\"])(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave,\n infinite = _this$props.infinite,\n slidesToScroll = _this$props.slidesToScroll,\n slidesToShow = _this$props.slidesToShow,\n slideCount = _this$props.slideCount,\n currentSlide = _this$props.currentSlide;\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = [];\n\n for (var i = 0; i < dotCount; i++) {\n var _rightBound = (i + 1) * slidesToScroll - 1;\n\n var rightBound = infinite ? _rightBound : (0, _innerSliderUtils.clamp)(_rightBound, 0, slideCount - 1);\n\n var _leftBound = rightBound - (slidesToScroll - 1);\n\n var leftBound = infinite ? _leftBound : (0, _innerSliderUtils.clamp)(_leftBound, 0, slideCount - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n var onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat( /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, /*#__PURE__*/_react[\"default\"].cloneElement(this.props.customPaging(i), {\n onClick: onClick\n })));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(this.props.appendDots(dots), (0, _objectSpread2[\"default\"])({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","module.exports = __webpack_public_path__ + \"static/superset-logo-horiz-apache-ac1a91de27eed9f5c53944c555a39c6f.svg\";","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _debounce = _interopRequireDefault(require(\"lodash/debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nvar InnerSlider = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(InnerSlider, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(InnerSlider);\n\n function InnerSlider(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, InnerSlider);\n _this = _super.call(this, props);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"componentDidMount\", function () {\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n\n var spec = (0, _objectSpread2[\"default\"])({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n _this.ro.disconnect();\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"componentDidUpdate\", function (prevProps) {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n\n var spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n var setTrackStyle = _this.didPropsChange(prevProps);\n\n setTrackStyle && _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(_this.props.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(_this.props.children) - _this.props.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (prevProps.autoplay !== _this.props.autoplay || prevProps.autoplaySpeed !== _this.props.autoplaySpeed) {\n if (_this.props.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n }\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _debounce[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering)\n\n if (!isTrackMounted) return;\n var spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), updatedState), {}, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, spec), {}, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n\n for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n return {\n trackStyle: _trackStyle\n };\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state), {}, {\n slideCount: childrenCount\n });\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"checkImagesLoad\", function () {\n var images = _this.list.querySelectorAll(\".slick-slide img\");\n\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n var spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = (0, _innerSliderUtils.slideHandler)((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({\n index: index\n }, _this.props), _this.state), {}, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n if (!_this.props.waitForAnimate && _this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete _this.animationEndCallback;\n }\n\n _this.setState(state, function () {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && _this.asNavForIndex !== index) {\n _this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = (0, _objectWithoutProperties2[\"default\"])(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state);\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n\n if (_this.props.focusOnSelect) {\n var nodes = _this.list.querySelectorAll(\".slick-current\");\n\n nodes[0] && nodes[0].focus();\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"touchEnd\", function (e) {\n _this.swipeEnd(e);\n\n _this.clickable = true;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)((0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n var spec = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.props), _this.state);\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\", \"targetSlide\", \"useCSS\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, trackProps), {}, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect && _this.clickable ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, dotProps), {}, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = /*#__PURE__*/_react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, verticalHeightStyle), centerPaddingStyle);\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.touchEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", /*#__PURE__*/_react[\"default\"].createElement(\"div\", (0, _extends2[\"default\"])({\n ref: _this.listRefHandler\n }, listProps), /*#__PURE__*/_react[\"default\"].createElement(_track.Track, (0, _extends2[\"default\"])({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n _this.list = null;\n _this.track = null;\n _this.state = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _initialState[\"default\"]), {}, {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n\n var ssrState = _this.ssrInit();\n\n _this.state = (0, _objectSpread2[\"default\"])((0, _objectSpread2[\"default\"])({}, _this.state), ssrState);\n return _this;\n }\n\n (0, _createClass2[\"default\"])(InnerSlider, [{\n key: \"didPropsChange\",\n value: function didPropsChange(prevProps) {\n var setTrackStyle = false;\n\n for (var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3]; // eslint-disable-next-line no-prototype-builtins\n\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if ((0, _typeof2[\"default\"])(prevProps[key]) === \"object\" || typeof prevProps[key] === \"function\") {\n continue;\n }\n\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n return setTrackStyle || _react[\"default\"].Children.count(this.props.children) !== _react[\"default\"].Children.count(prevProps.children);\n }\n }]);\n return InnerSlider;\n}(_react[\"default\"].Component);\n\nexports.InnerSlider = InnerSlider;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.supersetTheme = exports.styled = exports.css = exports.withTheme = exports.ThemeProvider = exports.useTheme = void 0;\n\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\n\nvar _emotionTheming = require(\"emotion-theming\");\n\nexports.useTheme = _emotionTheming.useTheme;\nexports.ThemeProvider = _emotionTheming.ThemeProvider;\nexports.withTheme = _emotionTheming.withTheme;\n\nvar _core = require(\"@emotion/core\");\n\nexports.css = _core.css;\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n\nvar defaultTheme = {\n borderRadius: 4,\n colors: {\n primary: {\n base: '#20A7C9',\n dark1: '#1A85A0',\n dark2: '#156378',\n light1: '#79CADE',\n light2: '#A5DAE9',\n light3: '#D2EDF4',\n light4: '#E9F6F9',\n light5: '#F3F8FA'\n },\n secondary: {\n base: '#444E7C',\n dark1: '#363E63',\n dark2: '#282E4A',\n dark3: '#1B1F31',\n light1: '#8E94B0',\n light2: '#B4B8CA',\n light3: '#D9DBE4',\n light4: '#ECEEF2',\n light5: '#F5F5F8'\n },\n grayscale: {\n base: '#666666',\n dark1: '#323232',\n dark2: '#000000',\n light1: '#B2B2B2',\n light2: '#E0E0E0',\n light3: '#F0F0F0',\n light4: '#F7F7F7',\n light5: '#FFFFFF'\n },\n error: {\n base: '#E04355',\n dark1: '#A7323F',\n dark2: '#6F212A',\n light1: '#EFA1AA',\n light2: '#FAEDEE'\n },\n warning: {\n base: '#FF7F44',\n dark1: '#BF5E33',\n dark2: '#7F3F21',\n light1: '#FEC0A1',\n light2: '#FFF2EC'\n },\n alert: {\n base: '#FCC700',\n dark1: '#BC9501',\n dark2: '#7D6300',\n light1: '#FDE380',\n light2: '#FEF9E6'\n },\n success: {\n base: '#5AC189',\n dark1: '#439066',\n dark2: '#2B6144',\n light1: '#ACE1C4',\n light2: '#EEF8F3'\n },\n info: {\n base: '#66BCFE',\n dark1: '#4D8CBE',\n dark2: '#315E7E',\n light1: '#B3DEFE',\n light2: '#EFF8FE'\n }\n },\n opacity: {\n light: '10%',\n mediumLight: '35%',\n mediumHeavy: '60%',\n heavy: '80%'\n },\n typography: {\n families: {\n sansSerif: \"'Inter', Helvetica, Arial\",\n serif: \"Georgia, 'Times New Roman', Times, serif\",\n monospace: \"'Fira Code', 'Courier New', monospace\"\n },\n weights: {\n light: 200,\n normal: 400,\n bold: 700\n },\n sizes: {\n xxs: 9,\n xs: 10,\n s: 12,\n m: 14,\n l: 16,\n xl: 21,\n xxl: 28\n }\n },\n zIndex: {\n aboveDashboardCharts: 10,\n dropdown: 11,\n max: 3000\n },\n transitionTiming: 0.3,\n gridUnit: 4\n};\nvar styled = _styled.default;\nexports.styled = styled;\nvar supersetTheme = defaultTheme;\nexports.supersetTheme = supersetTheme;\nvar _default = styled;\nexports.default = _default;","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function isDimension(feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function obj2mq(obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature); // Add px to dimension features\n\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n\n if (index < features.length - 1) {\n mq += ' and ';\n }\n });\n return mq;\n};\n\nvar json2mq = function json2mq(query) {\n var mq = '';\n\n if (typeof query === 'string') {\n return query;\n } // Handling array of media queries\n\n\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n\n if (index < query.length - 1) {\n mq += ', ';\n }\n });\n return mq;\n } // Handling single media query\n\n\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","/*!\n * github-buttons v2.14.0\n * (c) 2020 なつき\n * @license BSD-2-Clause\n */\nvar document = window.document;\nvar Math = window.Math;\nvar HTMLElement = window.HTMLElement;\nvar XMLHttpRequest = window.XMLHttpRequest;\n\nvar createElementInDocument = function createElementInDocument(document) {\n return function (tag, props, children) {\n var el = document.createElement(tag);\n\n if (props != null) {\n for (var prop in props) {\n var val = props[prop];\n\n if (val != null) {\n if (el[prop] != null) {\n el[prop] = val;\n } else {\n el.setAttribute(prop, val);\n }\n }\n }\n }\n\n if (children != null) {\n for (var i = 0, len = children.length; i < len; i++) {\n var child = children[i];\n el.appendChild(typeof child === 'string' ? document.createTextNode(child) : child);\n }\n }\n\n return el;\n };\n};\n\nvar createElement = createElementInDocument(document);\n\nvar dispatchOnce = function dispatchOnce(func) {\n var onceToken;\n return function () {\n if (!onceToken) {\n onceToken = 1;\n func.apply(this, arguments);\n }\n };\n};\n\nvar hasOwnProperty = function hasOwnProperty(obj, prop) {\n return {}.hasOwnProperty.call(obj, prop);\n};\n\nvar toLowerCase = function toLowerCase(obj) {\n return ('' + obj).toLowerCase();\n};\n\nvar name = \"github-buttons\";\nvar version = \"2.14.0\";\nvar iframeURL = 'https://' + (\n/* istanbul ignore next */\n'unpkg.com/' + name + '@' + version + '/dist') + '/buttons.html';\nvar domain = 'github.com';\nvar apiBaseURL = 'https://api.' + domain;\nvar useXHR = XMLHttpRequest && 'prototype' in XMLHttpRequest && 'withCredentials' in XMLHttpRequest.prototype;\nvar useShadowDOM = useXHR && HTMLElement && 'attachShadow' in HTMLElement.prototype && !('prototype' in HTMLElement.prototype.attachShadow);\n\nvar onEvent = function onEvent(target, eventName, func) {\n /* istanbul ignore else: IE lt 9 */\n if (target.addEventListener) {\n target.addEventListener(eventName, func, false);\n } else {\n target.attachEvent('on' + eventName, func);\n }\n};\n\nvar offEvent = function offEvent(target, eventName, func) {\n /* istanbul ignore else: IE lt 9 */\n if (target.removeEventListener) {\n target.removeEventListener(eventName, func, false);\n } else {\n target.detachEvent('on' + eventName, func);\n }\n};\n\nvar onceEvent = function onceEvent(target, eventName, func) {\n var callback = function callback() {\n offEvent(target, eventName, callback);\n return func.apply(this, arguments);\n };\n\n onEvent(target, eventName, callback);\n};\n\nvar onceReadyStateChange =\n/* istanbul ignore next: IE lt 9 */\nfunction onceReadyStateChange(target, regex, func) {\n var eventName = 'readystatechange';\n\n var callback = function callback() {\n if (regex.test(target.readyState)) {\n offEvent(target, eventName, callback);\n return func.apply(this, arguments);\n }\n };\n\n onEvent(target, eventName, callback);\n};\n\nvar parseOptions = function parseOptions(anchor) {\n var options = {\n href: anchor.href,\n title: anchor.title,\n 'aria-label': anchor.getAttribute('aria-label')\n };\n var ref = ['icon', 'color-scheme', 'text', 'size', 'show-count'];\n\n for (var i = 0, len = ref.length; i < len; i++) {\n var attribute = 'data-' + ref[i];\n options[attribute] = anchor.getAttribute(attribute);\n }\n\n if (options['data-text'] == null) {\n options['data-text'] = anchor.textContent || anchor.innerText;\n }\n\n return options;\n};\n\nvar buttonsCssText = \"body{margin:0}a{text-decoration:none;outline:0}.widget{display:inline-block;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:0;line-height:0;white-space:nowrap}.btn,.social-count{position:relative;display:inline-block;height:14px;padding:2px 5px;font-size:11px;font-weight:600;line-height:14px;vertical-align:bottom;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-repeat:repeat-x;background-position:-1px -1px;background-size:110% 110%;border:1px solid}.btn{border-radius:.25em}.btn:not(:last-child){border-radius:.25em 0 0 .25em}.social-count{border-left:0;border-radius:0 .25em .25em 0}.widget-lg .btn,.widget-lg .social-count{height:20px;padding:3px 10px;font-size:12px;line-height:20px}.octicon{display:inline-block;vertical-align:text-top;fill:currentColor}\";\nvar light = \".btn{color:#24292e;background-color:#eff3f6;border-color:#c5c9cc;border-color:rgba(27,31,35,.2);background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23fafbfc'/%3e%3cstop offset='90%25' stop-color='%23eff3f6'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e\\\");background-image:-moz-linear-gradient(top, #fafbfc, #eff3f6 90%);background-image:linear-gradient(180deg, #fafbfc, #eff3f6 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr='#FFFAFBFC', endColorstr='#FFEEF2F5')}:root .btn{filter:none}.btn:focus,.btn:hover{background-color:#e6ebf1;background-position:-0.5em;border-color:#9fa4a9;border-color:rgba(27,31,35,.35);background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f0f3f6'/%3e%3cstop offset='90%25' stop-color='%23e6ebf1'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e\\\");background-image:-moz-linear-gradient(top, #f0f3f6, #e6ebf1 90%);background-image:linear-gradient(180deg, #f0f3f6, #e6ebf1 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr='#FFF0F3F6', endColorstr='#FFE5EAF0')}:root .btn:focus,:root .btn:hover{filter:none}.btn:active{background-color:#e9ecef;border-color:#a1a4a8;border-color:rgba(27,31,35,.35);box-shadow:inset 0 .15em .3em rgba(27,31,35,.15);background-image:none;filter:none}.social-count{color:#24292e;background-color:#fff;border-color:#d1d2d3;border-color:rgba(27,31,35,.2)}.social-count:focus,.social-count:hover{color:#0366d6}.octicon-heart{color:#ea4aaa}\";\nvar dark = \".btn{color:#fafbfc;background-color:#202428;border-color:#1f2327;border-color:rgba(27,31,35,.2);background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%232f363d'/%3e%3cstop offset='90%25' stop-color='%23202428'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e\\\");background-image:-moz-linear-gradient(top, #2f363d, #202428 90%);background-image:linear-gradient(180deg, #2f363d, #202428 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr='#FF2F363D', endColorstr='#FF1E2226')}:root .btn{filter:none}.btn:focus,.btn:hover{background-color:#1b1f23;background-position:-0.5em;border-color:#1b1f23;border-color:rgba(27,31,35,.5);background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%232b3137'/%3e%3cstop offset='90%25' stop-color='%231b1f23'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e\\\");background-image:-moz-linear-gradient(top, #2b3137, #1b1f23 90%);background-image:linear-gradient(180deg, #2b3137, #1b1f23 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr='#FF2B3137', endColorstr='#FF191D21')}:root .btn:focus,:root .btn:hover{filter:none}.btn:active{background-color:#181b1f;border-color:#1a1d21;border-color:rgba(27,31,35,.5);box-shadow:inset 0 .15em .3em rgba(27,31,35,.15);background-image:none;filter:none}.social-count{color:#fafbfc;background-color:#1b1f23;border-color:#1b1f23;border-color:rgba(27,31,35,.2)}.social-count:focus,.social-count:hover{color:#2188ff}.octicon-heart{color:#ec6cb9}\";\n\nvar stringify = function stringify(obj, sep, eq, encodeURIComponent) {\n if (sep == null) {\n sep = '&';\n }\n\n if (eq == null) {\n eq = '=';\n }\n\n if (encodeURIComponent == null) {\n encodeURIComponent = window.encodeURIComponent;\n }\n\n var params = [];\n\n for (var name in obj) {\n var value = obj[name];\n\n if (value != null) {\n params.push(encodeURIComponent(name) + eq + encodeURIComponent(value));\n }\n }\n\n return params.join(sep);\n};\n\nvar parse = function parse(str, sep, eq, decodeURIComponent) {\n if (sep == null) {\n sep = '&';\n }\n\n if (eq == null) {\n eq = '=';\n }\n\n if (decodeURIComponent == null) {\n decodeURIComponent = window.decodeURIComponent;\n }\n\n var obj = {};\n var params = str.split(sep);\n\n for (var i = 0, len = params.length; i < len; i++) {\n var entry = params[i];\n\n if (entry !== '') {\n var ref = entry.split(eq);\n obj[decodeURIComponent(ref[0])] = ref[1] != null ? decodeURIComponent(ref.slice(1).join(eq)) : undefined;\n }\n }\n\n return obj;\n};\n\nvar widgetColorSchemes = {\n light: light,\n dark: dark\n};\n\nvar getColorSchemeMediaQuery = function getColorSchemeMediaQuery(systemColorScheme, widgetColorScheme) {\n return '@media(prefers-color-scheme:' + systemColorScheme + '){' + widgetColorSchemes[hasOwnProperty(widgetColorSchemes, widgetColorScheme) ? widgetColorScheme : systemColorScheme] + '}';\n};\n\nvar getColorScheme = function getColorScheme(declarations) {\n if (declarations == null) {\n return widgetColorSchemes.light;\n }\n\n if (hasOwnProperty(widgetColorSchemes, declarations)) {\n return widgetColorSchemes[declarations];\n }\n\n var colorSchemes = parse(declarations, ';', ':', function (str) {\n return str.replace(/^[ \\t\\n\\f\\r]+|[ \\t\\n\\f\\r]+$/g, '');\n });\n return widgetColorSchemes[hasOwnProperty(widgetColorSchemes, colorSchemes['no-preference']) ? colorSchemes['no-preference'] : 'light'] + getColorSchemeMediaQuery('light', colorSchemes.light) + getColorSchemeMediaQuery('dark', colorSchemes.dark);\n};\n\nvar data = {\n \"mark-github\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z\\\"></path>\"\n }\n }\n },\n \"heart\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.565 20.565 0 008 13.393a20.561 20.561 0 003.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.75.75 0 01-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5zM8 14.25l-.345.666-.002-.001-.006-.003-.018-.01a7.643 7.643 0 01-.31-.17 22.075 22.075 0 01-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.08 22.08 0 01-3.744 2.584l-.018.01-.006.003h-.002L8 14.25zm0 0l.345.666a.752.752 0 01-.69 0L8 14.25z\\\"></path>\"\n }\n }\n },\n \"eye\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M1.679 7.932c.412-.621 1.242-1.75 2.366-2.717C5.175 4.242 6.527 3.5 8 3.5c1.473 0 2.824.742 3.955 1.715 1.124.967 1.954 2.096 2.366 2.717a.119.119 0 010 .136c-.412.621-1.242 1.75-2.366 2.717C10.825 11.758 9.473 12.5 8 12.5c-1.473 0-2.824-.742-3.955-1.715C2.92 9.818 2.09 8.69 1.679 8.068a.119.119 0 010-.136zM8 2c-1.981 0-3.67.992-4.933 2.078C1.797 5.169.88 6.423.43 7.1a1.619 1.619 0 000 1.798c.45.678 1.367 1.932 2.637 3.024C4.329 13.008 6.019 14 8 14c1.981 0 3.67-.992 4.933-2.078 1.27-1.091 2.187-2.345 2.637-3.023a1.619 1.619 0 000-1.798c-.45-.678-1.367-1.932-2.637-3.023C11.671 2.992 9.981 2 8 2zm0 8a2 2 0 100-4 2 2 0 000 4z\\\"></path>\"\n }\n }\n },\n \"star\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z\\\"></path>\"\n }\n }\n },\n \"repo-forked\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M5 3.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm0 2.122a2.25 2.25 0 10-1.5 0v.878A2.25 2.25 0 005.75 8.5h1.5v2.128a2.251 2.251 0 101.5 0V8.5h1.5a2.25 2.25 0 002.25-2.25v-.878a2.25 2.25 0 10-1.5 0v.878a.75.75 0 01-.75.75h-4.5A.75.75 0 015 6.25v-.878zm3.75 7.378a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm3-8.75a.75.75 0 100-1.5.75.75 0 000 1.5z\\\"></path>\"\n }\n }\n },\n \"repo-template\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M6 .75A.75.75 0 016.75 0h2.5a.75.75 0 010 1.5h-2.5A.75.75 0 016 .75zm5 0a.75.75 0 01.75-.75h1.5a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V1.5h-.75A.75.75 0 0111 .75zM4.992.662a.75.75 0 01-.636.848c-.436.063-.783.41-.846.846a.75.75 0 01-1.485-.212A2.501 2.501 0 014.144.025a.75.75 0 01.848.637zM2.75 4a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 012.75 4zm10.5 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5a.75.75 0 01.75-.75zM2.75 8a.75.75 0 01.75.75v.268A1.72 1.72 0 013.75 9h.5a.75.75 0 010 1.5h-.5a.25.25 0 00-.25.25v.75c0 .28.114.532.3.714a.75.75 0 01-1.05 1.072A2.495 2.495 0 012 11.5V8.75A.75.75 0 012.75 8zm10.5 0a.75.75 0 01.75.75v4.5a.75.75 0 01-.75.75h-2.5a.75.75 0 010-1.5h1.75v-2h-.75a.75.75 0 010-1.5h.75v-.25a.75.75 0 01.75-.75zM6 9.75A.75.75 0 016.75 9h2.5a.75.75 0 010 1.5h-2.5A.75.75 0 016 9.75zm-1 2.5v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z\\\"></path>\"\n }\n }\n },\n \"issue-opened\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zm-.25-6.25a.75.75 0 00-1.5 0v3.5a.75.75 0 001.5 0v-3.5z\\\"></path>\"\n }\n }\n },\n \"download\": {\n \"heights\": {\n \"16\": {\n \"width\": 16,\n \"path\": \"<path fill-rule=\\\"evenodd\\\" d=\\\"M7.47 10.78a.75.75 0 001.06 0l3.75-3.75a.75.75 0 00-1.06-1.06L8.75 8.44V1.75a.75.75 0 00-1.5 0v6.69L4.78 5.97a.75.75 0 00-1.06 1.06l3.75 3.75zM3.75 13a.75.75 0 000 1.5h8.5a.75.75 0 000-1.5h-8.5z\\\"></path>\"\n }\n }\n }\n};\n\nvar octicon = function octicon(icon, height) {\n icon = toLowerCase(icon).replace(/^octicon-/, '');\n\n if (!hasOwnProperty(data, icon)) {\n icon = 'mark-github';\n }\n\n var defaultHeight = height >= 24 &&\n /* istanbul ignore next */\n 24 in data[icon].heights ?\n /* istanbul ignore next */\n 24 : 16;\n var svg = data[icon].heights[defaultHeight];\n return '<svg viewBox=\"0 0 ' + svg.width + ' ' + defaultHeight + '\" width=\"' + height * svg.width / defaultHeight + '\" height=\"' + height + '\" class=\"octicon octicon-' + icon + '\" aria-hidden=\"true\">' + svg.path + '</svg>';\n};\n\nvar queues = {};\n\nvar fetch = function fetch(url, func) {\n var queue = queues[url] || (queues[url] = []);\n\n if (queue.push(func) > 1) {\n return;\n }\n\n var callback = dispatchOnce(function () {\n delete queues[url];\n\n while (func = queue.shift()) {\n func.apply(null, arguments);\n }\n });\n\n if (useXHR) {\n var xhr = new XMLHttpRequest();\n onEvent(xhr, 'abort', callback);\n onEvent(xhr, 'error', callback);\n onEvent(xhr, 'load', function () {\n var data;\n\n try {\n data = JSON.parse(this.responseText);\n } catch (error) {\n callback(error);\n return;\n }\n\n callback(this.status !== 200, data);\n });\n xhr.open('GET', url);\n xhr.send();\n } else {\n var contentWindow = this || window;\n\n contentWindow._ = function (json) {\n contentWindow._ = null;\n callback(json.meta.status !== 200, json.data);\n };\n\n var script = createElementInDocument(contentWindow.document)('script', {\n async: true,\n src: url + (url.indexOf('?') !== -1 ? '&' : '?') + 'callback=_'\n });\n\n var onloadend =\n /* istanbul ignore next: IE lt 9 */\n function onloadend() {\n if (contentWindow._) {\n contentWindow._({\n meta: {}\n });\n }\n };\n\n onEvent(script, 'load', onloadend);\n onEvent(script, 'error', onloadend);\n /* istanbul ignore if: IE lt 9 */\n\n if (script.readyState) {\n onceReadyStateChange(script, /de|m/, onloadend);\n }\n\n contentWindow.document.getElementsByTagName('head')[0].appendChild(script);\n }\n};\n\nvar render = function render(root, options, func) {\n var createElement = createElementInDocument(root.ownerDocument);\n var style = root.appendChild(createElement('style', {\n type: 'text/css'\n }));\n var cssText = buttonsCssText + getColorScheme(options['data-color-scheme']);\n /* istanbul ignore if: IE lt 9 */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = cssText;\n } else {\n style.appendChild(root.ownerDocument.createTextNode(cssText));\n }\n\n var isLarge = toLowerCase(options['data-size']) === 'large';\n var btn = createElement('a', {\n className: 'btn',\n href: options.href,\n rel: 'noopener',\n target: '_blank',\n title: options.title || undefined,\n 'aria-label': options['aria-label'] || undefined,\n innerHTML: octicon(options['data-icon'], isLarge ? 16 : 14)\n }, [' ', createElement('span', {}, [options['data-text'] || ''])]);\n var widget = root.appendChild(createElement('div', {\n className: 'widget' + (isLarge ? ' widget-lg' : '')\n }, [btn]));\n var hostname = btn.hostname.replace(/\\.$/, '');\n\n if (hostname.length < domain.length || ('.' + hostname).substring(hostname.length - domain.length) !== '.' + domain) {\n btn.removeAttribute('href');\n func(widget);\n return;\n }\n\n var path = (' /' + btn.pathname).split(/\\/+/);\n\n if ((hostname === domain || hostname === 'gist.' + domain) && path[3] === 'archive' || hostname === domain && path[3] === 'releases' && (path[4] === 'download' || path[4] === 'latest' && path[5] === 'download') || hostname === 'codeload.' + domain) {\n btn.target = '_top';\n }\n\n if (toLowerCase(options['data-show-count']) !== 'true' || hostname !== domain) {\n func(widget);\n return;\n }\n\n var href, property;\n\n if (!path[2] && path[1]) {\n property = 'followers';\n href = '?tab=followers';\n } else if (!path[3] && path[2]) {\n property = 'stargazers_count';\n href = '/stargazers';\n } else if (!path[4] && path[3] === 'subscription') {\n property = 'subscribers_count';\n href = '/watchers';\n } else if (!path[4] && path[3] === 'fork') {\n property = 'forks_count';\n href = '/network/members';\n } else if (path[3] === 'issues') {\n property = 'open_issues_count';\n href = '/issues';\n } else {\n func(widget);\n return;\n }\n\n var api = path[2] ? '/repos/' + path[1] + '/' + path[2] : '/users/' + path[1];\n fetch.call(this, apiBaseURL + api, function (error, json) {\n if (!error) {\n var data = json[property];\n widget.appendChild(createElement('a', {\n className: 'social-count',\n href: json.html_url + href,\n rel: 'noopener',\n target: '_blank',\n 'aria-label': data + ' ' + property.replace(/_count$/, '').replace('_', ' ').slice(0, data < 2 ? -1 : undefined) + ' on GitHub'\n }, [('' + data).replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')]));\n }\n\n func(widget);\n });\n};\n\nvar devicePixelRatio = window.devicePixelRatio ||\n/* istanbul ignore next */\n1;\n\nvar ceilPixel = function ceilPixel(px) {\n return (devicePixelRatio > 1 ? Math.ceil(Math.round(px * devicePixelRatio) / devicePixelRatio * 2) / 2 : Math.ceil(px)) || 0;\n};\n\nvar get = function get(el) {\n var width = el.offsetWidth;\n var height = el.offsetHeight;\n\n if (el.getBoundingClientRect) {\n var boundingClientRect = el.getBoundingClientRect();\n width = Math.max(width, ceilPixel(boundingClientRect.width));\n height = Math.max(height, ceilPixel(boundingClientRect.height));\n }\n\n return [width, height];\n};\n\nvar set = function set(el, size) {\n el.style.width = size[0] + 'px';\n el.style.height = size[1] + 'px';\n};\n\nvar render$1 = function render$1(options, func) {\n if (options == null || func == null) {\n return;\n }\n\n if (options.getAttribute) {\n options = parseOptions(options);\n }\n\n if (useShadowDOM) {\n var host = createElement('span');\n render(host.attachShadow({\n mode: 'closed'\n }), options, function () {\n func(host);\n });\n } else {\n var iframe = createElement('iframe', {\n src: 'javascript:0',\n title: options.title || undefined,\n allowtransparency: true,\n scrolling: 'no',\n frameBorder: 0\n });\n set(iframe, [0, 0]);\n iframe.style.border = 'none';\n\n var callback = function callback() {\n var contentWindow = iframe.contentWindow;\n var body;\n\n try {\n body = contentWindow.document.body;\n } catch (_)\n /* istanbul ignore next: IE 11 */\n {\n document.body.appendChild(iframe.parentNode.removeChild(iframe));\n return;\n }\n\n offEvent(iframe, 'load', callback);\n render.call(contentWindow, body, options, function (widget) {\n var size = get(widget);\n iframe.parentNode.removeChild(iframe);\n onceEvent(iframe, 'load', function () {\n set(iframe, size);\n });\n iframe.src = iframeURL + '#' + (iframe.name = stringify(options));\n func(iframe);\n });\n };\n\n onEvent(iframe, 'load', callback);\n document.body.appendChild(iframe);\n }\n};\n\nexport { render$1 as render };","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport React__default, { createElement, forwardRef } from 'react';\nimport { ThemeContext } from '@emotion/core';\nimport weakMemoize from '@emotion/weak-memoize';\nimport _extends from '@babel/runtime/helpers/extends';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\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(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(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _objectSpread({}, outerTheme, {}, theme);\n};\n\nvar createCacheWithTheme = weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\n\nvar ThemeProvider = function ThemeProvider(props) {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n });\n}; // should we change this to be forwardRef/withCSSContext style so it doesn't merge with props?\n\n\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n return createElement(ThemeContext.Consumer, null, function (theme) {\n return createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n });\n }; // $FlowFixMe\n\n\n var WithTheme = forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nfunction useTheme() {\n return React__default.useContext(ThemeContext);\n}\n\nexport { ThemeProvider, useTheme, withTheme };"],"sourceRoot":""}