{"version":3,"sources":["webpack:///./src/components/mBox.js","webpack:///./src/components/video.module.styl","webpack:///./node_modules/react-slick/lib/slider.js","webpack:///./src/components/mbox.module.styl","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/react-slick/lib/default-props.js","webpack:///./node_modules/string-convert/camel2hyphen.js","webpack:///./src/pages/index.module.styl","webpack:///./node_modules/enquire.js/src/Util.js","webpack:///./node_modules/react-slick/lib/arrows.js","webpack:///./node_modules/react-slick/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./src/components/slider.js","webpack:///./src/pages/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/react-slick/lib/track.js","webpack:///./node_modules/react-slick/lib/dots.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./src/components/me.module.styl","webpack:///./node_modules/enquire.js/src/index.js","webpack:///./node_modules/enquire.js/src/QueryHandler.js","webpack:///./src/components/cuplayer.js","webpack:///./src/components/slider.module.styl","webpack:///./node_modules/json2mq/index.js","webpack:///./src/components/video.js","webpack:///./node_modules/react-slick/lib/initial-state.js","webpack:///./node_modules/react-slick/lib/inner-slider.js","webpack:///./node_modules/enquire.js/src/MediaQuery.js","webpack:///./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack:///./node_modules/react-slick/lib/utils/innerSliderUtils.js"],"names":["MBox","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","_boxClick","this","props","img","src","cdn","onClick","render","video","fit","bgcolor","React","createElement","className","styles","mbox","style","backgroundColor","bind","filter","jsx","alt","childImageSharp","publicURL","Img","fluid","Video","vclass","poster","type","vid","Cuplayer","ratio","zoom","Component","module","exports","Object","defineProperty","value","_react","_interopRequireDefault","_innerSlider","_json2mq","_defaultProps","_innerSliderUtils","obj","__esModule","_typeof","Symbol","iterator","constructor","_extends","assign","target","i","length","source","key","hasOwnProperty","call","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","enquire","canUseDOM","Slider","_this","instance","Constructor","TypeError","_classCallCheck","_possibleConstructorReturn","ref","innerSlider","slickPrev","slickNext","slide","dontAnimate","undefined","slickGoTo","pause","autoPlay","state","breakpoint","_responsiveMediaHandlers","protoProps","staticProps","subClass","superClass","create","_inherits","query","handler","register","_this2","responsive","breakpoints","map","breakpt","sort","x","y","index","bQuery","minWidth","maxWidth","media","setState","slice","unregister","settings","newProps","_this3","resp","centerMode","slidesToScroll","fade","slidesToShow","children","Children","toArray","child","trim","variableWidth","rows","slidesPerRow","console","warn","newChildren","currentWidth","newSlide","j","row","k","width","cloneElement","tabIndex","concat","display","unslick","InnerSlider","innerSliderRefHandler","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","root","Function","objectToString","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","toNumber","isObjectLike","isSymbol","other","valueOf","replace","isBinary","test","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","cancel","clearTimeout","flush","_default","accessibility","adaptiveHeight","afterChange","appendDots","dots","arrows","autoplay","autoplaySpeed","beforeChange","centerPadding","cssEase","customPaging","dotsClass","draggable","easing","edgeFriction","focusOnSelect","infinite","initialSlide","lazyLoad","nextArrow","onEdge","onInit","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","prevArrow","rtl","speed","swipe","swipeEvent","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","vertical","waitForAnimate","str","match","toLowerCase","isFunction","isArray","each","collection","fn","NextArrow","PrevArrow","_classnames","_createClass","_React$PureComponent","e","preventDefault","clickHandler","prevClasses","prevHandler","message","currentSlide","slideCount","prevArrowProps","customProps","PureComponent","_React$PureComponent2","nextClasses","nextHandler","canGoNext","nextArrowProps","data","useStaticQuery","imgs","thumbs","edges","item","node","Layout","SEO","main","leftPics","height","content","intro","name","cai","yidong","intro2","introCN","introEN","rightPics","hasOwn","classNames","classes","arg","argType","Array","inner","includes","join","default","Track","getSlideClasses","spec","slickActive","slickCenter","slickCloned","centerOffset","floor","getKey","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","childrenCount","count","startIndex","lazyStartIndex","endIndex","lazyEndIndex","elem","childOnClickOptions","lazyLoadedList","indexOf","childStyle","slideWidth","position","top","slideHeight","left","opacity","transition","WebkitTransition","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","getPreClones","reverse","_this$props","mouseEvents","onMouseEnter","onMouseOver","onMouseLeave","trackStyle","Dots","dotCount","ceil","split","leftBound","rightBound","dotOptions","MapShim","Map","getIndex","arr","some","entry","class_1","__entries__","get","set","delete","entries","splice","has","clear","callback","ctx","_i","_a","isBrowser","window","document","global$1","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","positions","reduce","size","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","right","vertPad","bottom","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","method","MediaQueryDispatch","QueryHandler","deferSetup","setup","initialised","on","off","unmatch","destroy","equals","observed","useRef","useEffect","$script","getElementById","id","onLoad","script","onload","onerror","onError","body","appendChild","insertScript","polyvObject","videoPlayer","forceH5","renderPlayer","current","log","paddingBottom","Number","toFixed","justifyContent","camel2hyphen","obj2mq","mq","features","feature","isDimension","q","createRef","componentDidMount","navigator","userAgent","setAttribute","muted","controls","loop","webkit-playsinline","playsInline","animating","autoplaying","currentDirection","currentLeft","direction","dragging","edgeDragged","initialized","listHeight","listWidth","scrolling","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackWidth","_reactDom","_initialState","_lodash","_track","_dots","_arrows","_resizeObserverPolyfill","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","list","track","querySelector","getHeight","ssrInit","slidesToLoad","getOnDemandLazySlides","prevState","onLazyLoad","listRef","trackRef","updateState","adaptHeight","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","querySelectorAll","onfocus","onSlideFocus","onblur","onSlideBlur","attachEvent","animationEndCallback","clearInterval","timer","detachEvent","autoplayTimer","nextProps","setTrackStyle","_Object$keys","changeSlide","checkImagesLoad","debouncedResize","resizeWindow","findDOMNode","updatedState","initializedState","slideIndex","getTrackLeft","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","getPostClones","_i2","_i3","_trackStyle","trackLeft","images","imagesCount","loadedCount","image","onclick","prevClickHandler","parentNode","focus","_index","asNavFor","_slideHandler","slideHandler","nextState","firstBatch","targetSlide","clickable","stopPropagation","dir","keyHandler","ontouchmove","event","returnValue","verticalSwiping","disableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","isNaN","nextIndex","playType","play","pauseType","trackProps","extractObject","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","trackRefHandler","MediaQuery","isUnconditional","handlers","mql","matchMedia","listener","currentTarget","assess","addListener","constuctor","addHandler","qh","matches","removeHandler","h","removeListener","action","Util","Error","queries","browserIsIncapable","shouldDegrade","slidesOnLeft","slidesOnRight","siblingDirection","getTotalSlides","getTrackAnimateCSS","checkSpecKeys","getSlideCount","checkNavigable","getNavigableIndexes","getSwipeDirection","getWidth","lazySlidesOnRight","lazySlidesOnLeft","getRequiredLazySlides","onDemandSlides","requiredSlides","offsetWidth","offsetHeight","xDist","yDist","r","swipeAngle","atan2","PI","canGo","newObject","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","tagName","keyCode","touches","pageX","clientX","pageY","clientY","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","counter","indexes","navigables","prevNavigable","n","swipedSlide","from","every","offsetTop","offsetLeft","currentIndex","dataset","keysArray","error","trackHeight","trackChildren","WebkitTransform","transform","msTransform","marginTop","marginLeft","targetLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","_ref","_ref2"],"mappings":"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","file":"component---src-pages-index-js-fc6c27014d6e51d45864.js","sourcesContent":["import React from \"react\"\nimport styles from \"./mbox.module.styl\"\nimport Img from \"gatsby-image\"\nimport Video from \"../components/video\"\nimport Cuplayer from \"../components/cuplayer\"\n\n/**\n @props {\n img: {\n src: \"../images/xxx.jpg\",\n alt: \"name\",\n cdn: \"http://xxx.jpg\",\n bgcolor: #000,\n fit: default | cover | contain,\n onClick: func(img)\n },\n video: {\n src: \"../xxx/xxx.mp4\",\n vid: \"xxxxx\",\n ratio: 2,\n zoom: 70%,\n poster: \"http://xxx.jpg\",\n bgcolor: #000,\n fit: default | cover | contain,\n vclass: \"min\",\n type: \"local\"\n }\n }\n*/\n\nclass MBox extends React.Component {\n _boxClick() {\n if (this.props.img.src || this.props.img.cdn) {\n this.props.img.onClick()\n }\n }\n\n render() {\n let { img = {}, video = {} } = this.props\n const fit = img.fit || video.fit || \"default\"\n const bgcolor = img.bgcolor || video.bgcolor || \"#000\"\n\n const filter = () => {\n let jsx = null\n if (img.cdn) {\n jsx = {img.alt}\n } else if (img.src && !img.src.childImageSharp) {\n jsx = {img.alt}\n } else if (img.src) {\n jsx = (\n \n )\n } else if (video.src) {\n jsx = (\n \n )\n } else if (video.vid) {\n jsx = (\n \n )\n }\n return jsx\n }\n\n return (\n \n {filter()}\n \n )\n }\n}\n\nexport default MBox\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video\":\"video-module--video--jdviB\",\"name\":\"video-module--name--1hsqH\",\"min\":\"video-module--min--3Cc2x\",\"cover\":\"video-module--cover--2esgA\",\"local\":\"video-module--local--nqFcR\"};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _innerSlider = require(\"./inner-slider\");\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n 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}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\nvar Slider = /*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Slider, _React$Component);\n function Slider(props) {\n var _this;\n _classCallCheck(this, Slider);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Slider).call(this, props));\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n _defineProperty(_assertThisInitialized(_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 _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n }, {\n key: \"UNSAFE_componentWillMount\",\n value: function UNSAFE_componentWillMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\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 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 (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 enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var settings;\n var newProps;\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\" : _objectSpread({}, _defaultProps[\"default\"], {}, this.props, {}, newProps[0].settings);\n } else {\n settings = _objectSpread({}, _defaultProps[\"default\"], {}, this.props);\n } // force scrolling by one if centerMode is on\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 settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\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 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 settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\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 children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\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 var newChildren = [];\n var currentWidth = null;\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\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 if (k >= children.length) break;\n row.push(_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 newSlide.push(_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n if (settings.variableWidth) {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push(_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return _react[\"default\"].createElement(\"div\", {\n className: className\n }, newChildren);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n return _react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n return Slider;\n}(_react[\"default\"].Component);\nexports[\"default\"] = Slider;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mbox\":\"mbox-module--mbox--3FaMp\",\"default\":\"mbox-module--default--3cbfe\",\"cover\":\"mbox-module--cover--cdVoI\",\"contain\":\"mbox-module--contain--1V7OT\",\"video62\":\"mbox-module--video62--3Oakx\"};","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function () {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\nmodule.exports = debounce;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return _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 _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;","var camel2hyphen = function (str) {\n return str.replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n }).toLowerCase();\n};\nmodule.exports = camel2hyphen;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"index-module--main--leZwC\",\"leftPics\":\"index-module--leftPics--1mRfU\",\"rightPics\":\"index-module--rightPics--3jZQR\",\"content\":\"index-module--content--1RS57\",\"intro\":\"index-module--intro--4gbR8\",\"name\":\"index-module--name--1-snk\",\"cai\":\"index-module--cai--ZMqf7\",\"yidong\":\"index-module--yidong--1UKZw\",\"intro2\":\"index-module--intro2--2Zwzd\",\"introCN\":\"index-module--introCN--3uiE-\",\"introEN\":\"index-module--introEN--cxbPJ\"};","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n for (i; i < length; i++) {\n cont = fn(collection[i], i);\n if (cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\nmodule.exports = {\n isFunction: isFunction,\n isArray: isArray,\n each: each\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NextArrow = exports.PrevArrow = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n 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}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nvar PrevArrow = /*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n return _possibleConstructorReturn(this, _getPrototypeOf(PrevArrow).apply(this, arguments));\n }\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\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 if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\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 if (this.props.prevArrow) {\n prevArrow = _react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread({}, prevArrowProps, {}, customProps));\n } else {\n prevArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n return prevArrow;\n }\n }]);\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\nexports.PrevArrow = PrevArrow;\nvar NextArrow = /*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n return _possibleConstructorReturn(this, _getPrototypeOf(NextArrow).apply(this, arguments));\n }\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\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 if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\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 if (this.props.nextArrow) {\n nextArrow = _react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread({}, nextArrowProps, {}, customProps));\n } else {\n nextArrow = _react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n return nextArrow;\n }\n }]);\n return NextArrow;\n}(_react[\"default\"].PureComponent);\nexports.NextArrow = NextArrow;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _slider = _interopRequireDefault(require(\"./slider\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import React, { Component } from \"react\"\nimport styles from \"./slider.module.styl\"\nimport Slider from \"react-slick\"\nimport { event } from \"./event.js\"\nimport MBox from \"./mBox\"\n\nexport default class SimpleSlider extends Component {\n constructor(props) {\n super(props)\n this.next = this.next.bind(this)\n this.previous = this.previous.bind(this)\n }\n next() {\n this.slider.slickNext()\n }\n previous() {\n this.slider.slickPrev()\n }\n UNSAFE_componentWillMount() {\n if (this.props.data && this.props.data[0].node.reverse) {\n event.emit(\"logo:reverse\", true)\n }\n }\n render() {\n const settings = {\n autoplay: true,\n autoplaySpeed: 6000,\n arrows: false,\n infinite: true,\n pauseOnHover: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n afterChange: current => {\n if (!this.props.data[current]) return\n if (this.props.data[current].node.reverse) {\n event.emit(\"logo:reverse\", true)\n } else {\n event.emit(\"logo:reverse\", false)\n }\n },\n }\n\n return (\n
\n (this.slider = c)} {...settings}>\n {this.props.data.map((obj, index) => (\n
\n
\n \n
\n\n
\n
\n \n
\n ))}\n
\n
\n )\n }\n}\n","import React from \"react\"\nimport { useStaticQuery, graphql } from \"gatsby\"\nimport Layout from \"../components/layout\"\nimport Slider from \"../components/slider.js\"\nimport Me from \"../components/me.js\"\nimport Img from \"gatsby-image\"\nimport SEO from \"../components/seo\"\nimport styles from \"./index.module.styl\"\n\nconst intro = `Specialize in Brand indentites, Illustration,\nPosters, Digital communication advertise, \nBrand positioning, Signage, Books and moreee.`\nconst intro2 = `Active in design and advertising Industry,\nConstantly seek the harmony between these two.\nExplore the possibilities of diverse expression in advertising and design,\nAnd the importance of cultural expression in business.\nProvide design solutions and consulting services for cultural and clients.`\nconst introCN = `在设计及广告间,\n寻求两者共融。\n广告中寻求更具\n视觉识别的传播,\n设计中寻求更有\n传播力的图形识别。\n为文化及商业客户\n提供定位、广告与\n设计方案及咨询服务。`\nconst introEN = `Active in design and \nadvertising Industry,\nConstantly seek the har-\nmony between these two.\nExplore the possibilities of\ndiverse expression in \nadvertising and design,\nAnd the importance \nof cultural expression in \nbusiness.Provide design \nsolutions and consulting \nservices for cultural \nand clients.\n`\n\nexport default () => {\n const data = useStaticQuery(graphql`\n query index {\n thumbs: allHomePicsJson(filter: {}, sort: { fields: index }) {\n edges {\n node {\n index\n img {\n childImageSharp {\n fluid(quality: 80) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n }\n }\n `)\n\n const imgs = {}\n data.thumbs.edges.forEach(item => (imgs[item.node.index] = item.node.img))\n\n return (\n \n \n
\n
\n \n \n \n
\n
\n
{intro}
\n
\n
\n
\n
YidOngCai
\n
依东
\n
\n
\n
{intro2}
\n
{introCN}
\n
{introEN}
\n
\n
\n 2009-2022-moreee\n \n \n \n \n \n \n
\n
\n
\n )\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n var nativeCodeString = '[native code]';\n function classNames() {\n var classes = [];\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n classes.push(arg.toString());\n continue;\n }\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n return classes.join(' ');\n }\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n 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}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\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 var slickCurrent = index === spec.currentSlide;\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\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n if (spec.fade) {\n style.position = \"relative\";\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n style.WebkitTransition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n return style;\n};\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\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 = _react[\"default\"].createElement(\"div\", null);\n }\n var childStyle = getSlideStyle(_objectSpread({}, spec, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push(_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: _objectSpread({\n outline: \"none\"\n }, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\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 if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n preCloneSlides.push(_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: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses(_objectSpread({}, spec, {\n index: key\n }));\n postCloneSlides.push(_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: _objectSpread({}, child.props.style || {}, {}, childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\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};\nvar Track = /*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n function Track() {\n _classCallCheck(this, Track);\n return _possibleConstructorReturn(this, _getPrototypeOf(Track).apply(this, arguments));\n }\n _createClass(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 _react[\"default\"].createElement(\"div\", _extends({\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n return Track;\n}(_react[\"default\"].PureComponent);\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n 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}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nvar getDotCount = function getDotCount(spec) {\n var dots;\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 return dots;\n};\nvar Dots = /*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n function Dots() {\n _classCallCheck(this, Dots);\n return _possibleConstructorReturn(this, _getPrototypeOf(Dots).apply(this, arguments));\n }\n _createClass(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 = this;\n var dotCount = getDotCount({\n slideCount: this.props.slideCount,\n slidesToScroll: this.props.slidesToScroll,\n slidesToShow: this.props.slidesToShow,\n infinite: this.props.infinite\n }); // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n\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 var dots = Array.apply(null, Array(dotCount + 1).join(\"0\").split(\"\")).map(function (x, i) {\n var leftBound = i * _this.props.slidesToScroll;\n var rightBound = i * _this.props.slidesToScroll + (_this.props.slidesToScroll - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": _this.props.currentSlide >= leftBound && _this.props.currentSlide <= rightBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: _this.props.slidesToScroll,\n currentSlide: _this.props.currentSlide\n };\n var onClick = _this.clickHandler.bind(_this, dotOptions);\n return _react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, _react[\"default\"].cloneElement(_this.props.customPaging(i), {\n onClick: onClick\n }));\n });\n return _react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n return Dots;\n}(_react[\"default\"].PureComponent);\nexports.Dots = Dots;","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n return false;\n });\n return result;\n }\n return (/** @class */function () {\n function class_1() {\n this.__entries__ = [];\n }\n Object.defineProperty(class_1.prototype, \"size\", {\n /**\r\n * @returns {boolean}\r\n */\n get: function () {\n return this.__entries__.length;\n },\n enumerable: true,\n configurable: true\n });\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n class_1.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n class_1.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n class_1.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n class_1.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n class_1.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n class_1.prototype.forEach = function (callback, ctx) {\n if (ctx === void 0) {\n ctx = null;\n }\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\n var entry = _a[_i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n return class_1;\n }()\n );\n}();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n }\n // eslint-disable-next-line no-new-func\n return Function('return this')();\n}();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}();\n\n// Defines minimum timeout before adding a trailing call.\nvar trailingTimeout = 2;\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\nfunction throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n if (trailingCall) {\n proxy();\n }\n }\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n function proxy() {\n var timeStamp = Date.now();\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n }\n // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n lastCallTime = timeStamp;\n }\n return proxy;\n}\n\n// Minimum delay before invoking the update of observers.\nvar REFRESH_DELAY = 20;\n// A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\n// Check if MutationObserver is available.\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\nvar ResizeObserverController = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\n function ResizeObserverController() {\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n this.connected_ = false;\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\n this.mutationEventsAdded_ = false;\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n this.mutationsObserver_ = null;\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n }\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n }\n // Add listeners if they haven't been added yet.\n if (!this.connected_) {\n this.connect_();\n }\n };\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer);\n // Remove observer if it's present in registry.\n if (~index) {\n observers.splice(index, 1);\n }\n // Remove listeners if controller has no connected observers.\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n };\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_();\n // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n if (changesDetected) {\n this.refresh();\n }\n };\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\n ResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n });\n // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n };\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n }\n // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n this.connected_ = true;\n };\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n };\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\n var _b = _a.propertyName,\n propertyName = _b === void 0 ? '' : _b;\n // Detect whether transition may affect dimensions of an element.\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n if (isReflowProperty) {\n this.refresh();\n }\n };\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n ResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n return this.instance_;\n };\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n ResizeObserverController.instance_ = null;\n return ResizeObserverController;\n}();\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\nvar defineConfigurable = function (target, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var key = _a[_i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n return target;\n};\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\nvar getWindowOf = function (target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\n // Return the local global object if it's not possible extract one from\n // provided element.\n return ownerGlobal || global$1;\n};\n\n// Placeholder of an empty content rectangle.\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\nfunction getBordersSize(styles) {\n var positions = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n positions[_i - 1] = arguments[_i];\n }\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\n var position = positions_1[_i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n return paddings;\n}\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth,\n clientHeight = target.clientHeight;\n // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom;\n // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n var width = toFloat(styles.width),\n height = toFloat(styles.height);\n // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n }\n // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\n // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n }\n // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n return getHTMLElementContentRect(target);\n}\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\nfunction createReadOnlyRect(_a) {\n var x = _a.x,\n y = _a.y,\n width = _a.width,\n height = _a.height;\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype);\n // Rectangle's properties are not writable and non-enumerable.\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\nvar ResizeObservation = /** @class */function () {\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\n function ResizeObservation(target) {\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastWidth = 0;\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\n this.broadcastHeight = 0;\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n }\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n ResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n };\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\n ResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n };\n return ResizeObservation;\n}();\nvar ResizeObserverEntry = /** @class */function () {\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\n function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit);\n // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n }\n return ResizeObserverEntry;\n}();\nvar ResizeObserverSPI = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\n function ResizeObserverSPI(callback, controller, callbackCtx) {\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\n this.activeObservations_ = [];\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n this.observations_ = new MapShim();\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n }\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n var observations = this.observations_;\n // Do nothing if element is already being observed.\n if (observations.has(target)) {\n return;\n }\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this);\n // Force the update of observations.\n this.controller_.refresh();\n };\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n // Do nothing if current environment doesn't have the Element interface.\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n var observations = this.observations_;\n // Do nothing if element is not being observed.\n if (!observations.has(target)) {\n return;\n }\n observations.delete(target);\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n };\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n };\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.gatherActive = function () {\n var _this = this;\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n _this.activeObservations_.push(observation);\n }\n });\n };\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n var ctx = this.callbackCtx_;\n // Create ResizeObserverEntry instance for every active observation.\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n };\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n ResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n };\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n ResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n };\n return ResizeObserverSPI;\n}();\n\n// Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\nvar ResizeObserver = /** @class */function () {\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\n function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n }\n return ResizeObserver;\n}();\n// Expose public methods of ResizeObserver.\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n var _a;\n return (_a = observers.get(this))[method].apply(_a, arguments);\n };\n});\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n return ResizeObserver;\n}();\nexport default index;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"me\":\"me-module--me--1ThfM\",\"box\":\"me-module--box--2Qj0E\",\"logo\":\"me-module--logo--2Tq_O\"};","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\nQueryHandler.prototype = {\n constructor: QueryHandler,\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup: function () {\n if (this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on: function () {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off: function () {\n this.options.unmatch && this.options.unmatch();\n },\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy: function () {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals: function (target) {\n return this.options === target || this.options.match === target;\n }\n};\nmodule.exports = QueryHandler;","import React from \"react\"\nimport { useEffect, useRef } from \"react\"\n\n/**\n *\n * @param {\n * vid: String\n * ratio: Number\n * } props\n */\nfunction Cuplayer(props) {\n const vid = props.vid\n const observed = useRef(null)\n const videoCSS = {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n display: \"flex\",\n justifyContent: \"center\",\n }\n const renderPlayer = vid => {\n // console.log(window.polyvObject(`#${vid}`))\n window.polyvObject(`#${vid}`).videoPlayer({\n width: props.zoom || \"100%\",\n height: props.zoom || \"100%\",\n vid: vid,\n forceH5: true,\n })\n }\n const insertScript = p => {\n const $script = document.getElementById(p.id)\n if (!$script) {\n const script = document.createElement(\"script\")\n script.src = p.src\n script.id = p.id\n script.onload = p.onLoad\n script.onerror = p.onError\n\n if (document.body) {\n document.body.appendChild(script)\n }\n } else {\n $script.addEventListener(\"load\", p.onLoad)\n }\n }\n\n useEffect(() => {\n // console.log(observed.current)\n insertScript({\n src: \"//player.polyv.net/script/polyvplayer.min.js\",\n id: \"cuplayer\",\n onLoad: () => {\n renderPlayer(observed.current.id)\n },\n onError: e => {\n console.log(e)\n },\n })\n })\n\n return (\n \n
\n \n )\n}\n\nexport default Cuplayer\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"slider\":\"slider-module--slider--2jmO1\",\"slider_item\":\"slider-module--slider_item--3vwws\",\"image_placeholder\":\"slider-module--image_placeholder--2Ythd\",\"box_wrap\":\"slider-module--box_wrap--2QHFB\",\"reverse\":\"slider-module--reverse--Zonye\",\"video_placeholder\":\"slider-module--video_placeholder--1JHLn\"};","var camel2hyphen = require('string-convert/camel2hyphen');\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\nvar obj2mq = function (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);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\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 if (index < features.length - 1) {\n mq += ' and ';\n }\n });\n return mq;\n};\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length - 1) {\n mq += ', ';\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\nmodule.exports = json2mq;","import React from \"react\"\nimport styles from \"./video.module.styl\"\n\nclass Video extends React.Component {\n constructor(props) {\n super(props)\n this.video = React.createRef()\n }\n\n componentDidMount() {\n const isWeixinBrowser = /micromessenger/i.test(navigator.userAgent)\n\n if (isWeixinBrowser) {\n // console.log(\"微信端\")\n this.video.current.setAttribute(\"x5-video-player-type\", \"h5\")\n } else if (this.props.type !== \"local\") {\n this.video.current.setAttribute(\"poster\", \"\")\n }\n }\n\n render() {\n const props = this.props\n\n return (\n
\n \n {props.name}\n
\n )\n }\n}\n\nexport default Video\n","\"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};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\nvar _track = require(\"./track\");\nvar _dots = require(\"./dots\");\nvar _arrows = require(\"./arrows\");\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n 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}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar InnerSlider = /*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n function InnerSlider(props) {\n var _this;\n _classCallCheck(this, InnerSlider);\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InnerSlider).call(this, props));\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillMount\", function () {\n _this.ssrInit();\n _this.props.onInit && _this.props.onInit();\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\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 _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n _this.ro.observe(_this.list);\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 }); // To support server-side rendering\n\n if (!window) {\n return;\n }\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n _this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, nextProps, {}, _this.state);\n var setTrackStyle = false;\n for (var _i = 0, _Object$keys = Object.keys(_this.props); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (_typeof(nextProps[key]) === \"object\" || typeof nextProps[key] === \"function\") {\n continue;\n }\n if (nextProps[key] !== _this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(nextProps.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(nextProps.children) - nextProps.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n if (nextProps.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n _this.checkImagesLoad();\n _this.props.onReInit && _this.props.onReInit();\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread({}, _this.props, {}, _this.state));\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\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 _this.adaptHeight();\n });\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n _this.debouncedResize();\n });\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!_reactDom[\"default\"].findDOMNode(_this.track)) return;\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props, {}, _this.state);\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 _this.setState({\n animating: false\n });\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread({}, spec, {}, updatedState, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread({}, spec, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n _this.setState(updatedState, callback);\n });\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread({}, _this.props, {}, _this.state, {\n slideCount: _this.props.children.length\n }));\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\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 for (var _i2 = 0; _i2 < postClones; _i2++) {\n _trackWidth += childrenWidths[_i2];\n }\n for (var _i3 = 0; _i3 < _this.state.currentSlide; _i3++) {\n _trackLeft += childrenWidths[_i3];\n }\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\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 _this.setState({\n trackStyle: _trackStyle\n });\n return;\n }\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n var spec = _objectSpread({}, _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 if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n _this.setState({\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = document.querySelectorAll(\".slick-slide img\");\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 if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n var spec = _objectSpread({}, _this.props, {}, _this.state);\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 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 if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\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 _defineProperty(_assertThisInitialized(_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 var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread({\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 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 _this.setState(state, function () {\n asNavFor && asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var spec = _objectSpread({}, _this.props, {}, _this.state);\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n _this.clickable = true;\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n _defineProperty(_assertThisInitialized(_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 window.ontouchmove = preventDefault;\n });\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread({}, _this.props, {}, _this.state, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n _this.setState(state);\n });\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread({}, _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 _this.setState(state);\n if (triggerSlideHandler === undefined) return;\n _this.slideHandler(triggerSlideHandler);\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n _defineProperty(_assertThisInitialized(_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 _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n _defineProperty(_assertThisInitialized(_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 _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 _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread({}, _this.props, {}, _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n _this.slideHandler(nextIndex);\n });\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n var autoplaying = _this.state.autoplaying;\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 _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n var autoplaying = _this.state.autoplaying;\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 _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n _defineProperty(_assertThisInitialized(_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 = _objectSpread({}, _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\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread({}, 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.selectHandler : null\n });\n var dots;\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 = _objectSpread({}, 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 = _react[\"default\"].createElement(_dots.Dots, dotProps);\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 if (_this.props.arrows) {\n prevArrow = _react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = _react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n var verticalHeightStyle = null;\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n var centerPaddingStyle = null;\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 var listStyle = _objectSpread({}, 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.swipeEnd : 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 if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n return _react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", _react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), _react[\"default\"].createElement(_track.Track, _extends({\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 = _objectSpread({}, _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 return _this;\n }\n return InnerSlider;\n}(_react[\"default\"].Component);\nexports.InnerSlider = InnerSlider;","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n var self = this;\n this.listener = function (mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\nMediaQuery.prototype = {\n constuctor: MediaQuery,\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler: function (handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n this.matches() && qh.on();\n },\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler: function (handler) {\n var handlers = this.handlers;\n each(handlers, function (h, i) {\n if (h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i, 1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches: function () {\n return this.mql.matches || this.isUnconditional;\n },\n /**\n * Clears all handlers and unbinds events\n */\n clear: function () {\n each(this.handlers, function (handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess: function () {\n var action = this.matches() ? 'on' : 'off';\n each(this.handlers, function (handler) {\n handler[action]();\n });\n }\n};\nmodule.exports = MediaQuery;","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch() {\n if (!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\nMediaQueryDispatch.prototype = {\n constructor: MediaQueryDispatch,\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register: function (q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n if (!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if (isFunction(options)) {\n options = {\n match: options\n };\n }\n if (!isArray(options)) {\n options = [options];\n }\n each(options, function (handler) {\n if (isFunction(handler)) {\n handler = {\n match: handler\n };\n }\n queries[q].addHandler(handler);\n });\n return this;\n },\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister: function (q, handler) {\n var query = this.queries[q];\n if (query) {\n if (handler) {\n query.removeHandler(handler);\n } else {\n query.clear();\n delete this.queries[q];\n }\n }\n return this;\n }\n};\nmodule.exports = MediaQueryDispatch;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\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 return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\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 return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n}; // return list of slides that need to be present\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n}; // startIndex that needs to be present\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\nexports.lazyStartIndex = lazyStartIndex;\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\nexports.lazyEndIndex = lazyEndIndex;\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\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\nexports.lazySlidesOnRight = lazySlidesOnRight;\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\nexports.getWidth = getWidth;\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\nexports.getHeight = getHeight;\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 if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n return \"vertical\";\n}; // whether or not we can go next\n\nexports.getSwipeDirection = getSwipeDirection;\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\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 return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\nexports.canGoNext = canGoNext;\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\nexports.extractObject = extractObject;\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n var listWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.listRef)));\n var trackWidth = Math.ceil(getWidth(_reactDom[\"default\"].findDOMNode(spec.trackRef)));\n var slideWidth;\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n var slideHeight = _reactDom[\"default\"].findDOMNode(spec.listRef) && getHeight(_reactDom[\"default\"].findDOMNode(spec.listRef).querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides({\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }, spec);\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 if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n return state;\n};\nexports.initializedState = initializedState;\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 if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false\n };\n } else {\n finalSlide = animationSlide;\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 animationLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread({}, spec, {\n slideIndex: finalSlide\n }));\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n lazyLoad && lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread({}, spec, {\n currentSlide: animationSlide\n })));\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread({}, spec, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: finalLeft\n })),\n swipeLeft: null\n };\n }\n }\n return {\n state: state,\n nextState: nextState\n };\n};\nexports.slideHandler = slideHandler;\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 lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n if (infinite) {\n var direction = siblingDirection(_objectSpread({}, spec, {\n targetSlide: targetSlide\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 if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n return targetSlide;\n};\nexports.changeSlide = changeSlide;\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};\nexports.keyHandler = keyHandler;\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};\nexports.swipeStart = swipeStart;\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 if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\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 if (!infinite) {\n if (currentSlide === 0 && swipeDirection === \"right\" || currentSlide + 1 >= dotCount && swipeDirection === \"left\" || !canGoNext(spec) && swipeDirection === \"left\") {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\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 if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = _objectSpread({}, state, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread({}, spec, {\n left: swipeLeft\n }))\n });\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n e.preventDefault();\n }\n return state;\n};\nexports.swipeMove = swipeMove;\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 currentSlide = spec.currentSlide,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe;\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\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 if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n var slideCount, newSlide;\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n case \"right\":\n case \"down\":\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n default:\n slideCount = currentSlide;\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(_objectSpread({}, spec, {\n left: currentLeft\n }));\n }\n return state;\n};\nexports.swipeEnd = swipeEnd;\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 while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexports.getNavigableIndexes = getNavigableIndexes;\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\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 prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexports.checkNavigable = checkNavigable;\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = _reactDom[\"default\"].findDOMNode(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 return true;\n });\n if (!swipedSlide) {\n return 0;\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};\nexports.getSlideCount = getSlideCount;\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\nexports.checkSpecKeys = checkSpecKeys;\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 if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\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 = _objectSpread({}, 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 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 return style;\n};\nexports.getTrackCSS = getTrackCSS;\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 return style;\n};\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\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 if (fade || spec.slideCount === 1) {\n return 0;\n }\n var slidesToOffset = 0;\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 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 if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = _reactDom[\"default\"].findDOMNode(trackRef);\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n return targetLeft;\n};\nexports.getTrackLeft = getTrackLeft;\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\nexports.getPreClones = getPreClones;\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\nexports.getPostClones = getPostClones;\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\nexports.getTotalSlides = getTotalSlides;\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n return \"left\";\n }\n};\nexports.siblingDirection = siblingDirection;\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\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 if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\nexports.slidesOnRight = slidesOnRight;\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\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 if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\nexports.slidesOnLeft = slidesOnLeft;\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\nexports.canUseDOM = canUseDOM;"],"sourceRoot":""}