{"version":3,"sources":["webpack:///./src/components/OverlayFrame.tsx","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/react-swipeable-views-core/lib/mod.js","webpack:///./node_modules/react-swipeable-views-core/lib/computeIndex.js","webpack:///./node_modules/react-swipeable-views/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/react-swipeable-views-core/lib/getDisplaySameSlide.js","webpack:///./node_modules/process/browser.js","webpack:///./src/assets/logo-driftinglands.svg","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./src/components/OverlayFrame.module.scss","webpack:///./node_modules/react-swipeable-views-core/lib/index.js","webpack:///./src/pages/index.module.scss","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///./src/components/Anchor.tsx","webpack:///./src/components/AnchorLink.tsx","webpack:///./node_modules/raf-schd/dist/raf-schd.esm.js","webpack:///./node_modules/lodash-es/isObject.js","webpack:///./node_modules/lodash-es/_root.js","webpack:///./node_modules/lodash-es/now.js","webpack:///./node_modules/lodash-es/_Symbol.js","webpack:///./node_modules/lodash-es/_getRawTag.js","webpack:///./node_modules/lodash-es/_objectToString.js","webpack:///./node_modules/lodash-es/_baseGetTag.js","webpack:///./node_modules/lodash-es/isObjectLike.js","webpack:///./node_modules/lodash-es/isSymbol.js","webpack:///./node_modules/lodash-es/toNumber.js","webpack:///./node_modules/lodash-es/debounce.js","webpack:///./node_modules/lodash-es/throttle.js","webpack:///./node_modules/react-resize-detector/lib/esm/lib/utils.js","webpack:///./node_modules/react-resize-detector/lib/esm/components/ResizeDetector.js","webpack:///./node_modules/react-resize-detector/lib/esm/index.js","webpack:///./src/components/FullscreenContainer.tsx","webpack:///./src/components/YouTubeVideoPlayer.tsx","webpack:///./src/components/Gallery.tsx","webpack:///./src/components/TiltedSeparator.tsx","webpack:///./src/components/VerticalExpander.tsx","webpack:///./src/pages/index.tsx","webpack:///./src/assets/studio-member-01.png","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/react-swipeable-views-core/lib/constant.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/lodash-es/_freeGlobal.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./src/assets/logo-foretales.svg","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./src/assets/studio-member-05.png","webpack:///./src/components/FullscreenContainer.module.scss","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./src/assets/studio-member-04.png","webpack:///./src/assets/studio-member-02.png","webpack:///./src/assets/logo-transcripted.svg","webpack:///./src/components/Gallery.module.scss","webpack:///./src/assets/studio-member-03.png","webpack:///./node_modules/react-swipeable-views-core/lib/checkIndexBounds.js","webpack:///./node_modules/react-swipeable-views/lib/SwipeableViews.js","webpack:///(webpack)/buildin/global.js"],"names":["OverlayFrame","props","className","children","onClick","useState","open","setOpen","opened","setOpened","useEffect","setImmediate","setTimeout","cancel","event","preventDefault","stopPropagation","window","addEventListener","passive","removeEventListener","styles","classNames","warning","module","exports","Object","defineProperty","value","_default","n","m","q","_interopRequireDefault","params","newStartX","startIndex","startX","pageX","viewLength","resistance","indexMax","_react","Children","count","index","Math","exp","_constant","RESISTANCE_COEF","setPrototypeOf","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","nextProps","displaySameSlide","getChildrenKey","child","key","length","oldKey","map","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","e","call","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","i","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","InternalMap","global","each","redefine","meta","assign","weak","isObject","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","getWeak","isExtensible","uncaughtFrozenStore","ufstore","wrapper","get","undefined","methods","data","_i","set","def","$WeakMap","getConstructor","NEED","proto","method","a","b","_f","result","$export","S","F","f","aFunction","anObject","fails","bind","rConstruct","Reflect","construct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","instance","Function","enumerable","_checkIndexBounds","_computeIndex","_getDisplaySameSlide","_mod","_getPrototypeOf","o","getPrototypeOf","__proto__","objectWithoutPropertiesLoose","source","excluded","target","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","Anchor","id","offset","style","position","top","AnchorLink","scroll","href","behavior","handleClick","useCallback","linkId","split","scrollTo","history","pushState","opts","elem","box","body","docEl","scrollTop","scrollLeft","clientTop","clientLeft","left","bottom","right","coords","document","getElementById","getBoundingClientRect","documentElement","pageYOffset","pageXOffset","round","options","max","fn","lastArgs","frameId","wrapperFn","_len","_key","requestAnimationFrame","cancelAnimationFrame","type","freeSelf","self","Date","now","Symbol","objectProto","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","isOwn","tag","unmasked","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","replace","isBinary","test","slice","nativeMax","nativeMin","min","func","wait","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","flush","listHandle","debounce","throttle","isFunction","isSSR","isDOMElement","element","Element","HTMLDocument","_typeof","obj","iterator","_objectWithoutProperties","sourceKeys","keys","_objectWithoutPropertiesLoose","_defineProperties","descriptor","_setPrototypeOf","p","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","_isNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_defineProperty","_PureComponent","_inherits","ResizeDetector","Constructor","protoProps","staticProps","_super","_this","_classCallCheck","resizeHandler","raf","getElement","resizeObserver","_this$props","querySelector","targetDomEl","targetRef","current","currentElement","getRenderType","parentElement","rafClean","_ref","width","height","onResize","setState","entries","_this$state","state","widthCurrent","heightCurrent","_this$props2","handleWidth","handleHeight","updater","createUpdater","forEach","entry","_ref2","contentRect","isSizeChanged","skipOnMount","_this$props3","render","isArray","refreshMode","refreshRate","refreshOptions","unmounted","handle","createResizeHandler","toggleObserver","cancelHandler","_this$props4","WrapperTag","nodeType","_this$state2","childProps","nativeProps","el","createElement","defaultProps","FullscreenContainer","onClose","onKey","contentContainerSize","setContainerSize","size","h","w","container","closeButton","contentContainer","contentLoading","content","YouTubeVideoPlayer","videoId","src","frameBorder","allowFullScreen","Gallery","items","setIndex","mouseDownIndex","setMouseDownIndex","zoomedIndex","setZoomedIndex","goTo","previous","next","hysteresis","threshold","enableMouseEvents","onChangeIndex","onSwitching","item","itemIndex","thumbnail","onMouseDown","onMouseUp","youTubeVideo","classnames","initialIndex","FullscreenGallery","onTransitionEnd","image","cover","objectFit","TiltedSeparator","topDelta","angle","leftColor","mainColor","rightColor","pointerEvents","overflow","background","transformOrigin","transform","VerticalExpander","expanded","childrenHeight","setChildrenHeight","opacity","transition","_width","query","Home","console","log","currentBuildDate","currentDate","scrollRestoration","onPopstate","displayShowreel","setDisplayShowreel","playShowreel","closeShowreel","home","Header","sections","activeSection","setActiveSection","onScroll","section","rect","getElementsByClassName","distance","abs","sort","onEmailClick","details","rel","Showreel","preload","autoPlay","muted","playsInline","loop","Studio","studioMember01","studioMember02","studioMember03","studioMember04","studioMember05","Games","logo","logoForetales","text","galleryItems","color","logoDrigtingLands","logoTranscripted","Game","setExpanded","expand","Services","videoSrcs","margin","Service","Footer","LineSeparator","backgroundColor","hasOwn","classes","arg","argType","inner","join","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","UNCERTAINTY_THRESHOLD","freeGlobal","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","removeChild","appendChild","random","attachEvent","callback","task","redefineAll","anInstance","forOf","createArrayMethod","$has","arrayFind","arrayFindIndex","that","_l","UncaughtFrozenStore","findUncaughtFrozen","store","it","has","splice","NAME","IS_MAP","ADDER","C","iterable","_t","assertThisInitialized","MapShim","Map","getIndex","arr","some","class_1","__entries__","clear","ctx","_a","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","observe","attributes","childList","characterData","subtree","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","positions","reduce","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","$some","P","callbackfn","DateProto","$toString","getTime","NaN","getDomTreeShapes","findNativeHandler","_extends2","_objectWithoutProperties2","_classCallCheck2","_createClass2","_possibleConstructorReturn2","_getPrototypeOf2","_inherits2","_propTypes","_reactSwipeableViewsCore","node","handler","remove","direction","display","willChange","WebkitFlexShrink","flexShrink","axisProperties","root","overflowX","overflowY","flexDirection","translate","rotationMatrix","scrollPosition","scrollLength","clientLength","createTransition","property","duration","easeFunction","applyRotationMatrix","touch","axis","pageY","adaptMouse","touches","rootNode","domTreeShapes","hasAttribute","getPropertyValue","scrollWidth","scrollHeight","parentNode","nodeWhoClaimedTheScroll","shape","goingForward","areNotAtStart","areNotAtEnd","SwipeableViews","_React$Component","containerNode","ignoreNextScrollEvents","lastX","vx","startY","isSwiping","started","transitionListener","touchMoveListener","activeSlide","indexCurrent","firstRenderTimeout","setRootNode","setContainerNode","setActiveSlide","updateHeight","handleSwipeStart","computedStyle","transformValues","rootStyle","tranformNormalized","paddingLeft","paddingRight","handleSwipeMove","ignoreNativeScroll","dx","dy","constant","computeIndex","setIndexCurrent","isDragging","handleTouchStart","handleSwipeEnd","indexNew","indexLatest","delta","floor","ceil","reason","handleTransitionEnd","onTouchStart","handleTouchEnd","onTouchEnd","handleMouseDown","persist","handleMouseUp","handleMouseLeave","onMouseLeave","handleMouseMove","onMouseMove","handleScroll","offsetHeight","heightLatest","renderOnlyActive","disableLazyLoading","_this2","swipeableViews","slideUpdateHeight","_this3","disabled","action","getDisplaySameSlide","animateTransitions","WebkitTransform","WebkitTransition","_this4","animateHeight","containerStyleProp","containerStyle","slideStyleProp","slideStyle","slideClassName","springConfig","touchEvents","mouseEvents","additionalTranstion","WebkitFlexDirection","indexChild","hidden","Component","displayName","propTypes","childContextTypes","g"],"mappings":"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","file":"commons-0cd03353070f74d60982.js","sourcesContent":["import React, { useEffect, useState } from 'react';\r\nimport * as styles from './OverlayFrame.module.scss';\r\nimport classNames from 'classnames';\r\n\r\nexport const OverlayFrame = (props: {\r\n className?: string,\r\n children: (opened: boolean) => React.ReactNode,\r\n onClick: (event: React.MouseEvent) => void\r\n}) => {\r\n const { className, children, onClick} = props;\r\n\r\n const [open, setOpen] = useState(false);\r\n const [opened, setOpened] = useState(false);\r\n\r\n useEffect(() => {\r\n setImmediate(() => setOpen(true));\r\n setTimeout(() => setOpened(true), 500);\r\n });\r\n\r\n useEffect(() => {\r\n const cancel = (event: KeyboardEvent) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n window.addEventListener('keydown', cancel);\r\n window.addEventListener('wheel', cancel, { passive: false });\r\n window.addEventListener('touchmove', cancel, { passive: false });\r\n\r\n return () => {\r\n window.removeEventListener('keydown', cancel);\r\n window.removeEventListener('wheel', cancel);\r\n window.removeEventListener('touchmove', cancel);\r\n };\r\n });\r\n\r\n return (\r\n
\r\n \r\n {children(opened)}\r\n
\r\n \r\n );\r\n};\r\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function warning() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0; // Extended version of % with negative integer support.\n\nfunction mod(n, m) {\n var q = n % m;\n return q < 0 ? q + m : q;\n}\n\nvar _default = mod;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = computeIndex;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant\"));\n\nfunction computeIndex(params) {\n var children = params.children,\n startIndex = params.startIndex,\n startX = params.startX,\n pageX = params.pageX,\n viewLength = params.viewLength,\n resistance = params.resistance;\n var indexMax = _react[\"default\"].Children.count(children) - 1;\n var index = startIndex + (startX - pageX) / viewLength;\n var newStartX;\n\n if (!resistance) {\n // Reset the starting point\n if (index < 0) {\n index = 0;\n newStartX = (index - startIndex) * viewLength + pageX;\n } else if (index > indexMax) {\n index = indexMax;\n newStartX = (index - startIndex) * viewLength + pageX;\n }\n } else if (index < 0) {\n index = Math.exp(index * _constant[\"default\"].RESISTANCE_COEF) - 1;\n } else if (index > indexMax) {\n index = indexMax + 1 - Math.exp((indexMax - index) * _constant[\"default\"].RESISTANCE_COEF);\n }\n\n return {\n index: index,\n startX: newStartX\n };\n}","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _SwipeableViews = _interopRequireDefault(require(\"./SwipeableViews\"));\n\nvar _default = _SwipeableViews[\"default\"];\nexports[\"default\"] = _default;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar getDisplaySameSlide = function getDisplaySameSlide(props, nextProps) {\n var displaySameSlide = false;\n\n var getChildrenKey = function getChildrenKey(child) {\n return child ? child.key : 'empty';\n };\n\n if (props.children.length && nextProps.children.length) {\n var oldKeys = _react[\"default\"].Children.map(props.children, getChildrenKey);\n\n var oldKey = oldKeys[props.index];\n\n if (oldKey !== null && oldKey !== undefined) {\n var newKeys = _react[\"default\"].Children.map(nextProps.children, getChildrenKey);\n\n var newKey = newKeys[nextProps.index];\n\n if (oldKey === newKey) {\n displaySameSlide = true;\n }\n }\n }\n\n return displaySameSlide;\n};\n\nvar _default = getDisplaySameSlide;\nexports[\"default\"] = _default;","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","module.exports = \"data:image/svg+xml;base64,PHN2ZyANCiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiDQogd2lkdGg9IjIxNzFweCIgaGVpZ2h0PSI3OTBweCI+DQo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiICBmaWxsPSJyZ2IoMjU1LCAyNTUsIDI1NSkiDQogZD0iTTI2NS4wMDAsMC4wMDAgTDI5Ni4wMDAsMTUuMDAwIEwyOTUuNzMzLDEwNC45MzQgTDMwMC45OTEsMTEyLjczMyBMMzAxLjAwMCwyNjQuMDAwIEwzMTUuMDAwLDI4MC4wMDAgTDMxNC41NzksNDUzLjkxOCBMMzA3LjY5MCw0NzAuMzQ1IEwzMDcuODA1LDUwNS4xNDEgTDMwMi4wMDAsNTIwLjAwMCBMMzAyLjAwMCw2MTEuMDAwIEwyOTMuMDAwLDY3Mi4wMDAgTDI4NS4wMDAsNjcyLjAwMCBMMjU5LjAwMCw2NTMuMDAwIEMyNTkuMDAwLDY1My4wMDAgMjQ3LjgwMCw2MjEuOTYyIDI0Mi4wMDAsNjA3LjAwMCBDMjM3LjE0MCw1OTcuNzM1IDIzNC4wMDAsNTkyLjAwMCAyMzQuMDAwLDU5Mi4wMDAgTDIyNy4wMDAsNTkyLjAwMCBMMjE5LjUyOCw1NzAuOTQ4IEwyMjMuMDAzLDU2NC45MTEgQzIyMy4wMDMsNTY0LjkxMSAyMTIuMzQyLDUyNi4zNTIgMjA1LjYyNyw1MDIuNzgwIEMxOTguOTEzLDQ3OS4yMDkgMTkwLjU3MSw0MzYuMjg2IDE0MC4wMDAsNDE3LjAwMCBDMTMyLjg1NywzOTMuMjg2IDEyNi4wMDAsMzc0LjAwMCAxMjYuMDAwLDM3NC4wMDAgTDExMS40MjEsMzcxLjc2MyBMODUuMzc1LDM1OS43MTQgTDM5LjAwMCwyNzQuMDAwIEwyMy4wMDAsMjc0LjAwMCBMLTAuMDAwLDIwNi4wMDAgTDM0LjAwMCwxNzkuMDAwIEwzNC4wMDAsMTIzLjAwMCBMNzQuMDAwLDEwMy4wMDAgTDc1LjAwMCw5MC4wMDAgTDEzNi45MjMsNTcuNDUxIEMxMzYuOTIzLDU3LjQ1MSAxNDguMDQ2LDU3LjI2NyAxNjIuNDQ2LDU0Ljg2NyBDMTc2Ljg0Niw1Mi40NjcgMTg4Ljc0Miw0Ny44MjcgMTg4Ljc0Miw0Ny44MjcgTDIwMS4wMDAsNTQuMDAwIEMyMDEuMDAwLDU0LjAwMCAyMDcuNDk4LDQ4LjI1MyAyMTEuOTk3LDQxLjUwNCBDMjE2LjQ5OCwzNC43NTMgMjE5LjAwMCwyOC4wMDAgMjE5LjAwMCwyOC4wMDAgTDI0Ni40MzUsMjIuMzYwIEwyNjUuMDAwLDAuMDAwIFpNMTkwMi4wMDAsMC4wMDAgQzE5MDQuMzMzLDAuMDAwIDE5MDYuNjY3LDAuMDAwIDE5MDkuMDAwLDAuMDAwIEMxOTE2Ljk3MCwxNS4yMzAgMTkyMi4wNDgsMjEuNjI2IDE5MjguOTgyLDIzLjY1MCBDMTkzMy44NzUsMjQuODE3IDE5NDQuOTcwLDI1Ljg0NiAxOTU0LjAwMCwyOC4wMDAgQzE5NjAuNjY2LDM2LjY2NiAxOTY2LjMzNCw0NS4zMzQgMTk3My4wMDAsNTQuMDAwIEMxOTc2LjMzMyw1Mi4wMDAgMTk4MC42NjcsNDkuMDAwIDE5ODQuMDAwLDQ3LjAwMCBDMTk5NC43NTMsNTMuMDAwIDIwMDcuNDI5LDU2LjAwMCAyMDMxLjAwMCw1Ni4wMDAgQzIwMzQuNzE0LDY2LjcxNCAyMDQxLjMzNCw4Ny4zMzUgMjA0Ny4wMDAsMTAyLjAwMCBDMjA1OS40MjcsMTA5LjM0MSAyMDgzLjgwNCwxMTcuNTAzIDIxMTQuMDAwLDEyMS4wMDAgQzIxMjMuMzMzLDEyMS4zMzMgMjEyOC42NjcsMTIxLjY2NyAyMTM4LjAwMCwxMjIuMDAwIEMyMTQ4LjY2NiwxMjcuOTk5IDIxNjAuMzM0LDEzNS4wMDEgMjE3MS4wMDAsMTQxLjAwMCBDMjE2NC44NDksMTUwLjI1MCAyMTU1LjI1NiwxODEuOTQxIDIxNTQuMDAwLDIxMS4wMDAgQzIxNDQuMzM0LDIxNS4wMDAgMjEzNS42NjYsMjE5LjAwMCAyMTI2LjAwMCwyMjMuMDAwIEMyMTIxLjE0MywyNDIuNjE2IDIxMTMuNTAwLDI4MS41MDMgMjEwNy4wMDAsMzEwLjAwMCBDMjEwMC42NjcsMzE3LjE2NiAyMDk0LjMzMywzMjQuMDAxIDIwODguMDAwLDMzMC4wMDAgQzIwODcuNjY3LDMzMy42NjYgMjA4Ny4zMzMsMzM2LjMzNCAyMDg3LjAwMCwzNDAuMDAwIEMyMDgxLjA1MCwzNDYuNDgyIDIwNjguNzI4LDM1NS42MzIgMjA2My4wMDAsMzYxLjAwMCBDMjA2MC44NjEsMzY0Ljk1NCAyMDU2LjkxMiwzNzEuMzQ1IDIwNTQuMDAwLDM3Ny4wMDAgQzIwNDcuNzY3LDM5NC4xNTYgMjAzNC4zNjAsNDI4LjQ1NyAyMDI3LjAwMCw0NDguMDAwIEMyMDE1LjMzNCw0NTMuOTk5IDIwMDQuNjY2LDQ1OS4wMDEgMTk5My4wMDAsNDY1LjAwMCBDMTk3Mi4zMzUsNTE1LjY2MiAxOTQ4LjY2NSw1NzAuMzM4IDE5MjguMDAwLDYyMS4wMDAgQzE5MjUuMzI4LDYyMy42NzggMTkxMi42NzAsNjMwLjYzMyAxOTA2LjAwMCw2MzYuMDAwIEMxODk5LjY2Nyw2NDguNjY1IDE4OTUuMzMzLDY1OC4zMzUgMTg4OS4wMDAsNjcxLjAwMCBDMTg4My4zMzQsNjcxLjY2NyAxODc3LjY2Niw2NzIuMzMzIDE4NzIuMDAwLDY3My4wMDAgQzE4NzEuODI3LDYzMC40MDAgMTg3Mi4wMDAsNTM3LjAwMCAxODcyLjAwMCw1MzcuMDAwIEwxODc4LjAwMCw1MTUuMDAwIEwxODg1LjAwMCw0MDEuMDAwIEwxODkzLjAwMCwyODguMDAwIEMxODkzLjAwMCwyODguMDAwIDE4ODMuNjY2LDI2OC45OTkgMTg3OS4wMDAsMjYwLjAwMCBDMTg3OS4wMDAsMjAxLjY3MyAxODc4LjAwMCw0LjAwMCAxODc4LjAwMCw0LjAwMCBDMTg3OC4wMDAsNC4wMDAgMTg4Ny4wMTQsMi4wNDQgMTkwMi4wMDAsMC4wMDAgWk0xNzk5LjAwMCwxNzguMDAwIEMxNzc3LjMzNSwxNzguMDAwIDE3MzQuMDAwLDE3OC4wMDAgMTczNC4wMDAsMTc4LjAwMCBMMTczNC4wMDAsMTQwLjAwMCBMMTg0Mi4wMDAsMTQwLjAwMCBDMTg0NS45MzgsMjIzLjU3NyAxODIwLjQ2NSwyNDQuMjAzIDE4MDUuMDAwLDI2MC4wMDAgQzE3NzguNjIxLDI4Mi44NzQgMTczOS4zOTEsMjg3LjAwMCAxNzE4LjAwMCwyODcuMDAwIEMxNjE3LjU3NywyODcuMDAwIDE1NzIuMDAwLDIxOS4wMzMgMTU3Mi4wMDAsMTQzLjAwMCBDMTU3Mi4wMDAsNTcuMDg4IDE2MzcuNzYyLDIuMDAwIDE3MTUuMDAwLDIuMDAwIEMxNzc1LjQyNiwyLjAwMCAxODA1LjczMywzMS4zNzAgMTgyMC4wMDAsNTAuMDAwIEMxODEwLjkwNCw1Ni41NjAgMTc5Ny4zOTUsNjYuMDUzIDE3ODcuMDAwLDc0LjAwMCBDMTc2NC41OTEsNDguMDIzIDE3NDIuNzE1LDQzLjAwMCAxNzE1LjAwMCw0My4wMDAgQzE2NjkuNzY3LDQzLjAwMCAxNjE4LjAwMCw3NC4xNDMgMTYxOC4wMDAsMTQ0LjAwMCBDMTYxOC4wMDAsMjEyLjU1MiAxNjY1LjI1OSwyNDcuMDAwIDE3MTkuMDAwLDI0Ny4wMDAgQzE3NzQuNzk2LDI0Ny4wMDAgMTgwMi4yNTgsMjE1LjQ3NCAxNzk5LjAwMCwxNzguMDAwIFpNMzY4LjAwMCw4LjAwMCBDMzY4LjAwMCw4LjAwMCA0MjguMzA5LDguMDAwIDQ1OS4wMDAsOC4wMDAgQzUwNC42NTcsOC4wMDAgNTMyLjg2NiwxNy42MDIgNTU2LjcwMCwzOC4wMDEgQzU4OS4wMTAsNjUuNjU1IDU5OS4wMDAsMTA0LjA5NyA1OTkuMDAwLDE0NS4wMDAgQzU5OS4wMDAsMTkwLjQ5NiA1ODMuMTE4LDIyOS45NzcgNTUyLjI3NSwyNTMuOTg4IEM1MjYuNDQ0LDI3NC4wOTYgNDk0LjE2MSwyODAuMDAwIDQ1MS4wMDAsMjgwLjAwMCBDNDExLjc0NCwyODAuMDAwIDM2OC4wMDAsMjgwLjAwMCAzNjguMDAwLDI4MC4wMDAgTDM2OC4wMDAsOC4wMDAgWk0xNTA0LjAwMCw0Ny4wMDAgTDE1MzkuMDAwLDQ3LjAwMCBMMTUzOS4wMDAsMjg5LjAwMCBMMTM2Ni4wMDAsMTE5LjAwMCBMMTM2Ni4wMDAsMjgwLjAwMCBMMTMzMS4wMDAsMjgwLjAwMCBMMTMzMS4wMDAsMzguMDAwIEwxNTA0LjAwMCwyMDguMDAwIEwxNTA0LjAwMCw0Ny4wMDAgWk00MTMuMDAwLDQ4LjAwMCBMNDEzLjAwMCwyNDAuMDAwIEM0MTMuMDAwLDI0MC4wMDAgNDQ0LjcxMCwyNDAuMDAwIDQ2MC4wMDAsMjQwLjAwMCBDNTI5LjQ0NywyNDAuMDAwIDU1My4wMDAsMTk1Ljc1MyA1NTMuMDAwLDE0My4wMDAgQzU1My4wMDAsMTEzLjg0NyA1NDUuNzkzLDkyLjAyNyA1MzEuMDM2LDc0LjA2NyBDNTE1LjkzMiw1NS42ODMgNDkxLjU2MSw0OC4wMDAgNDYyLjAwMCw0OC4wMDAgQzQzMS4wMDAsNDguMDAwIDQxMy4wMDAsNDguMDAwIDQxMy4wMDAsNDguMDAwIFpNNjM3LjAwMCw0Ny4wMDAgQzYzNy4wMDAsNDcuMDAwIDY4MC42NjAsNDcuMDAwIDY5Mi4wMDAsNDcuMDAwIEM3MTkuMzk3LDQ3LjAwMCA3MzkuMjQ2LDUwLjg1MCA3NTAuMjc1LDYxLjMwNyBDNzY1LjIyNiw3NS40ODMgNzcwLjI3Niw5Mi42NDUgNzcwLjAwMCwxMTMuMDAwIEM3NjkuNDAzLDE1Ny4wMDQgNzQyLjY3OSwxNzEuNjY1IDcxNy4wMDAsMTc0LjAwMCBDNzM5Ljg1NywyMDQuNTcxIDc5Ny4wMDAsMjgwLjAwMCA3OTcuMDAwLDI4MC4wMDAgTDc1NC4wMDAsMjgwLjAwMCBDNzU0LjAwMCwyODAuMDAwIDcwMi42NjQsMjEwLjY2MyA2NzcuMDAwLDE3Ni4wMDAgQzY3NS4zMzMsMTc2LjAwMCA2NzQuNjY3LDE3Ni4wMDAgNjczLjAwMCwxNzYuMDAwIEM2NzMuMDAwLDIxMC42NjMgNjczLjAwMCwyNDUuMzM3IDY3My4wMDAsMjgwLjAwMCBDNjYxLjMzNCwyODAuMDAwIDY0OC42NjYsMjgwLjAwMCA2MzcuMDAwLDI4MC4wMDAgQzYzNy4wMDAsMjAyLjM0MSA2MzcuMDAwLDQ3LjAwMCA2MzcuMDAwLDQ3LjAwMCBaTTgyNS4wMDAsNDcuMDAwIEw4NjMuMDAwLDQ3LjAwMCBMODYzLjAwMCwyODAuMDAwIEw4MjUuMDAwLDI4MC4wMDAgTDgyNS4wMDAsNDcuMDAwIFpNOTA3LjAwMCw0Ny4wMDAgTDEwMzcuMDAwLDQ3LjAwMCBMMTAzNy4wMDAsNzkuMDAwIEw5NDUuMDAwLDc5LjAwMCBMOTQ1LjAwMCwxMzcuMDAwIEwxMDM3LjAwMCwxMzcuMDAwIEwxMDM3LjAwMCwxNzAuMDAwIEw5NDUuMDAwLDE3MC4wMDAgTDk0NS4wMDAsMjgwLjAwMCBMOTA3LjAwMCwyODAuMDAwIEw5MDcuMDAwLDQ3LjAwMCBaTTEwNTkuMDAwLDQ3LjAwMCBMMTIyMC4wMDAsNDcuMDAwIEwxMjIwLjAwMCw3OS4wMDAgTDExNTkuMDAwLDc5LjAwMCBMMTE1OS4wMDAsMjY2LjAwMCBMMTEyMC4wMDAsMzIxLjAwMCBMMTEyMC4wMDAsNzkuMDAwIEwxMDU5LjAwMCw3OS4wMDAgTDEwNTkuMDAwLDQ3LjAwMCBaTTEyNTAuMDAwLDQ3LjAwMCBMMTI4OC4wMDAsNDcuMDAwIEwxMjg4LjAwMCwyODAuMDAwIEwxMjUwLjAwMCwyODAuMDAwIEwxMjUwLjAwMCw0Ny4wMDAgWk02NzMuMDAwLDc5LjAwMCBDNjczLjAwMCw5NS4xMjUgNjczLjAwMCwxMjkuMzc1IDY3My4wMDAsMTQ2LjAwMCBDNzE2LjQ1OCwxNDYuMDAwIDczMy4wMDAsMTQzLjA4MyA3MzMuMDAwLDExMi4wMDAgQzczMy4wMDAsODIuMjUwIDcwNy41ODMsNzkuMDAwIDY3My4wMDAsNzkuMDAwIFpNOTk4LjAwMCw2NzQuMDAwIEw5NDcuMDAwLDY3NC4wMDAgTDk0Ny4wMDAsMzE5LjAwMCBMMTE2OS4wMDAsNjI5LjAwMCBMMTE2OS4wMDAsMzMyLjAwMCBMMTIyMC4wMDAsMjUyLjAwMCBMMTIyMC4wMDAsNzkwLjAwMCBMOTk4LjAwMCw0NzkuMDAwIEw5OTguMDAwLDY3NC4wMDAgWk03NDcuMDAwLDMxOC4wMDAgTDkxMy4wMDAsNjc0LjAwMCBMODUzLjAwMCw2NzQuMDAwIEw4MTQuMDAwLDU4Ni4wMDAgTDY4MC4wMDAsNTg2LjAwMCBMNjQwLjAwMCw2NzQuMDAwIEw1ODEuMDAwLDY3NC4wMDAgTDc0Ny4wMDAsMzE4LjAwMCBaTTE3MTguMDAwLDMyNC4wMDAgQzE3NzMuODAwLDMyNC4wMDAgMTgwNi4wMzEsMzUxLjk5MSAxODE2LjAwMCwzODIuMDAwIEMxODAzLjc3OCwzODcuNDA4IDE3ODEuOTE3LDM5OC40NjkgMTc3Mi4wMDAsNDA0LjAwMCBDMTc2NS41OTAsMzk0LjE2NiAxNzUyLjk4MiwzNzMuMDAwIDE3MjIuMDAwLDM3My4wMDAgQzE2ODguMDI3LDM3My4wMDAgMTY3My4wMDAsMzkyLjk0MyAxNjczLjAwMCw0MTYuMDAwIEMxNjczLjAwMCw0NDcuODg5IDE2OTUuNTEwLDQ1Ny4xNTIgMTc0Ni4wMDAsNDgwLjAwMCBDMTc5OS42MTksNTA0LjI2NCAxODI3LjAwMCw1MzEuMjMxIDE4MjcuMDAwLDU3Ny4wMDAgQzE4MjcuMDAwLDYyNC4xMTAgMTc5OS42MzksNjgzLjAwMCAxNzEyLjAwMCw2ODMuMDAwIEMxNjU4LjQ4Miw2ODMuMDAwIDE2MTUuMDcyLDY1Ny4zMDkgMTYwNS4wMDAsNjA1LjAwMCBDMTYxNi40NDksNjAwLjIxMSAxNjM2LjE0NCw1OTAuOTA0IDE2NTAuMDAwLDU4NS4wMDAgQzE2NTUuMTU3LDYxMi4xMjYgMTY3OS40ODcsNjMyLjAwMCAxNzE0LjAwMCw2MzIuMDAwIEMxNzUxLjgyMCw2MzIuMDAwIDE3NjkuMjI1LDYwOC45OTkgMTc2OS4wMDAsNTgzLjAwMCBDMTc2OC43MDYsNTQ4Ljk3NCAxNzQ3Ljk5NSw1NDIuNjQ2IDE3MDkuMDAwLDUyMy4wMDAgQzE2NjUuOTc5LDUwMS4zMjUgMTYxNC4wMDAsNDgwLjUwMyAxNjE0LjAwMCw0MTcuMDAwIEMxNjE0LjAwMCwzNjkuNTcxIDE2NDcuOTA1LDMyNC4wMDAgMTcxOC4wMDAsMzI0LjAwMCBaTTM2NS4wMDAsMzMyLjAwMCBMNDIxLjAwMCwzMzIuMDAwIEw0MjEuMDAwLDYyNC4wMDAgTDU2OS4wMDAsNjI0LjAwMCBMNTQ1LjAwMCw2NzQuMDAwIEwzNjUuMDAwLDY3NC4wMDAgTDM2NS4wMDAsMzMyLjAwMCBaTTEyNzcuMDAwLDMzMi4wMDAgQzEzNjcuODEyLDMzMi4wMDAgMTQzNi4wMTAsMzI5LjQzMiAxNDc0LjAwMCwzNDUuMDAwIEMxNTQyLjMyOCwzNzMuMDAwIDE1NjguMDAwLDQ0Mi43NTcgMTU2OC4wMDAsNDk4LjAwMCBDMTU2OC4wMDAsNTgyLjAyMCAxNTMzLjc0MCw2MjcuOTk5IDE0OTEuODA3LDY1Mi40NzEgQzE0NjMuODExLDY2OC44MTAgMTQzNy41NzQsNjc0LjAwMCAxMzg3LjAwMCw2NzQuMDAwIEMxMzU4LjA3MCw2NzQuMDAwIDEzMDkuMTg4LDY3NC4wMDAgMTI3Ny4wMDAsNjc0LjAwMCBDMTI3Ny4wMDAsNTYwLjAxMSAxMjc3LjAwMCw0NDUuOTg5IDEyNzcuMDAwLDMzMi4wMDAgWk0xMzMzLjAwMCwzODIuMDAwIEMxMzMzLjAwMCw0NjIuMzI1IDEzMzMuMDAwLDU0Mi42NzUgMTMzMy4wMDAsNjIzLjAwMCBDMTM4MS4xMDYsNjIzLjAwMCAxNDM1LjI0NSw2MjcuNjYyIDE0NjMuMDAwLDYwNy4wMDAgQzE0OTUuMjA4LDU4My4wMjMgMTUwOS4wMDAsNTUxLjY2NSAxNTA5LjAwMCw1MDMuMDAwIEMxNTA5LjAwMCw0NTEuOTIyIDE0OTEuNzA1LDQyMC4xNDcgMTQ2NS4wMDAsNDAwLjAwMCBDMTQzNi44MDQsMzc4LjcyOCAxMzkwLjA4MywzODIuNTAwIDEzMzMuMDAwLDM4Mi4wMDAgWk03NDcuMDAwLDQyNC4wMDAgTDcwMC4wMDAsNTQwLjAwMCBMNzk1LjAwMCw1NDAuMDAwIE0xNTEuMDAwLDQ1Mi4wMDAgTDE4My42NjIsNTI2LjQyNCBMMTgxLjc4Miw1MzMuMjA2IEwxOTAuMDAwLDU2Mi4wMDAgTDE2OC4xMDksNTQ4LjUzMiBMMTUxLjAwMCw1MTguMDAwIEwxMzYuMDAwLDUxMS4wMDAgTDEyNC4wMDAsNDgwLjAwMCBMMTM0LjAwMCw0NzQuMDAwIEwxMzYuMDAwLDQ2Mi4wMDAgTDEzNi4wMDAsNDYyLjAwMCBMMTUxLjAwMCw0NTIuMDAwIFoiLz4NCjwvc3ZnPg==\"","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlayFrameContainer\":\"OverlayFrame-module--overlayFrameContainer--2tzG8\",\"overlayFrame\":\"OverlayFrame-module--overlayFrame--3Lhrm\",\"overlayFrameOpened\":\"OverlayFrame-module--overlayFrameOpened--1O3Tb\"};","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"checkIndexBounds\", {\n enumerable: true,\n get: function get() {\n return _checkIndexBounds[\"default\"];\n }\n});\nObject.defineProperty(exports, \"computeIndex\", {\n enumerable: true,\n get: function get() {\n return _computeIndex[\"default\"];\n }\n});\nObject.defineProperty(exports, \"constant\", {\n enumerable: true,\n get: function get() {\n return _constant[\"default\"];\n }\n});\nObject.defineProperty(exports, \"getDisplaySameSlide\", {\n enumerable: true,\n get: function get() {\n return _getDisplaySameSlide[\"default\"];\n }\n});\nObject.defineProperty(exports, \"mod\", {\n enumerable: true,\n get: function get() {\n return _mod[\"default\"];\n }\n});\n\nvar _checkIndexBounds = _interopRequireDefault(require(\"./checkIndexBounds\"));\n\nvar _computeIndex = _interopRequireDefault(require(\"./computeIndex\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant\"));\n\nvar _getDisplaySameSlide = _interopRequireDefault(require(\"./getDisplaySameSlide\"));\n\nvar _mod = _interopRequireDefault(require(\"./mod\"));","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"index-module--button--3nTP4\",\"gamesForetalesTwitter\":\"index-module--gamesForetalesTwitter--3Khdf\",\"gamesLogoSteam\":\"index-module--gamesLogoSteam--1pVsA\",\"gamesLogoSwitch\":\"index-module--gamesLogoSwitch--Z7j3D\",\"gamesLogoPs4\":\"index-module--gamesLogoPs4--1pNBc\",\"gamesLogoXBox\":\"index-module--gamesLogoXBox--qhKSr\",\"gamesGameMore\":\"index-module--gamesGameMore--KIDl0\",\"playIcon\":\"index-module--playIcon--3vh53\",\"showreelCenter\":\"index-module--showreelCenter--1kqae\",\"showreelPlayIcon\":\"index-module--showreelPlayIcon--Ucqwt\",\"playIconReverse\":\"index-module--playIconReverse--2vcE2\",\"playIconHover\":\"index-module--playIconHover--17qUR\",\"playIconNormal\":\"index-module--playIconNormal--3iLfa\",\"topIcon\":\"index-module--topIcon--3cXiW\",\"topEmail\":\"index-module--topEmail--626vk\",\"topTwitter\":\"index-module--topTwitter--3MxZC\",\"containerContent\":\"index-module--containerContent--2Iw9W\",\"container-16-9\":\"index-module--container-16-9--C-jxw\",\"container169\":\"index-module--container-16-9--C-jxw\",\"lineSeparator\":\"index-module--lineSeparator--3ulwW\",\"flexSpacer\":\"index-module--flexSpacer--1xt0r\",\"main\":\"index-module--main--2MXFN\",\"header\":\"index-module--header--1Y18g\",\"headerBackgroundContainer\":\"index-module--headerBackgroundContainer--kjAls\",\"headerBackground\":\"index-module--headerBackground--B1-LF\",\"headerContent\":\"index-module--headerContent--2JMwS\",\"headerLogo\":\"index-module--headerLogo--GxJrA\",\"headerNav\":\"index-module--headerNav--3l8XN\",\"active\":\"index-module--active--VRtyr\",\"headerContact\":\"index-module--headerContact--1gWWa\",\"underHeader\":\"index-module--underHeader--3Qrec\",\"errorContent\":\"index-module--errorContent--3wbZ4\",\"errorTitle\":\"index-module--errorTitle--2-afw\",\"errorText\":\"index-module--errorText--1Y539\",\"errorReturn\":\"index-module--errorReturn--1jyrr\",\"showreel\":\"index-module--showreel--3akxw\",\"showreelVideo\":\"index-module--showreelVideo--26JmI\",\"showReelText\":\"index-module--showReelText--pfsf9\",\"showReelChips\":\"index-module--showReelChips--21VTj\",\"showReelChip1\":\"index-module--showReelChip1--2jsUK\",\"sectionTitle\":\"index-module--sectionTitle--2AArD\",\"sectionText\":\"index-module--sectionText--wy_Pz\",\"studioContent\":\"index-module--studioContent--1Z_Vs\",\"studioMembers\":\"index-module--studioMembers--3GJUz\",\"studioMember\":\"index-module--studioMember--3KQwk\",\"games\":\"index-module--games--16Pvg\",\"gamesContent\":\"index-module--gamesContent--2d38-\",\"gamesGameTop\":\"index-module--gamesGameTop--1n32x\",\"gamesGameTopLogo\":\"index-module--gamesGameTopLogo--PjSel\",\"gamesGameTopText\":\"index-module--gamesGameTopText--18y7G\",\"gamesLinks\":\"index-module--gamesLinks--17ulg\",\"remove\":\"index-module--remove--2wFJJ\",\"servicesContent\":\"index-module--servicesContent--3oPNK\",\"servicesServiceTop\":\"index-module--servicesServiceTop--VYIQv\",\"servicesServiceTopVideo\":\"index-module--servicesServiceTopVideo--a75Np\",\"servicesServiceTopText\":\"index-module--servicesServiceTopText--3Nn55\",\"servicesServiceTopTitle\":\"index-module--servicesServiceTopTitle--3v8CB\",\"footerContent\":\"index-module--footerContent--nPGWC\",\"overlayFrame\":\"index-module--overlayFrame--1p4mY\",\"fadeIn\":\"index-module--fadeIn--3_jOg\"};","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","import React from 'react';\r\n\r\nexport const Anchor = (props: { id: string, offset?: number }) => {\r\n const { id, offset } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import React, { useCallback, useEffect } from 'react';\r\n\r\nexport const AnchorLink = (props: {\r\n className?: string,\r\n href: string,\r\n scroll: boolean,\r\n offset?: number,\r\n behavior?: 'auto' | 'smooth',\r\n children?: React.ReactNode,\r\n}) => {\r\n const { className, scroll, href, offset, behavior, children } = props;\r\n\r\n const handleClick = useCallback((event: React.MouseEvent) => {\r\n if (!scroll) return;\r\n\r\n event.preventDefault();\r\n\r\n const linkId = href.split('#')[1]\r\n\r\n scrollTo({ linkId, offset, behavior });\r\n\r\n history.pushState(\r\n { linkId, offset, behavior },\r\n null,\r\n href\r\n );\r\n }, [scroll, href, offset, behavior]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport const useScrollOnHistory = () => {\r\n useEffect(() => {\r\n if (!('scrollRestoration' in history)) return;\r\n history.scrollRestoration = 'manual';\r\n\r\n function onPopstate(event: PopStateEvent) {\r\n if (event.state?.linkId == null)\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n else\r\n scrollTo(event.state);\r\n }\r\n\r\n window.addEventListener('popstate', onPopstate);\r\n\r\n return () => {\r\n window.removeEventListener('popstate', onPopstate);\r\n };\r\n }, []);\r\n}\r\n\r\nconst scrollTo = (opts: { linkId: string, offset?: number, behavior?: 'auto' | 'smooth' }) => {\r\n const coords = getCoords(document.getElementById(opts.linkId));\r\n const options = { top: Math.max(1, coords.top + (opts.offset ?? 0)), behavior: opts.behavior };\r\n window.scrollTo(options);\r\n\r\n // document.getElementById(opts.linkId).scrollIntoView({\r\n // behavior: opts.behavior\r\n // });\r\n}\r\n\r\nfunction getCoords(elem: HTMLElement) { // crossbrowser version\r\n var box = elem.getBoundingClientRect();\r\n\r\n var body = document.body;\r\n var docEl = document.documentElement;\r\n\r\n var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\r\n var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\r\n\r\n var clientTop = docEl.clientTop || body.clientTop || 0;\r\n var clientLeft = docEl.clientLeft || body.clientLeft || 0;\r\n\r\n var top = box.top + scrollTop - clientTop;\r\n var left = box.left + scrollLeft - clientLeft;\r\n var bottom = box.bottom + scrollTop - clientTop;\r\n var right = box.right + scrollLeft - clientLeft;\r\n\r\n return {\r\n top: Math.round(top),\r\n left: Math.round(left),\r\n bottom: Math.round(bottom),\r\n right: Math.round(right)\r\n };\r\n}\r\n","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;","/**\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 != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;","import freeGlobal from './_freeGlobal.js';\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\nexport default root;","import root from './_root.js';\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 */\n\nvar now = function now() {\n return root.Date.now();\n};\n\nexport default now;","import root from './_root.js';\n/** Built-in value references. */\n\nvar Symbol = root.Symbol;\nexport default Symbol;","import \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.object.to-string\";\nimport Symbol from './_Symbol.js';\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n\n return result;\n}\n\nexport default getRawTag;","import \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.object.to-string\";\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar nativeObjectToString = objectProto.toString;\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n/** `Object#toString` result references. */\n\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n/** Built-in value references. */\n\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\n\nexport default baseGetTag;","/**\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 != null && typeof value == 'object';\n}\n\nexport default isObjectLike;","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\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 */\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n}\n\nexport default isSymbol;","import \"core-js/modules/es6.regexp.replace\";\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\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 */\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\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}\n\nexport default toNumber;","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n/** Error message constants. */\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\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 */\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\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\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\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\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // 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\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n/** Error message constants. */\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` 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 throttled 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 `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;","import debounce from \"lodash-es/debounce\";\nimport throttle from \"lodash-es/throttle\";\nexport var listHandle = {\n debounce: debounce,\n throttle: throttle\n};\nexport var getHandle = function getHandle(type) {\n return listHandle[type];\n};\nexport var isFunction = function isFunction(fn) {\n return typeof fn === 'function';\n};\nexport var isSSR = function isSSR() {\n return typeof window === 'undefined';\n};\nexport var isDOMElement = function isDOMElement(element) {\n return element instanceof Element || element instanceof HTMLDocument;\n};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.reflect.construct\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.index-of\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport React, { PureComponent, isValidElement, cloneElement, createRef } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport rafSchd from 'raf-schd';\nimport { getHandle, isFunction, isSSR, isDOMElement } from \"../lib/utils\";\n\nvar ResizeDetector = /*#__PURE__*/function (_PureComponent) {\n _inherits(ResizeDetector, _PureComponent);\n\n var _super = _createSuper(ResizeDetector);\n\n function ResizeDetector(props) {\n var _this;\n\n _classCallCheck(this, ResizeDetector);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"cancelHandler\", function () {\n if (_this.resizeHandler && _this.resizeHandler.cancel) {\n // cancel debounced handler\n _this.resizeHandler.cancel();\n\n _this.resizeHandler = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"rafClean\", function () {\n if (_this.raf && _this.raf.cancel) {\n _this.raf.cancel();\n\n _this.raf = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggleObserver\", function (type) {\n var element = _this.getElement();\n\n if (!element || !_this.resizeObserver[type]) return;\n\n _this.resizeObserver[type](element);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getElement\", function () {\n var _this$props = _this.props,\n querySelector = _this$props.querySelector,\n targetDomEl = _this$props.targetDomEl;\n if (isSSR()) return undefined; // in case we pass a querySelector\n\n if (querySelector) return document.querySelector(querySelector); // in case we pass a DOM element\n\n if (targetDomEl && isDOMElement(targetDomEl)) return targetDomEl; // in case we pass a React ref using React.createRef()\n\n if (_this.targetRef && isDOMElement(_this.targetRef.current)) return _this.targetRef.current; // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n // eslint-disable-next-line react/no-find-dom-node\n\n var currentElement = findDOMNode(_assertThisInitialized(_this));\n if (!currentElement) return undefined;\n\n var renderType = _this.getRenderType();\n\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n\n case 'childFunction':\n return currentElement;\n\n case 'child':\n return currentElement;\n\n case 'childArray':\n return currentElement;\n\n default:\n return currentElement.parentElement;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"createUpdater\", function () {\n _this.rafClean();\n\n _this.raf = rafSchd(function (_ref) {\n var width = _ref.width,\n height = _ref.height;\n var onResize = _this.props.onResize;\n\n if (isFunction(onResize)) {\n onResize(width, height);\n }\n\n _this.setState({\n width: width,\n height: height\n });\n });\n return _this.raf;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"createResizeHandler\", function (entries) {\n var _this$state = _this.state,\n widthCurrent = _this$state.width,\n heightCurrent = _this$state.height;\n var _this$props2 = _this.props,\n handleWidth = _this$props2.handleWidth,\n handleHeight = _this$props2.handleHeight;\n if (!handleWidth && !handleHeight) return;\n\n var updater = _this.createUpdater();\n\n entries.forEach(function (entry) {\n var _ref2 = entry && entry.contentRect || {},\n width = _ref2.width,\n height = _ref2.height;\n\n var isWidthChanged = handleWidth && widthCurrent !== width;\n var isHeightChanged = handleHeight && heightCurrent !== height;\n var isSizeChanged = isWidthChanged || isHeightChanged;\n var shouldSetSize = !_this.skipOnMount && isSizeChanged && !isSSR();\n\n if (shouldSetSize) {\n updater({\n width: width,\n height: height\n });\n }\n\n _this.skipOnMount = false;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getRenderType\", function () {\n var _this$props3 = _this.props,\n render = _this$props3.render,\n children = _this$props3.children;\n\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n\n if (isFunction(children)) {\n return 'childFunction';\n }\n\n if ( /*#__PURE__*/isValidElement(children)) {\n return 'child';\n }\n\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n } // DEPRECATED. Use `Child Function Pattern` instead\n\n\n return 'parent';\n });\n\n var skipOnMount = props.skipOnMount,\n refreshMode = props.refreshMode,\n refreshRate = props.refreshRate,\n refreshOptions = props.refreshOptions;\n _this.state = {\n width: undefined,\n height: undefined\n };\n _this.skipOnMount = skipOnMount;\n _this.raf = null;\n _this.unmounted = false;\n _this.targetRef = /*#__PURE__*/createRef();\n var handle = getHandle(refreshMode);\n _this.resizeHandler = handle ? handle(_this.createResizeHandler, refreshRate, refreshOptions) : _this.createResizeHandler;\n _this.resizeObserver = new ResizeObserver(_this.resizeHandler);\n return _this;\n }\n\n _createClass(ResizeDetector, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var targetRef = this.props.targetRef;\n\n if (targetRef && targetRef.current) {\n this.targetRef.current = targetRef.current;\n }\n\n this.toggleObserver('observe');\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.toggleObserver('unobserve');\n this.rafClean();\n this.cancelHandler();\n this.unmounted = true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n render = _this$props4.render,\n children = _this$props4.children,\n WrapperTag = _this$props4.nodeType;\n var _this$state2 = this.state,\n width = _this$state2.width,\n height = _this$state2.height;\n var childProps = {\n width: width,\n height: height,\n targetRef: this.targetRef\n };\n var renderType = this.getRenderType();\n\n switch (renderType) {\n case 'renderProp':\n return render(childProps);\n\n case 'childFunction':\n return children(childProps);\n\n case 'child':\n // @TODO bug prone logic\n if (typeof children.type === 'string') {\n // child is a native DOM elements such as div, span etc\n var targetRef = childProps.targetRef,\n nativeProps = _objectWithoutProperties(childProps, [\"targetRef\"]);\n\n return /*#__PURE__*/cloneElement(children, nativeProps);\n } // class or functional component otherwise\n\n\n return /*#__PURE__*/cloneElement(children, childProps);\n\n case 'childArray':\n return children.map(function (el) {\n return !!el && /*#__PURE__*/cloneElement(el, childProps);\n });\n\n default:\n return /*#__PURE__*/React.createElement(WrapperTag, null);\n }\n }\n }]);\n\n return ResizeDetector;\n}(PureComponent);\n\nResizeDetector.defaultProps = {\n handleWidth: true,\n handleHeight: true,\n skipOnMount: false,\n refreshRate: 1000,\n refreshMode: undefined,\n refreshOptions: undefined,\n querySelector: null,\n targetDomEl: null,\n targetRef: null,\n onResize: null,\n render: undefined,\n children: null,\n nodeType: 'div'\n};\nexport default ResizeDetector;","import ResizeDetector from \"./components/ResizeDetector\";\nimport withResizeDetector from \"./hoc/withResizeDetector\";\nexport { withResizeDetector };\nexport default ResizeDetector;","import React, { useCallback, useEffect, useState } from 'react';\r\nimport ReactResizeDetector from 'react-resize-detector';\r\nimport styles from './FullscreenContainer.module.scss';\r\nimport { OverlayFrame } from './OverlayFrame';\r\n\r\nexport const FullscreenContainer = (props: {\r\n children: (opened: boolean) => React.ReactNode,\r\n className?: string,\r\n onClose: () => void,\r\n bottom?: React.ReactNode\r\n}) => {\r\n const { children, className, onClose, bottom } = props;\r\n\r\n useEffect(() => {\r\n const onKey = (event: KeyboardEvent) => {\r\n if (event.key == 'Escape')\r\n onClose();\r\n };\r\n\r\n window.addEventListener('keydown', onKey);\r\n\r\n return () => window.removeEventListener('keydown', onKey);\r\n }, [onClose]);\r\n\r\n const [contentContainerSize, setContainerSize] = useState({ width: undefined, height: undefined });\r\n\r\n const onResize = useCallback((width: number, height: number) => {\r\n const size = { width, height: height - 84 };\r\n\r\n let h = size.width * 9 / 16;\r\n let w = size.height * 16 / 9;\r\n\r\n if (w < width)\r\n h = size.height;\r\n else\r\n w = size.width;\r\n\r\n setContainerSize({ width: w, height: h });\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {(opened) => (\r\n
\r\n
\r\n
\r\n e.stopPropagation()}\r\n >\r\n
Loading...
\r\n
\r\n {children(opened)}\r\n
\r\n
\r\n
\r\n {bottom}\r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n}\r\n","import React from 'react';\r\n\r\nexport const YouTubeVideoPlayer = (props: { videoId: string, width: number | string, height: number | string }) => {\r\n const { videoId, width, height } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import classnames from 'classnames';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport SwipeableViews from 'react-swipeable-views';\r\nimport { FullscreenContainer } from './FullscreenContainer';\r\nimport * as styles from './Gallery.module.scss';\r\nimport { YouTubeVideoPlayer } from './YouTubeVideoPlayer';\r\n\r\nexport interface IGalleryItem {\r\n thumbnail: string,\r\n image?: string,\r\n youTubeVideo?: {\r\n cover: string,\r\n videoId: string,\r\n }\r\n}\r\n\r\nexport const Gallery = (props: { items: IGalleryItem[] }) => {\r\n const { items } = props;\r\n\r\n const [index, setIndex] = useState(0);\r\n const [mouseDownIndex, setMouseDownIndex] = useState(undefined);\r\n const [zoomedIndex, setZoomedIndex] = useState(undefined);\r\n\r\n const goTo = useCallback((value: number) => {\r\n setIndex(value);\r\n }, []);\r\n const previous = useCallback(() => {\r\n setIndex(Math.max(0, index - 1));\r\n }, [index]);\r\n const next = useCallback(() => {\r\n setIndex(Math.min(items.length - 1, index + 1));\r\n }, [index, items]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n setMouseDownIndex(undefined);\r\n }}\r\n >\r\n {\r\n items.map((item, itemIndex) => {\r\n return (\r\n {\r\n setMouseDownIndex(itemIndex);\r\n }}\r\n onMouseUp={() => {\r\n if (mouseDownIndex === itemIndex) {\r\n if (mouseDownIndex == index) {\r\n setZoomedIndex(itemIndex);\r\n }\r\n else {\r\n setIndex(mouseDownIndex);\r\n }\r\n }\r\n setMouseDownIndex(undefined);\r\n }}\r\n >\r\n
\r\n \r\n {\r\n item.youTubeVideo !== undefined &&\r\n \r\n }\r\n
\r\n
\r\n );\r\n })\r\n }\r\n \r\n
\r\n
\r\n
\r\n {\r\n items.map((item, itemIndex) => {\r\n return (\r\n goTo(itemIndex)}\r\n />\r\n );\r\n })\r\n }\r\n
\r\n {\r\n zoomedIndex !== undefined &&\r\n setZoomedIndex(undefined)}\r\n />\r\n }\r\n \r\n );\r\n}\r\n\r\nconst FullscreenGallery = (props: { items: IGalleryItem[], initialIndex?: number, onClose: () => void }) => {\r\n const { items, initialIndex, onClose } = props;\r\n\r\n const [index, setIndex] = useState(initialIndex ?? 0);\r\n\r\n useEffect(() => {\r\n const onKey = (event: KeyboardEvent) => {\r\n switch (event.key) {\r\n case 'ArrowLeft':\r\n previous();\r\n break;\r\n case 'ArrowRight':\r\n next();\r\n break;\r\n }\r\n };\r\n\r\n window.addEventListener('keydown', onKey);\r\n\r\n return () => window.removeEventListener('keydown', onKey);\r\n });\r\n\r\n const goTo = useCallback((value: number) => {\r\n setIndex(value);\r\n }, []);\r\n const previous = useCallback(() => {\r\n setIndex(Math.max(0, index - 1));\r\n }, [index]);\r\n const next = useCallback(() => {\r\n setIndex(Math.min(items.length - 1, index + 1));\r\n }, [index, items]);\r\n\r\n return (\r\n \r\n {\r\n items.map((item, itemIndex) => {\r\n return (\r\n {\r\n e.stopPropagation();\r\n goTo(itemIndex);\r\n }}\r\n />\r\n );\r\n })\r\n }\r\n \r\n )}\r\n >\r\n {(opened) => (\r\n
\r\n setIndex(index)}\r\n >\r\n {\r\n items.map((item, itemIndex) => {\r\n return (\r\n \r\n
\r\n {\r\n item.image &&\r\n \r\n }\r\n {\r\n item.youTubeVideo && (\r\n \r\n )\r\n }\r\n {\r\n opened && item.youTubeVideo && index === itemIndex && (\r\n
\r\n \r\n
\r\n )\r\n }\r\n
\r\n
\r\n );\r\n })\r\n }\r\n \r\n \r\n )}\r\n \r\n );\r\n}","import React from 'react';\r\nimport * as styles from \"../pages/index.module.scss\";\r\n\r\nconst height = 300;\r\n\r\nexport const TiltedSeparator = (props: {\r\n topDelta?: number,\r\n angle: number,\r\n leftColor?: string,\r\n mainColor: string,\r\n rightColor?: string,\r\n}) => {\r\n const { topDelta, angle, leftColor, mainColor, rightColor } = props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport ReactResizeDetector from 'react-resize-detector';\r\n\r\nexport const VerticalExpander = (props: { expanded: boolean, children: React.ReactNode }) => {\r\n const { expanded, children } = props;\r\n\r\n const [childrenHeight, setChildrenHeight] = useState(undefined);\r\n\r\n const onResize = (_width: number, height: number) => {\r\n setChildrenHeight(height);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import classnames from 'classnames';\nimport { graphql } from 'gatsby';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport logoDrigtingLands from '../assets/logo-driftinglands.svg';\nimport logoForetales from '../assets/logo-foretales.svg';\nimport logoTranscripted from '../assets/logo-transcripted.svg';\nimport studioMember01 from '../assets/studio-member-01.png';\nimport studioMember02 from '../assets/studio-member-02.png';\nimport studioMember03 from '../assets/studio-member-03.png';\nimport studioMember04 from '../assets/studio-member-04.png';\nimport studioMember05 from '../assets/studio-member-05.png';\nimport { Anchor } from '../components/Anchor';\nimport { AnchorLink, useScrollOnHistory } from '../components/AnchorLink';\nimport { FullscreenContainer } from '../components/FullscreenContainer';\nimport { Gallery, IGalleryItem } from \"../components/Gallery\";\nimport { TiltedSeparator } from '../components/TiltedSeparator';\nimport { VerticalExpander } from '../components/VerticalExpander';\n// import { Wip } from '../components/Wip';\nimport { YouTubeVideoPlayer } from '../components/YouTubeVideoPlayer';\nimport * as styles from './index.module.scss';\n\nexport const query = graphql`\n query {\n currentBuildDate {\n currentDate\n }\n }\n`;\n\nexport default function Home(props: { data: { currentBuildDate: { currentDate: string } } }) {\n const { data } = props;\n\n useEffect(() => {\n console.log(`Build: ${data.currentBuildDate.currentDate}`);\n }, []);\n\n // return ;\n\n useScrollOnHistory();\n\n const [displayShowreel, setDisplayShowreel] = useState(false);\n\n const playShowreel = useCallback(() => setDisplayShowreel(true), []);\n const closeShowreel = useCallback(() => setDisplayShowreel(false), []);\n\n return (\n
\n\n
\n \n \n \n \n \n \n \n
\n\n {\n displayShowreel && (\n \n {(opened) => (\n opened && \n )}\n \n )\n }\n\n
\n )\n}\n\nexport const Header = (props: { home: boolean }) => {\n const { home } = props;\n\n const sections = ['showreel', 'studio', 'games', 'services'];\n const [activeSection, setActiveSection] = useState();\n\n useEffect(() => {\n if (!home) return;\n\n const onScroll = () => {\n const result = sections.map((section) => {\n const rect = document.getElementsByClassName(section)[0].getBoundingClientRect();\n const distance = Math.min(Math.abs(rect.top - 150), Math.abs(rect.bottom - 151));\n return { section, distance };\n }).sort((a, b) => a.distance < b.distance ? -1 : 1);\n\n setActiveSection(result[0].section);\n };\n\n onScroll();\n\n window.addEventListener('scroll', onScroll);\n\n return () => {\n window.removeEventListener('scroll', onScroll);\n }\n }, [home]);\n\n const onEmailClick = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n\n const details = {\n mail: 'mail',\n to: 'to',\n contact: 'contact',\n domain: 'alkemi-games.com'\n };\n\n window.open(details.mail + details.to + ':' + details.contact + '@' + details.domain);\n }, []);\n\n return (\n <>\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n Studio\n \n \n Games\n \n \n Services\n \n
\n
\n \n \n \n
\n
\n
\n {\n home &&\n
\n }\n \n );\n}\n\nconst Showreel = (props: { playShowreel: () => void }) => {\n const { playShowreel } = props;\n\n return (\n
\n \n
\n
\n
\n
\n \n
\n
\n
Play our Showreel!
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n}\n\nconst Studio = () => {\n return (\n
\n \n
\n
\n The Studio\n
\n
\n Alkemi is more than 10 years old now. We’re a small team of craft people\n making our own games and other visual stuff but mostly in the game industry.\n We make medium sized games, polished games, sometimes weird games and we\n focus on making stuff that you’ve probably never played before. We also\n work for others, bringing our technical and artistic expertise to create\n solutions, assets & tools.\n
\n
\n
\n \n Alain Puget\n
\n
\n \n Christophe Zerr\n
\n
\n \n Pierre-Vincent Cabourg\n
\n
\n \n Kevin Struillou\n
\n
\n \n Anaïs Lehoux\n
\n
\n
\n
\n );\n}\n\nconst Games = () => {\n return (\n
\n \n
\n
\n
\n Our Games\n
\n \n Foretales is a new kind of card game where narration and\n experimentation blend with deck mechanics. It’s currently in\n development and it will be awesome.\n
\n \n
\n \n }\n galleryItems={[\n {\n thumbnail: 'games-foretales-00-thumb.jpg',\n youTubeVideo: {\n cover: 'games-foretales-00-cover.jpg',\n videoId: 'jaMqr33Wbhs'\n },\n },\n {\n thumbnail: 'games-foretales-01-thumb.jpg',\n image: 'games-foretales-01.jpg',\n },\n {\n thumbnail: 'games-foretales-02-thumb.jpg',\n image: 'games-foretales-02.jpg',\n },\n {\n thumbnail: 'games-foretales-03-thumb.jpg',\n image: 'games-foretales-03.jpg',\n },\n {\n thumbnail: 'games-foretales-04-thumb.jpg',\n image: 'games-foretales-04.jpg',\n },\n ]}\n />\n \n \n What would happen if you ripped out the mindless mouse clicking\n of a modern Diablo-like and replaced it with an old school shootemup\n gameplay? If you keep the loot, the choice of skills and powers, the\n customization of your equipment, Drifting Lands will happen.\n
\n \n
\n \n }\n galleryItems={[\n {\n thumbnail: 'games-driftinglands-00-thumb.jpg',\n youTubeVideo: {\n cover: 'games-driftinglands-00-cover.jpg',\n videoId: 'QoLxZCYA_t4'\n },\n },\n {\n thumbnail: 'games-driftinglands-01-thumb.jpg',\n image: 'games-driftinglands-01.jpg',\n },\n {\n thumbnail: 'games-driftinglands-02-thumb.jpg',\n image: 'games-driftinglands-02.jpg',\n },\n {\n thumbnail: 'games-driftinglands-03-thumb.jpg',\n image: 'games-driftinglands-03.jpg',\n },\n {\n thumbnail: 'games-driftinglands-04-thumb.jpg',\n image: 'games-driftinglands-04.jpg',\n },\n ]}\n />\n \n \n Imagine a mix of Twin stick shooters with a match-3 game… Weird idea\n right? The crazy thing is that it actually works and will bend your\n brain in a few new and satisfying ways!\n
\n \n \n \n \n
\n \n }\n galleryItems={[\n {\n thumbnail: 'games-transcripted-00-thumb.jpg',\n youTubeVideo: {\n cover: 'games-transcripted-00-cover.jpg',\n videoId: 'qXDiO8oCavM'\n },\n },\n {\n thumbnail: 'games-transcripted-01-thumb.jpg',\n image: 'games-transcripted-01.jpg',\n },\n {\n thumbnail: 'games-transcripted-02-thumb.jpg',\n image: 'games-transcripted-02.jpg',\n },\n {\n thumbnail: 'games-transcripted-03-thumb.jpg',\n image: 'games-transcripted-03.jpg',\n },\n {\n thumbnail: 'games-transcripted-04-thumb.jpg',\n image: 'games-transcripted-04.jpg',\n },\n ]}\n />\n
\n
\n
\n );\n}\n\nconst Game = (props: { logo: any, text: React.ReactNode, galleryItems: IGalleryItem[] }) => {\n const { logo, text, galleryItems } = props;\n\n const [expanded, setExpanded] = useState(false);\n const expand = useCallback(() => setExpanded(true), []);\n\n return (\n
\n
\n
\n \n
\n
\n {text}\n
\n
\n \n \n \n \n \n \n
\n );\n}\n\nconst Services = () => {\n return (\n
\n \n
\n
\n Our Services\n
\n \n Tools & Dev Support\n \n }\n text={\n <>\n To manage large amounts of game data or assets, we make our own\n tools: sometimes in Unity for asset management, but mostly web\n based tools to create multi-users collaborative editors synchronized\n with the game. If you’re struggling to create friendly environments\n for narrative design, game balancing, localization… maybe we can help.\n \n }\n />\n \n \n VFX & Tech Art\n \n }\n text={\n <>\n Our favorite challenge? “How to make the final game look like the\n original amazing concept arts”. We bend shaders and rendering to\n create original, cool looking and consistent art styles for our\n games or yours.\n\n We’re more or less all technical artists here, so we do a lot of\n Fizzzzzzz, BOOM, KzzKzzzz... always with minimum processing power\n and texture size.\n \n }\n />\n \n \n Trailers & Promo Art\n \n }\n text={\n

\n We’ve been working in the digital marketing industry for more than\n a decade now. Doing trailers, video ads, banners, website skins for\n small indie games and huge AAA games. We know how to make cool visual\n stuff for all kinds of budgets whatever the starting material may be.\n For years, we’ve been doing most of those cool things with our friends\n at Biborg, one of the\n top creative agencies for the gaming industry.\n

\n }\n />\n
\n
\n );\n}\n\nconst Service = (props: { videoSrcs: { src: string, type: string }[], title: React.ReactNode, text: React.ReactNode }) => {\n const { videoSrcs, title, text } = props;\n\n return (\n
\n
\n
\n \n
\n
\n
\n {title}\n
\n {text}\n
\n
\n
\n );\n}\n\nconst Footer = () => {\n return (\n
\n
\n
\n Alkemi - 2020\n
\n
\n
\n );\n}\n\nconst LineSeparator = (props: { color: string }) => {\n const { color } = props;\n\n return (\n
\n );\n}\n\n","module.exports = \"data:image/png;base64,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\"","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","require(\"core-js/modules/es6.array.is-array\");\n\n/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames[\"default\"] = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _default = {\n RESISTANCE_COEF: 0.6,\n // This value is closed to what browsers are using internally to\n // trigger a native scroll.\n UNCERTAINTY_THRESHOLD: 3 // px\n\n};\nexports[\"default\"] = _default;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\nexport default freeGlobal;","require(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\n(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a