{"version":3,"sources":["../node_modules/focus-visible/dist/focus-visible.js","../node_modules/hyperapp/src/index.js","../node_modules/@hyperapp/render/browser/module.js","../dist/tippy.js","../node_modules/prismjs/prism.js","../node_modules/feather-icons/dist/feather.js","0","js/components/Header.js","../node_modules/twemoji/2/twemoji.npm.js","js/utils.js","js/components/Demo.js","js/components/Code.js","js/components/GettingStarted.js","js/components/CreatingTooltips.js","js/components/CustomizingTooltips.js","js/components/AllOptions.js","js/components/Props.js","js/components/Methods.js","js/components/CreatingHTMLTemplates.js","js/components/CreatingCustomThemes.js","js/components/BrowserSupport.js","js/components/Performance.js","js/components/Main.js","js/state.js","../node_modules/animejs/anime.min.js","js/actions.js","index.js"],"names":["h","name","attributes","length","rest","children","arguments","push","node","pop","key","app","state","actions","view","container","map","skipRender","rootElement","oldNode","recycleElement","element","nodeName","toLowerCase","call","childNodes","nodeType","nodeValue","lifecycle","isRecycling","globalState","clone","wiredActions","wireStateToActions","path","action","data","result","getPartialState","then","setPartialState","concat","scheduleRender","resolveNode","render","patch","parent","isSvg","newElement","createElement","document","createTextNode","createElementNS","oncreate","i","appendChild","insertBefore","updateElement","oldAttributes","cb","onupdate","oldKeyed","newKeyed","oldElements","oldChildren","oldKey","getKey","k","newKey","keyedNode","target","source","out","value","slice","eventListener","event","currentTarget","events","type","updateAttribute","oldValue","style","setProperty","addEventListener","removeEventListener","setAttribute","removeAttribute","removeElement","done","removeChild","removeChildren","ondestroy","onremove","styleNameCache","Map","uppercasePattern","msPattern","voidElements","Set","ignoreAttributes","escapeRegExp","escapeLookup","escaper","match","get","escapeHtml","replace","hyphenateStyleName","styleName","set","stringifyStyles","styles","delimiter","styleNames","Object","keys","styleValue","renderFragment","_ref","stack","footer","has","innerHTML","renderer","end","bytes","frame","childIndex","renderToString","Infinity","withRender","nextApp","initialState","actionsTemplate","assign","toString","getState","global","factory","exports","module","define","amd","tippy","version","isBrowser","window","isIE","test","navigator","userAgent","browser","supported","supportsTouch","usingTouch","dynamicInputDetection","iOS","platform","MSStream","onUserInputChange","selectors","defaults","body","defaultsKeys","isObjectLiteral","toArray","prefix","property","prefixes","upperProp","charAt","toUpperCase","_prefix","prefixedProp","div","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","prototype","_extends","hasOwnProperty","getInnerElements","popper","select","s","querySelector","TOOLTIP","BACKDROP","CONTENT","ARROW","ROUND_ARROW","removeTitle","el","title","getAttribute","isBrowser$1","longerTimeoutBrowsers","timeoutDuration","indexOf","supportsMicroTasks","debounce","Promise","microtaskDebounce","fn","called","resolve","taskDebounce","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","getComputedStyle","getParentNode","parentNode","host","getScrollParent","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE$1","getOffsetParent","documentElement","offsetParent","noOffsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","range","createRange","setStart","setEnd","commonAncestorContainer","contains","isOffsetContainer","firstElementChild","element1root","getScroll","side","upperSide","undefined","html","scrollingElement","getBordersSize","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","getWindowSizes","classCallCheck$1","createClass$1","defineProperty$1","obj","_extends$1","getClientRect","offsets","left","width","top","height","getBoundingClientRect","rect","scrollTop","scrollLeft","bottom","right","e","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","includeScroll","subtract","modifier","getFixedPositionOffsetParent","parentElement","getBoundaries","reference","padding","boundariesElement","boundaries","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","getArea","sort","a","b","area","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","findIndex","prop","cur","forEach","warn","enabled","isModifierEnabled","modifierName","some","getSupportedPropertyName","toCheck","getWindow","defaultView","setupEventListeners","options","updateBound","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","removeEventListeners","scheduleUpdate","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","size","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","positionFixed","priority","escapeWithReference","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","FLIP","CLOCKWISE","COUNTERCLOCKWISE","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","arrowStyles","applyStyle","setAttributes","applyStyleOnLoad","modifierOptions","Popper","_this","requestAnimationFrame","update","bind","jquery","onLoad","enableEventListeners","isDestroyed","isCreated","onUpdate","onCreate","destroy","removeOnDestroy","getPopperPlacement","transformNumbersBasedOnPlacementAxis","numbers","isReverse","transformAxis","computeArrowTransform","arrowTransform","getAxis","re","getNumbers","matches","computedTransform","translate","scale","getOffsetDistanceInPx","distance","Utils","PopperUtils","Element","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","querySelectorAll","item","matches$1","closest","parentSelector","selector","getValue","isArray","setVisibilityState","els","applyTransitionDuration","Boolean","focus","scrollX","pageXOffset","scrollY","pageYOffset","store","Tippy","config","_key","_","duration","destroyed","_getInnerElements","tooltip","backdrop","content","dynamicTitle","hasAttribute","refObj","onShow","visibility","visible","_mount","popperInstance","livePlacement","_hasFollowCursorBehavior","_createPopperInstance","_getInnerElements5","margin","updatePopperPosition","updateAlreadyCalled","reflow","appendTo","delay","lastTriggerEvent","followCursorListener","lastMouseMoveEvent","interactive","classList","add","sticky","_makeSticky","_this9","updatePosition","updateDuration","id","onShown","_this2","_getInnerElements2","onHide","remove","trigger","isPreparingToShow","onHidden","_this3","destroyTargetInstances","listeners","listener","handler","_tippy","attr","child","mutationObservers","observer","disconnect","followCursor","_enter","_this4","_createDelegateChildTippy","targetEl","wait","show","_setFollowCursorListener","_this8","_$lastMouseMoveEvent","clientX","clientY","_getInnerElements3","showTimeout","setTimeout","_leave","_this5","hideTimeout","_getEventListeners","_this6","onTrigger","touchHold","hideOnClick","onMouseLeave","onMouseMove","referenceCursorIsOver","REFERENCE","cursorIsOverPopper","POPPER","cursorIsOverReference","cursorIsOutsideInteractiveBorder","interactiveBorder","borderWithDistance","exceeds","onBlur","relatedTarget","onDelegateShow","onDelegateHide","_this7","popperOptions","arrowSelector","arrowType","flipBehavior","_clearDelayTimeouts","_addMutationObserver","MutationObserver","observe","_onTransitionEnd","_getInnerElements6","toggleListeners","transitionendListener","idCounter","createTooltips","acc","evaluateOptions","animateFill","performance","getIndividualOptions","instanceOptions","val","JSON","parse","createPopperElement","zIndex","maxWidth","animation","theme","t","inertia","templateId","allowTitleHTML","createPopperInstanceOnInit","eventType","createTrigger","handlers","on","_reference","hideAllPoppers","excludeTippy","eventListenersBound","tippy$1","one","bindEventListeners","time","onDocumentTouch","onDocumentMouseMove","now","isClickTrigger","isMultiple","multiple","_document","activeElement","blur","tippyInstance","maxTouchPoints","msMaxTouchPoints","classNames","references","getArrayOfElements","NodeList","firstReference","tooltips","disableAnimations","description","author","license","keywords","main","repository","url","scripts","dev:docs","build:docs","dev","build","prettier","jest","setupFiles","printWidth","semi","singleQuote","browserslist","devDependencies","@hyperapp/render","animejs","autoprefixer","babel-core","babel-jest","babel-plugin-external-helpers","babel-plugin-transform-object-assign","babel-plugin-transform-object-rest-spread","babel-plugin-transform-react-jsx","babel-preset-env","babel-preset-es2015-rollup","babel-preset-stage-2","caniuse-lite","cssnano","eslint","feather-icons","focus-visible","hyperapp","jsdom","mutation-observer","node-sass","normalize.css","parcel-bundler","postcss","postcss-cssnext","postcss-import","postcss-pxtorem","prismjs","rollup","rollup-plugin-babel","rollup-plugin-babel-minify","rollup-plugin-commonjs","rollup-plugin-css-only","rollup-plugin-json","rollup-plugin-node-resolve","rollup-plugin-sass","twemoji","dependencies","popper.js","header","logo","animateLogo","animateVersion","animateItems","emoji","char","demo","htmlTippy","lang","pkg","allOptions","ajaxTippy","creatingHTMLTemplates","fontWeight","pointerEvents","onclick","template","initialText","textContent","tip","loading","resp","blob","URL","createObjectURL","catch","tag","output","fs","__prerenderRequire","readFileSync","writeFileSync","highlightAll","location","scrollIntoView"],"mappings":"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","file":"website.7afbc085.map","sourceRoot":"../website","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * https://github.com/WICG/focus-ring\n */\nfunction init() {\n  var hadKeyboardEvent = true;\n  var hadFocusVisibleRecently = false;\n  var hadFocusVisibleRecentlyTimeout = null;\n  var inputTypesWhitelist = {\n    text: true,\n    search: true,\n    url: true,\n    tel: true,\n    email: true,\n    password: true,\n    number: true,\n    date: true,\n    month: true,\n    week: true,\n    time: true,\n    datetime: true,\n    'datetime-local': true\n  };\n\n  /**\n   * Helper function for legacy browsers and iframes which sometimes focus\n   * elements like document and body.\n   * @param {Element} el\n   */\n  function isValidFocusTarget(el) {\n    if (\n      el &&\n      el !== document &&\n      el.nodeName !== 'HTML' &&\n      el.nodeName !== 'BODY'\n    ) {\n      return true;\n    }\n    return false;\n  }\n\n  /**\n   * Computes whether the given element should automatically trigger the\n   * `focus-visible` class being added, i.e. whether it should always match\n   * `:focus-visible` when focused.\n   * @param {Element} el\n   * @return {boolean}\n   */\n  function focusTriggersKeyboardModality(el) {\n    var type = el.type;\n    var tagName = el.tagName;\n\n    if (tagName == 'INPUT' && inputTypesWhitelist[type] && !el.readonly) {\n      return true;\n    }\n\n    if (tagName == 'TEXTAREA' && !el.readonly) {\n      return true;\n    }\n\n    if (el.contentEditable == 'true') {\n      return true;\n    }\n\n    return false;\n  }\n\n  /**\n   * Add the `focus-visible` class to the given element if it was not added by\n   * the author.\n   * @param {Element} el\n   */\n  function addFocusVisibleClass(el) {\n    if (el.classList.contains('focus-visible')) {\n      return;\n    }\n    el.classList.add('focus-visible');\n    el.setAttribute('data-focus-visible-added', '');\n  }\n\n  /**\n   * Remove the `focus-visible` class from the given element if it was not\n   * originally added by the author.\n   * @param {Element} el\n   */\n  function removeFocusVisibleClass(el) {\n    if (!el.hasAttribute('data-focus-visible-added')) {\n      return;\n    }\n    el.classList.remove('focus-visible');\n    el.removeAttribute('data-focus-visible-added');\n  }\n\n  /**\n   * Treat `keydown` as a signal that the user is in keyboard modality.\n   * Apply `focus-visible` to any current active element and keep track\n   * of our keyboard modality state with `hadKeyboardEvent`.\n   * @param {Event} e\n   */\n  function onKeyDown(e) {\n    if (isValidFocusTarget(document.activeElement)) {\n      addFocusVisibleClass(document.activeElement);\n    }\n\n    hadKeyboardEvent = true;\n  }\n\n  /**\n   * If at any point a user clicks with a pointing device, ensure that we change\n   * the modality away from keyboard.\n   * This avoids the situation where a user presses a key on an already focused\n   * element, and then clicks on a different element, focusing it with a\n   * pointing device, while we still think we're in keyboard modality.\n   * @param {Event} e\n   */\n  function onPointerDown(e) {\n    hadKeyboardEvent = false;\n  }\n\n  /**\n   * On `focus`, add the `focus-visible` class to the target if:\n   * - the target received focus as a result of keyboard navigation, or\n   * - the event target is an element that will likely require interaction\n   *   via the keyboard (e.g. a text box)\n   * @param {Event} e\n   */\n  function onFocus(e) {\n    // Prevent IE from focusing the document or HTML element.\n    if (!isValidFocusTarget(e.target)) {\n      return;\n    }\n\n    if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n      addFocusVisibleClass(e.target);\n      hadKeyboardEvent = false;\n    }\n  }\n\n  /**\n   * On `blur`, remove the `focus-visible` class from the target.\n   * @param {Event} e\n   */\n  function onBlur(e) {\n    if (!isValidFocusTarget(e.target)) {\n      return;\n    }\n\n    if (e.target.classList.contains('focus-visible')) {\n      // To detect a tab/window switch, we look for a blur event followed\n      // rapidly by a visibility change.\n      // If we don't see a visibility change within 100ms, it's probably a\n      // regular focus change.\n      hadFocusVisibleRecently = true;\n      window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n      hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n        hadFocusVisibleRecently = false;\n        window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n      }, 100);\n      removeFocusVisibleClass(e.target);\n    }\n  }\n\n  /**\n   * If the user changes tabs, keep track of whether or not the previously\n   * focused element had .focus-visible.\n   * @param {Event} e\n   */\n  function onVisibilityChange(e) {\n    if (document.visibilityState == 'hidden') {\n      // If the tab becomes active again, the browser will handle calling focus\n      // on the element (Safari actually calls it twice).\n      // If this tab change caused a blur on an element with focus-visible,\n      // re-apply the class when the user switches back to the tab.\n      if (hadFocusVisibleRecently) {\n        hadKeyboardEvent = true;\n      }\n      addInitialPointerMoveListeners();\n    }\n  }\n\n  /**\n   * Add a group of listeners to detect usage of any pointing devices.\n   * These listeners will be added when the polyfill first loads, and anytime\n   * the window is blurred, so that they are active when the window regains\n   * focus.\n   */\n  function addInitialPointerMoveListeners() {\n    document.addEventListener('mousemove', onInitialPointerMove);\n    document.addEventListener('mousedown', onInitialPointerMove);\n    document.addEventListener('mouseup', onInitialPointerMove);\n    document.addEventListener('pointermove', onInitialPointerMove);\n    document.addEventListener('pointerdown', onInitialPointerMove);\n    document.addEventListener('pointerup', onInitialPointerMove);\n    document.addEventListener('touchmove', onInitialPointerMove);\n    document.addEventListener('touchstart', onInitialPointerMove);\n    document.addEventListener('touchend', onInitialPointerMove);\n  }\n\n  function removeInitialPointerMoveListeners() {\n    document.removeEventListener('mousemove', onInitialPointerMove);\n    document.removeEventListener('mousedown', onInitialPointerMove);\n    document.removeEventListener('mouseup', onInitialPointerMove);\n    document.removeEventListener('pointermove', onInitialPointerMove);\n    document.removeEventListener('pointerdown', onInitialPointerMove);\n    document.removeEventListener('pointerup', onInitialPointerMove);\n    document.removeEventListener('touchmove', onInitialPointerMove);\n    document.removeEventListener('touchstart', onInitialPointerMove);\n    document.removeEventListener('touchend', onInitialPointerMove);\n  }\n\n  /**\n   * When the polfyill first loads, assume the user is in keyboard modality.\n   * If any event is received from a pointing device (e.g. mouse, pointer,\n   * touch), turn off keyboard modality.\n   * This accounts for situations where focus enters the page from the URL bar.\n   * @param {Event} e\n   */\n  function onInitialPointerMove(e) {\n    // Work around a Safari quirk that fires a mousemove on <html> whenever the\n    // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n    if (e.target.nodeName.toLowerCase() === 'html') {\n      return;\n    }\n\n    hadKeyboardEvent = false;\n    removeInitialPointerMoveListeners();\n  }\n\n  document.addEventListener('keydown', onKeyDown, true);\n  document.addEventListener('mousedown', onPointerDown, true);\n  document.addEventListener('pointerdown', onPointerDown, true);\n  document.addEventListener('touchstart', onPointerDown, true);\n  document.addEventListener('focus', onFocus, true);\n  document.addEventListener('blur', onBlur, true);\n  document.addEventListener('visibilitychange', onVisibilityChange, true);\n  addInitialPointerMoveListeners();\n\n  document.body.classList.add('js-focus-visible');\n}\n\n/**\n * Subscription when the DOM is ready\n * @param {Function} callback\n */\nfunction onDOMReady(callback) {\n  var loaded;\n\n  /**\n   * Callback wrapper for check loaded state\n   */\n  function load() {\n    if (!loaded) {\n      loaded = true;\n\n      callback();\n    }\n  }\n\n  if (document.readyState === 'complete') {\n    callback();\n  } else {\n    loaded = false;\n    document.addEventListener('DOMContentLoaded', load, false);\n    window.addEventListener('load', load, false);\n  }\n}\n\nif (typeof document !== 'undefined') {\n  onDOMReady(init);\n}\n\n})));\n","export function h(name, attributes) {\n  var rest = []\n  var children = []\n  var length = arguments.length\n\n  while (length-- > 2) rest.push(arguments[length])\n\n  while (rest.length) {\n    var node = rest.pop()\n    if (node && node.pop) {\n      for (length = node.length; length--; ) {\n        rest.push(node[length])\n      }\n    } else if (node != null && node !== true && node !== false) {\n      children.push(node)\n    }\n  }\n\n  return typeof name === \"function\"\n    ? name(attributes || {}, children)\n    : {\n        nodeName: name,\n        attributes: attributes || {},\n        children: children,\n        key: attributes && attributes.key\n      }\n}\n\nexport function app(state, actions, view, container) {\n  var map = [].map\n  var rootElement = (container && container.children[0]) || null\n  var oldNode = rootElement && recycleElement(rootElement)\n  var lifecycle = []\n  var skipRender\n  var isRecycling = true\n  var globalState = clone(state)\n  var wiredActions = wireStateToActions([], globalState, clone(actions))\n\n  scheduleRender()\n\n  return wiredActions\n\n  function recycleElement(element) {\n    return {\n      nodeName: element.nodeName.toLowerCase(),\n      attributes: {},\n      children: map.call(element.childNodes, function(element) {\n        return element.nodeType === 3 // Node.TEXT_NODE\n          ? element.nodeValue\n          : recycleElement(element)\n      })\n    }\n  }\n\n  function resolveNode(node) {\n    return typeof node === \"function\"\n      ? resolveNode(node(globalState, wiredActions))\n      : node != null\n        ? node\n        : \"\"\n  }\n\n  function render() {\n    skipRender = !skipRender\n\n    var node = resolveNode(view)\n\n    if (container && !skipRender) {\n      rootElement = patch(container, rootElement, oldNode, (oldNode = node))\n    }\n\n    isRecycling = false\n\n    while (lifecycle.length) lifecycle.pop()()\n  }\n\n  function scheduleRender() {\n    if (!skipRender) {\n      skipRender = true\n      setTimeout(render)\n    }\n  }\n\n  function clone(target, source) {\n    var out = {}\n\n    for (var i in target) out[i] = target[i]\n    for (var i in source) out[i] = source[i]\n\n    return out\n  }\n\n  function setPartialState(path, value, source) {\n    var target = {}\n    if (path.length) {\n      target[path[0]] =\n        path.length > 1\n          ? setPartialState(path.slice(1), value, source[path[0]])\n          : value\n      return clone(source, target)\n    }\n    return value\n  }\n\n  function getPartialState(path, source) {\n    var i = 0\n    while (i < path.length) {\n      source = source[path[i++]]\n    }\n    return source\n  }\n\n  function wireStateToActions(path, state, actions) {\n    for (var key in actions) {\n      typeof actions[key] === \"function\"\n        ? (function(key, action) {\n            actions[key] = function(data) {\n              var result = action(data)\n\n              if (typeof result === \"function\") {\n                result = result(getPartialState(path, globalState), actions)\n              }\n\n              if (\n                result &&\n                result !== (state = getPartialState(path, globalState)) &&\n                !result.then // !isPromise\n              ) {\n                scheduleRender(\n                  (globalState = setPartialState(\n                    path,\n                    clone(state, result),\n                    globalState\n                  ))\n                )\n              }\n\n              return result\n            }\n          })(key, actions[key])\n        : wireStateToActions(\n            path.concat(key),\n            (state[key] = clone(state[key])),\n            (actions[key] = clone(actions[key]))\n          )\n    }\n\n    return actions\n  }\n\n  function getKey(node) {\n    return node ? node.key : null\n  }\n\n  function eventListener(event) {\n    return event.currentTarget.events[event.type](event)\n  }\n\n  function updateAttribute(element, name, value, oldValue, isSvg) {\n    if (name === \"key\") {\n    } else if (name === \"style\") {\n      for (var i in clone(oldValue, value)) {\n        var style = value == null || value[i] == null ? \"\" : value[i]\n        if (i[0] === \"-\") {\n          element[name].setProperty(i, style)\n        } else {\n          element[name][i] = style\n        }\n      }\n    } else {\n      if (name[0] === \"o\" && name[1] === \"n\") {\n        name = name.slice(2)\n\n        if (element.events) {\n          if (!oldValue) oldValue = element.events[name]\n        } else {\n          element.events = {}\n        }\n\n        element.events[name] = value\n\n        if (value) {\n          if (!oldValue) {\n            element.addEventListener(name, eventListener)\n          }\n        } else {\n          element.removeEventListener(name, eventListener)\n        }\n      } else if (name in element && name !== \"list\" && !isSvg) {\n        element[name] = value == null ? \"\" : value\n      } else if (value != null && value !== false) {\n        element.setAttribute(name, value)\n      }\n\n      if (value == null || value === false) {\n        element.removeAttribute(name)\n      }\n    }\n  }\n\n  function createElement(node, isSvg) {\n    var element =\n      typeof node === \"string\" || typeof node === \"number\"\n        ? document.createTextNode(node)\n        : (isSvg = isSvg || node.nodeName === \"svg\")\n          ? document.createElementNS(\n              \"http://www.w3.org/2000/svg\",\n              node.nodeName\n            )\n          : document.createElement(node.nodeName)\n\n    var attributes = node.attributes\n    if (attributes) {\n      if (attributes.oncreate) {\n        lifecycle.push(function() {\n          attributes.oncreate(element)\n        })\n      }\n\n      for (var i = 0; i < node.children.length; i++) {\n        element.appendChild(\n          createElement(\n            (node.children[i] = resolveNode(node.children[i])),\n            isSvg\n          )\n        )\n      }\n\n      for (var name in attributes) {\n        updateAttribute(element, name, attributes[name], null, isSvg)\n      }\n    }\n\n    return element\n  }\n\n  function updateElement(element, oldAttributes, attributes, isSvg) {\n    for (var name in clone(oldAttributes, attributes)) {\n      if (\n        attributes[name] !==\n        (name === \"value\" || name === \"checked\"\n          ? element[name]\n          : oldAttributes[name])\n      ) {\n        updateAttribute(\n          element,\n          name,\n          attributes[name],\n          oldAttributes[name],\n          isSvg\n        )\n      }\n    }\n\n    var cb = isRecycling ? attributes.oncreate : attributes.onupdate\n    if (cb) {\n      lifecycle.push(function() {\n        cb(element, oldAttributes)\n      })\n    }\n  }\n\n  function removeChildren(element, node) {\n    var attributes = node.attributes\n    if (attributes) {\n      for (var i = 0; i < node.children.length; i++) {\n        removeChildren(element.childNodes[i], node.children[i])\n      }\n\n      if (attributes.ondestroy) {\n        attributes.ondestroy(element)\n      }\n    }\n    return element\n  }\n\n  function removeElement(parent, element, node) {\n    function done() {\n      parent.removeChild(removeChildren(element, node))\n    }\n\n    var cb = node.attributes && node.attributes.onremove\n    if (cb) {\n      cb(element, done)\n    } else {\n      done()\n    }\n  }\n\n  function patch(parent, element, oldNode, node, isSvg) {\n    if (node === oldNode) {\n    } else if (oldNode == null || oldNode.nodeName !== node.nodeName) {\n      var newElement = createElement(node, isSvg)\n      parent.insertBefore(newElement, element)\n\n      if (oldNode != null) {\n        removeElement(parent, element, oldNode)\n      }\n\n      element = newElement\n    } else if (oldNode.nodeName == null) {\n      element.nodeValue = node\n    } else {\n      updateElement(\n        element,\n        oldNode.attributes,\n        node.attributes,\n        (isSvg = isSvg || node.nodeName === \"svg\")\n      )\n\n      var oldKeyed = {}\n      var newKeyed = {}\n      var oldElements = []\n      var oldChildren = oldNode.children\n      var children = node.children\n\n      for (var i = 0; i < oldChildren.length; i++) {\n        oldElements[i] = element.childNodes[i]\n\n        var oldKey = getKey(oldChildren[i])\n        if (oldKey != null) {\n          oldKeyed[oldKey] = [oldElements[i], oldChildren[i]]\n        }\n      }\n\n      var i = 0\n      var k = 0\n\n      while (k < children.length) {\n        var oldKey = getKey(oldChildren[i])\n        var newKey = getKey((children[k] = resolveNode(children[k])))\n\n        if (newKeyed[oldKey]) {\n          i++\n          continue\n        }\n\n        if (newKey != null && newKey === getKey(oldChildren[i + 1])) {\n          if (oldKey == null) {\n            removeElement(element, oldElements[i], oldChildren[i])\n          }\n          i++\n          continue\n        }\n\n        if (newKey == null || isRecycling) {\n          if (oldKey == null) {\n            patch(element, oldElements[i], oldChildren[i], children[k], isSvg)\n            k++\n          }\n          i++\n        } else {\n          var keyedNode = oldKeyed[newKey] || []\n\n          if (oldKey === newKey) {\n            patch(element, keyedNode[0], keyedNode[1], children[k], isSvg)\n            i++\n          } else if (keyedNode[0]) {\n            patch(\n              element,\n              element.insertBefore(keyedNode[0], oldElements[i]),\n              keyedNode[1],\n              children[k],\n              isSvg\n            )\n          } else {\n            patch(element, oldElements[i], null, children[k], isSvg)\n          }\n\n          newKeyed[newKey] = children[k]\n          k++\n        }\n      }\n\n      while (i < oldChildren.length) {\n        if (getKey(oldChildren[i]) == null) {\n          removeElement(element, oldElements[i], oldChildren[i])\n        }\n        i++\n      }\n\n      for (var i in oldKeyed) {\n        if (!newKeyed[i]) {\n          removeElement(element, oldKeyed[i][0], oldKeyed[i][1])\n        }\n      }\n    }\n    return element\n  }\n}\n","/*! Hyperapp Render | MIT Licence | https://github.com/hyperapp/render */\n\nvar styleNameCache = new Map();\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\nvar voidElements = new Set(['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr']);\nvar ignoreAttributes = new Set(['key', 'innerHTML', '__source']);\nvar escapeRegExp = /[\"&'<>]/g;\nvar escapeLookup = new Map([['\"', '&quot;'], ['&', '&amp;'], [\"'\", '&#39;'], ['<', '&lt;'], ['>', '&gt;']]);\n\nfunction escaper(match) {\n  return escapeLookup.get(match);\n}\n\nfunction escapeHtml(value) {\n  if (typeof value === 'number') {\n    return '' + value;\n  }\n\n  return ('' + value).replace(escapeRegExp, escaper);\n}\n\nfunction hyphenateStyleName(styleName) {\n  return styleNameCache.get(styleName) || styleNameCache.set(styleName, styleName.replace(uppercasePattern, '-$&').toLowerCase().replace(msPattern, '-ms-')).get(styleName);\n}\n\nfunction stringifyStyles(styles) {\n  var out = '';\n  var delimiter = '';\n  var styleNames = Object.keys(styles);\n\n  for (var i = 0; i < styleNames.length; i++) {\n    var styleName = styleNames[i];\n    var styleValue = styles[styleName];\n\n    if (styleValue != null) {\n      if (styleName === 'cssText') {\n        out += delimiter + styleValue;\n      } else {\n        out += delimiter + hyphenateStyleName(styleName) + ':' + styleValue;\n      }\n\n      delimiter = ';';\n    }\n  }\n\n  return out || null;\n}\n\nfunction renderFragment(_ref, stack) {\n  var nodeName = _ref.nodeName,\n      attributes = _ref.attributes,\n      children = _ref.children;\n  var out = '';\n  var footer = '';\n\n  if (nodeName) {\n    out += '<' + nodeName;\n    var keys = Object.keys(attributes);\n\n    for (var i = 0; i < keys.length; i++) {\n      var name = keys[i];\n      var value = attributes[name];\n\n      if (name === 'style' && value && typeof value === 'object') {\n        value = stringifyStyles(value);\n      }\n\n      if (value != null && value !== false && typeof value !== 'function' && !ignoreAttributes.has(name)) {\n        out += ' ' + name;\n\n        if (value !== true) {\n          out += '=\"' + escapeHtml(value) + '\"';\n        }\n      }\n    }\n\n    if (voidElements.has(nodeName)) {\n      out += '/>';\n    } else {\n      out += '>';\n      footer = '</' + nodeName + '>';\n    }\n  }\n\n  var innerHTML = attributes.innerHTML;\n\n  if (innerHTML != null) {\n    out += innerHTML;\n  }\n\n  if (children.length > 0) {\n    stack.push({\n      childIndex: 0,\n      children: children,\n      footer: footer\n    });\n  } else {\n    out += footer;\n  }\n\n  return out;\n}\n\nfunction resolveNode(node, state, actions) {\n  if (typeof node === 'function') {\n    return resolveNode(node(state, actions), state, actions);\n  }\n\n  return node;\n}\n\nfunction renderer(view, state, actions) {\n  var stack = [{\n    childIndex: 0,\n    children: [view],\n    footer: ''\n  }];\n  var end = false;\n  return function (bytes) {\n    if (end) {\n      return null;\n    }\n\n    var out = '';\n\n    while (out.length < bytes) {\n      if (stack.length === 0) {\n        end = true;\n        break;\n      }\n\n      var frame = stack[stack.length - 1];\n\n      if (frame.childIndex >= frame.children.length) {\n        out += frame.footer;\n        stack.pop();\n      } else {\n        var node = resolveNode(frame.children[frame.childIndex++], state, actions);\n\n        if (node != null && typeof node !== 'boolean') {\n          if (node.pop) {\n            stack.push({\n              childIndex: 0,\n              children: node,\n              footer: ''\n            });\n          } else if (node.attributes) {\n            out += renderFragment(node, stack);\n          } else {\n            out += escapeHtml(node);\n          }\n        }\n      }\n    }\n\n    return out;\n  };\n}\nfunction renderToString(view, state, actions) {\n  return renderer(view, state, actions)(Infinity);\n}\n\nfunction withRender(nextApp) {\n  return function (initialState, actionsTemplate, view, container) {\n    var actions = nextApp(initialState, Object.assign({}, actionsTemplate, {\n      getState: function getState() {\n        return function (state) {\n          return state;\n        };\n      }\n    }), view, container);\n\n    actions.toString = function () {\n      return renderToString(view, actions.getState(), actions);\n    };\n\n    return actions;\n  };\n}\n\nexport { renderToString, withRender };\n//# sourceMappingURL=module.js.map\n","/*!\n* Tippy.js v2.5.3\n* (c) 2017-2018 atomiks\n* MIT\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.tippy = factory());\n}(this, (function () { 'use strict';\n\nvar version = \"2.5.3\";\n\nvar isBrowser = typeof window !== 'undefined';\n\nvar isIE = isBrowser && /MSIE |Trident\\//.test(navigator.userAgent);\n\nvar browser = {};\n\nif (isBrowser) {\n  browser.supported = 'requestAnimationFrame' in window;\n  browser.supportsTouch = 'ontouchstart' in window;\n  browser.usingTouch = false;\n  browser.dynamicInputDetection = true;\n  browser.iOS = /iPhone|iPad|iPod/.test(navigator.platform) && !window.MSStream;\n  browser.onUserInputChange = function () {};\n}\n\n/**\n * Selector constants used for grabbing elements\n */\nvar selectors = {\n  POPPER: '.tippy-popper',\n  TOOLTIP: '.tippy-tooltip',\n  CONTENT: '.tippy-content',\n  BACKDROP: '.tippy-backdrop',\n  ARROW: '.tippy-arrow',\n  ROUND_ARROW: '.tippy-roundarrow',\n  REFERENCE: '[data-tippy]'\n};\n\nvar defaults = {\n  placement: 'top',\n  livePlacement: true,\n  trigger: 'mouseenter focus',\n  animation: 'shift-away',\n  html: false,\n  animateFill: true,\n  arrow: false,\n  delay: 0,\n  duration: [350, 300],\n  interactive: false,\n  interactiveBorder: 2,\n  theme: 'dark',\n  size: 'regular',\n  distance: 10,\n  offset: 0,\n  hideOnClick: true,\n  multiple: false,\n  followCursor: false,\n  inertia: false,\n  updateDuration: 350,\n  sticky: false,\n  appendTo: function appendTo() {\n    return document.body;\n  },\n  zIndex: 9999,\n  touchHold: false,\n  performance: false,\n  dynamicTitle: false,\n  flip: true,\n  flipBehavior: 'flip',\n  arrowType: 'sharp',\n  arrowTransform: '',\n  maxWidth: '',\n  target: null,\n  allowTitleHTML: true,\n  popperOptions: {},\n  createPopperInstanceOnInit: false,\n  onShow: function onShow() {},\n  onShown: function onShown() {},\n  onHide: function onHide() {},\n  onHidden: function onHidden() {}\n};\n\n/**\n * The keys of the defaults object for reducing down into a new object\n * Used in `getIndividualOptions()`\n */\nvar defaultsKeys = browser.supported && Object.keys(defaults);\n\n/**\n * Determines if a value is an object literal\n * @param {*} value\n * @return {Boolean}\n */\nfunction isObjectLiteral(value) {\n  return {}.toString.call(value) === '[object Object]';\n}\n\n/**\n * Ponyfill for Array.from\n * @param {*} value\n * @return {Array}\n */\nfunction toArray(value) {\n  return [].slice.call(value);\n}\n\n/**\n * Returns an array of elements based on the selector input\n * @param {String|Element|Element[]|NodeList|Object} selector\n * @return {Element[]}\n */\nfunction getArrayOfElements(selector) {\n  if (selector instanceof Element || isObjectLiteral(selector)) {\n    return [selector];\n  }\n\n  if (selector instanceof NodeList) {\n    return toArray(selector);\n  }\n\n  if (Array.isArray(selector)) {\n    return selector;\n  }\n\n  try {\n    return toArray(document.querySelectorAll(selector));\n  } catch (_) {\n    return [];\n  }\n}\n\n/**\n * Polyfills needed props/methods for a virtual reference object\n * NOTE: in v3.0 this will be pure\n * @param {Object} reference\n */\nfunction polyfillVirtualReferenceProps(reference) {\n  reference.refObj = true;\n  reference.attributes = reference.attributes || {};\n  reference.setAttribute = function (key, val) {\n    reference.attributes[key] = val;\n  };\n  reference.getAttribute = function (key) {\n    return reference.attributes[key];\n  };\n  reference.removeAttribute = function (key) {\n    delete reference.attributes[key];\n  };\n  reference.hasAttribute = function (key) {\n    return key in reference.attributes;\n  };\n  reference.addEventListener = function () {};\n  reference.removeEventListener = function () {};\n  reference.classList = {\n    classNames: {},\n    add: function add(key) {\n      return reference.classList.classNames[key] = true;\n    },\n    remove: function remove(key) {\n      delete reference.classList.classNames[key];\n      return true;\n    },\n    contains: function contains(key) {\n      return key in reference.classList.classNames;\n    }\n  };\n}\n\n/**\n * Returns the supported prefixed property - only `webkit` is needed, `moz`, `ms` and `o` are obsolete\n * @param {String} property\n * @return {String} - browser supported prefixed property\n */\nfunction prefix(property) {\n  var prefixes = ['', 'webkit'];\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n  for (var i = 0; i < prefixes.length; i++) {\n    var _prefix = prefixes[i];\n    var prefixedProp = _prefix ? _prefix + upperProp : property;\n    if (typeof document.body.style[prefixedProp] !== 'undefined') {\n      return prefixedProp;\n    }\n  }\n\n  return null;\n}\n\n/**\n * Creates a div element\n * @return {Element}\n */\nfunction div() {\n  return document.createElement('div');\n}\n\n/**\n * Creates a popper element then returns it\n * @param {Number} id - the popper id\n * @param {String} title - the tooltip's `title` attribute\n * @param {Object} options - individual options\n * @return {Element} - the popper element\n */\nfunction createPopperElement(id, title, options) {\n  var popper = div();\n  popper.setAttribute('class', 'tippy-popper');\n  popper.setAttribute('role', 'tooltip');\n  popper.setAttribute('id', 'tippy-' + id);\n  popper.style.zIndex = options.zIndex;\n  popper.style.maxWidth = options.maxWidth;\n\n  var tooltip = div();\n  tooltip.setAttribute('class', 'tippy-tooltip');\n  tooltip.setAttribute('data-size', options.size);\n  tooltip.setAttribute('data-animation', options.animation);\n  tooltip.setAttribute('data-state', 'hidden');\n  options.theme.split(' ').forEach(function (t) {\n    tooltip.classList.add(t + '-theme');\n  });\n\n  var content = div();\n  content.setAttribute('class', 'tippy-content');\n\n  if (options.arrow) {\n    var arrow = div();\n    arrow.style[prefix('transform')] = options.arrowTransform;\n\n    if (options.arrowType === 'round') {\n      arrow.classList.add('tippy-roundarrow');\n      arrow.innerHTML = '<svg viewBox=\"0 0 24 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 8s2.021-.015 5.253-4.218C9.584 2.051 10.797 1.007 12 1c1.203-.007 2.416 1.035 3.761 2.782C19.012 8.005 21 8 21 8H3z\"/></svg>';\n    } else {\n      arrow.classList.add('tippy-arrow');\n    }\n\n    tooltip.appendChild(arrow);\n  }\n\n  if (options.animateFill) {\n    // Create animateFill circle element for animation\n    tooltip.setAttribute('data-animatefill', '');\n    var backdrop = div();\n    backdrop.classList.add('tippy-backdrop');\n    backdrop.setAttribute('data-state', 'hidden');\n    tooltip.appendChild(backdrop);\n  }\n\n  if (options.inertia) {\n    // Change transition timing function cubic bezier\n    tooltip.setAttribute('data-inertia', '');\n  }\n\n  if (options.interactive) {\n    tooltip.setAttribute('data-interactive', '');\n  }\n\n  var html = options.html;\n  if (html) {\n    var templateId = void 0;\n\n    if (html instanceof Element) {\n      content.appendChild(html);\n      templateId = '#' + (html.id || 'tippy-html-template');\n    } else {\n      // trick linters: https://github.com/atomiks/tippyjs/issues/197\n      content[true && 'innerHTML'] = document.querySelector(html)[true && 'innerHTML'];\n      templateId = html;\n    }\n\n    popper.setAttribute('data-html', '');\n    tooltip.setAttribute('data-template-id', templateId);\n\n    if (options.interactive) {\n      popper.setAttribute('tabindex', '-1');\n    }\n  } else {\n    content[options.allowTitleHTML ? 'innerHTML' : 'textContent'] = title;\n  }\n\n  tooltip.appendChild(content);\n  popper.appendChild(tooltip);\n\n  return popper;\n}\n\n/**\n * Creates a trigger by adding the necessary event listeners to the reference element\n * @param {String} eventType - the custom event specified in the `trigger` setting\n * @param {Element} reference\n * @param {Object} handlers - the handlers for each event\n * @param {Object} options\n * @return {Array} - array of listener objects\n */\nfunction createTrigger(eventType, reference, handlers, options) {\n  var onTrigger = handlers.onTrigger,\n      onMouseLeave = handlers.onMouseLeave,\n      onBlur = handlers.onBlur,\n      onDelegateShow = handlers.onDelegateShow,\n      onDelegateHide = handlers.onDelegateHide;\n\n  var listeners = [];\n\n  if (eventType === 'manual') return listeners;\n\n  var on = function on(eventType, handler) {\n    reference.addEventListener(eventType, handler);\n    listeners.push({ event: eventType, handler: handler });\n  };\n\n  if (!options.target) {\n    on(eventType, onTrigger);\n\n    if (browser.supportsTouch && options.touchHold) {\n      on('touchstart', onTrigger);\n      on('touchend', onMouseLeave);\n    }\n    if (eventType === 'mouseenter') {\n      on('mouseleave', onMouseLeave);\n    }\n    if (eventType === 'focus') {\n      on(isIE ? 'focusout' : 'blur', onBlur);\n    }\n  } else {\n    if (browser.supportsTouch && options.touchHold) {\n      on('touchstart', onDelegateShow);\n      on('touchend', onDelegateHide);\n    }\n    if (eventType === 'mouseenter') {\n      on('mouseover', onDelegateShow);\n      on('mouseout', onDelegateHide);\n    }\n    if (eventType === 'focus') {\n      on('focusin', onDelegateShow);\n      on('focusout', onDelegateHide);\n    }\n    if (eventType === 'click') {\n      on('click', onDelegateShow);\n    }\n  }\n\n  return listeners;\n}\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/**\n * Returns an object of settings to override global settings\n * @param {Element} reference\n * @param {Object} instanceOptions\n * @return {Object} - individual options\n */\nfunction getIndividualOptions(reference, instanceOptions) {\n  var options = defaultsKeys.reduce(function (acc, key) {\n    var val = reference.getAttribute('data-tippy-' + key.toLowerCase()) || instanceOptions[key];\n\n    // Convert strings to booleans\n    if (val === 'false') val = false;\n    if (val === 'true') val = true;\n\n    // Convert number strings to true numbers\n    if (isFinite(val) && !isNaN(parseFloat(val))) {\n      val = parseFloat(val);\n    }\n\n    // Convert array strings to actual arrays\n    if (key !== 'target' && typeof val === 'string' && val.trim().charAt(0) === '[') {\n      val = JSON.parse(val);\n    }\n\n    acc[key] = val;\n\n    return acc;\n  }, {});\n\n  return _extends({}, instanceOptions, options);\n}\n\n/**\n * Evaluates/modifies the options object for appropriate behavior\n * @param {Element|Object} reference\n * @param {Object} options\n * @return {Object} modified/evaluated options\n */\nfunction evaluateOptions(reference, options) {\n  // animateFill is disabled if an arrow is true\n  if (options.arrow) {\n    options.animateFill = false;\n  }\n\n  if (options.appendTo && typeof options.appendTo === 'function') {\n    options.appendTo = options.appendTo();\n  }\n\n  if (typeof options.html === 'function') {\n    options.html = options.html(reference);\n  }\n\n  return options;\n}\n\n/**\n * Returns inner elements of the popper element\n * @param {Element} popper\n * @return {Object}\n */\nfunction getInnerElements(popper) {\n  var select = function select(s) {\n    return popper.querySelector(s);\n  };\n  return {\n    tooltip: select(selectors.TOOLTIP),\n    backdrop: select(selectors.BACKDROP),\n    content: select(selectors.CONTENT),\n    arrow: select(selectors.ARROW) || select(selectors.ROUND_ARROW)\n  };\n}\n\n/**\n * Removes the title from an element, setting `data-original-title`\n * appropriately\n * @param {Element} el\n */\nfunction removeTitle(el) {\n  var title = el.getAttribute('title');\n  // Only set `data-original-title` attr if there is a title\n  if (title) {\n    el.setAttribute('data-original-title', title);\n  }\n  el.removeAttribute('title');\n}\n\n/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.3\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser$1 = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n  if (isBrowser$1 && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n    timeoutDuration = 1;\n    break;\n  }\n}\n\nfunction microtaskDebounce(fn) {\n  var called = false;\n  return function () {\n    if (called) {\n      return;\n    }\n    called = true;\n    window.Promise.resolve().then(function () {\n      called = false;\n      fn();\n    });\n  };\n}\n\nfunction taskDebounce(fn) {\n  var scheduled = false;\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      setTimeout(function () {\n        scheduled = false;\n        fn();\n      }, timeoutDuration);\n    }\n  };\n}\n\nvar supportsMicroTasks = isBrowser$1 && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n  if (element.nodeType !== 1) {\n    return [];\n  }\n  // NOTE: 1 DOM access here\n  var css = getComputedStyle(element, null);\n  return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n  if (element.nodeName === 'HTML') {\n    return element;\n  }\n  return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n  if (!element) {\n    return document.body;\n  }\n\n  switch (element.nodeName) {\n    case 'HTML':\n    case 'BODY':\n      return element.ownerDocument.body;\n    case '#document':\n      return element.body;\n  }\n\n  // Firefox want us to check `-x` and `-y` variations as well\n\n  var _getStyleComputedProp = getStyleComputedProperty(element),\n      overflow = _getStyleComputedProp.overflow,\n      overflowX = _getStyleComputedProp.overflowX,\n      overflowY = _getStyleComputedProp.overflowY;\n\n  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n    return element;\n  }\n\n  return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser$1 && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser$1 && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE$1(version) {\n  if (version === 11) {\n    return isIE11;\n  }\n  if (version === 10) {\n    return isIE10;\n  }\n  return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n  if (!element) {\n    return document.documentElement;\n  }\n\n  var noOffsetParent = isIE$1(10) ? document.body : null;\n\n  // NOTE: 1 DOM access here\n  var offsetParent = element.offsetParent;\n  // Skip hidden elements which don't have an offsetParent\n  while (offsetParent === noOffsetParent && element.nextElementSibling) {\n    offsetParent = (element = element.nextElementSibling).offsetParent;\n  }\n\n  var nodeName = offsetParent && offsetParent.nodeName;\n\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n    return element ? element.ownerDocument.documentElement : document.documentElement;\n  }\n\n  // .offsetParent will return the closest TD or TABLE in case\n  // no offsetParent is present, I hate this job...\n  if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n    return getOffsetParent(offsetParent);\n  }\n\n  return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY') {\n    return false;\n  }\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n  if (node.parentNode !== null) {\n    return getRoot(node.parentNode);\n  }\n\n  return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n    return document.documentElement;\n  }\n\n  // Here we make sure to give as \"start\" the element that comes first in the DOM\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n  var start = order ? element1 : element2;\n  var end = order ? element2 : element1;\n\n  // Get common ancestor container\n  var range = document.createRange();\n  range.setStart(start, 0);\n  range.setEnd(end, 0);\n  var commonAncestorContainer = range.commonAncestorContainer;\n\n  // Both nodes are inside #document\n\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n    if (isOffsetContainer(commonAncestorContainer)) {\n      return commonAncestorContainer;\n    }\n\n    return getOffsetParent(commonAncestorContainer);\n  }\n\n  // one of the nodes is inside shadowDOM, find which one\n  var element1root = getRoot(element1);\n  if (element1root.host) {\n    return findCommonOffsetParent(element1root.host, element2);\n  } else {\n    return findCommonOffsetParent(element1, getRoot(element2).host);\n  }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    var html = element.ownerDocument.documentElement;\n    var scrollingElement = element.ownerDocument.scrollingElement || html;\n    return scrollingElement[upperSide];\n  }\n\n  return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var scrollTop = getScroll(element, 'top');\n  var scrollLeft = getScroll(element, 'left');\n  var modifier = subtract ? -1 : 1;\n  rect.top += scrollTop * modifier;\n  rect.bottom += scrollTop * modifier;\n  rect.left += scrollLeft * modifier;\n  rect.right += scrollLeft * modifier;\n  return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n  var sideA = axis === 'x' ? 'Left' : 'Top';\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n  return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE$1(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n  var body = document.body;\n  var html = document.documentElement;\n  var computedStyle = isIE$1(10) && getComputedStyle(html);\n\n  return {\n    height: getSize('Height', body, html, computedStyle),\n    width: getSize('Width', body, html, computedStyle)\n  };\n}\n\nvar classCallCheck$1 = function classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass$1 = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\nvar defineProperty$1 = function defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\nvar _extends$1 = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n  return _extends$1({}, offsets, {\n    right: offsets.left + offsets.width,\n    bottom: offsets.top + offsets.height\n  });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n  var rect = {};\n\n  // IE10 10 FIX: Please, don't ask, the element isn't\n  // considered in DOM in some circumstances...\n  // This isn't reproducible in IE10 compatibility mode of IE11\n  try {\n    if (isIE$1(10)) {\n      rect = element.getBoundingClientRect();\n      var scrollTop = getScroll(element, 'top');\n      var scrollLeft = getScroll(element, 'left');\n      rect.top += scrollTop;\n      rect.left += scrollLeft;\n      rect.bottom += scrollTop;\n      rect.right += scrollLeft;\n    } else {\n      rect = element.getBoundingClientRect();\n    }\n  } catch (e) {}\n\n  var result = {\n    left: rect.left,\n    top: rect.top,\n    width: rect.right - rect.left,\n    height: rect.bottom - rect.top\n  };\n\n  // subtract scrollbar size from sizes\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n  var width = sizes.width || element.clientWidth || result.right - result.left;\n  var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n  var horizScrollbar = element.offsetWidth - width;\n  var vertScrollbar = element.offsetHeight - height;\n\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n  // we make this check conditional for performance reasons\n  if (horizScrollbar || vertScrollbar) {\n    var styles = getStyleComputedProperty(element);\n    horizScrollbar -= getBordersSize(styles, 'x');\n    vertScrollbar -= getBordersSize(styles, 'y');\n\n    result.width -= horizScrollbar;\n    result.height -= vertScrollbar;\n  }\n\n  return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n  var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var isIE10 = isIE$1(10);\n  var isHTML = parent.nodeName === 'HTML';\n  var childrenRect = getBoundingClientRect(children);\n  var parentRect = getBoundingClientRect(parent);\n  var scrollParent = getScrollParent(children);\n\n  var styles = getStyleComputedProperty(parent);\n  var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n  var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n  // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n  if (fixedPosition && parent.nodeName === 'HTML') {\n    parentRect.top = Math.max(parentRect.top, 0);\n    parentRect.left = Math.max(parentRect.left, 0);\n  }\n  var offsets = getClientRect({\n    top: childrenRect.top - parentRect.top - borderTopWidth,\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\n    width: childrenRect.width,\n    height: childrenRect.height\n  });\n  offsets.marginTop = 0;\n  offsets.marginLeft = 0;\n\n  // Subtract margins of documentElement in case it's being used as parent\n  // we do this only on HTML because it's the only element that behaves\n  // differently when margins are applied to it. The margins are included in\n  // the box of the documentElement, in the other cases not.\n  if (!isIE10 && isHTML) {\n    var marginTop = parseFloat(styles.marginTop, 10);\n    var marginLeft = parseFloat(styles.marginLeft, 10);\n\n    offsets.top -= borderTopWidth - marginTop;\n    offsets.bottom -= borderTopWidth - marginTop;\n    offsets.left -= borderLeftWidth - marginLeft;\n    offsets.right -= borderLeftWidth - marginLeft;\n\n    // Attach marginTop and marginLeft because in some circumstances we may need them\n    offsets.marginTop = marginTop;\n    offsets.marginLeft = marginLeft;\n  }\n\n  if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n    offsets = includeScroll(offsets, parent);\n  }\n\n  return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n  var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var html = element.ownerDocument.documentElement;\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n  var scrollTop = !excludeScroll ? getScroll(html) : 0;\n  var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n  var offset = {\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n    width: width,\n    height: height\n  };\n\n  return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n  var nodeName = element.nodeName;\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    return false;\n  }\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\n    return true;\n  }\n  return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element || !element.parentElement || isIE$1()) {\n    return document.documentElement;\n  }\n  var el = element.parentElement;\n  while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n    el = el.parentElement;\n  }\n  return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n  var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n  // NOTE: 1 DOM access here\n\n  var boundaries = { top: 0, left: 0 };\n  var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n  // Handle viewport case\n  if (boundariesElement === 'viewport') {\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n  } else {\n    // Handle other cases based on DOM element used as boundaries\n    var boundariesNode = void 0;\n    if (boundariesElement === 'scrollParent') {\n      boundariesNode = getScrollParent(getParentNode(reference));\n      if (boundariesNode.nodeName === 'BODY') {\n        boundariesNode = popper.ownerDocument.documentElement;\n      }\n    } else if (boundariesElement === 'window') {\n      boundariesNode = popper.ownerDocument.documentElement;\n    } else {\n      boundariesNode = boundariesElement;\n    }\n\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n    // In case of HTML, we need a different computation\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n      var _getWindowSizes = getWindowSizes(),\n          height = _getWindowSizes.height,\n          width = _getWindowSizes.width;\n\n      boundaries.top += offsets.top - offsets.marginTop;\n      boundaries.bottom = height + offsets.top;\n      boundaries.left += offsets.left - offsets.marginLeft;\n      boundaries.right = width + offsets.left;\n    } else {\n      // for all the other DOM elements, this one is good\n      boundaries = offsets;\n    }\n  }\n\n  // Add paddings\n  boundaries.left += padding;\n  boundaries.top += padding;\n  boundaries.right -= padding;\n  boundaries.bottom -= padding;\n\n  return boundaries;\n}\n\nfunction getArea(_ref) {\n  var width = _ref.width,\n      height = _ref.height;\n\n  return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n  if (placement.indexOf('auto') === -1) {\n    return placement;\n  }\n\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n  var rects = {\n    top: {\n      width: boundaries.width,\n      height: refRect.top - boundaries.top\n    },\n    right: {\n      width: boundaries.right - refRect.right,\n      height: boundaries.height\n    },\n    bottom: {\n      width: boundaries.width,\n      height: boundaries.bottom - refRect.bottom\n    },\n    left: {\n      width: refRect.left - boundaries.left,\n      height: boundaries.height\n    }\n  };\n\n  var sortedAreas = Object.keys(rects).map(function (key) {\n    return _extends$1({\n      key: key\n    }, rects[key], {\n      area: getArea(rects[key])\n    });\n  }).sort(function (a, b) {\n    return b.area - a.area;\n  });\n\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\n    var width = _ref2.width,\n        height = _ref2.height;\n    return width >= popper.clientWidth && height >= popper.clientHeight;\n  });\n\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n  var variation = placement.split('-')[1];\n\n  return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n  var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n  var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n  var styles = getComputedStyle(element);\n  var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n  var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n  var result = {\n    width: element.offsetWidth + y,\n    height: element.offsetHeight + x\n  };\n  return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n  placement = placement.split('-')[0];\n\n  // Get popper node sizes\n  var popperRect = getOuterSizes(popper);\n\n  // Add position, width and height to our offsets object\n  var popperOffsets = {\n    width: popperRect.width,\n    height: popperRect.height\n  };\n\n  // depending by the popper placement we have to compute its offsets slightly differently\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n  var mainSide = isHoriz ? 'top' : 'left';\n  var secondarySide = isHoriz ? 'left' : 'top';\n  var measurement = isHoriz ? 'height' : 'width';\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n  if (placement === secondarySide) {\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n  } else {\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n  }\n\n  return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n  // use native find if supported\n  if (Array.prototype.find) {\n    return arr.find(check);\n  }\n\n  // use `filter` to obtain the same behavior of `find`\n  return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n  // use native findIndex if supported\n  if (Array.prototype.findIndex) {\n    return arr.findIndex(function (cur) {\n      return cur[prop] === value;\n    });\n  }\n\n  // use `find` + `indexOf` if `findIndex` isn't supported\n  var match = find(arr, function (obj) {\n    return obj[prop] === value;\n  });\n  return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n  modifiersToRun.forEach(function (modifier) {\n    if (modifier['function']) {\n      // eslint-disable-line dot-notation\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n    }\n    var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n    if (modifier.enabled && isFunction(fn)) {\n      // Add properties to offsets to make them a complete clientRect object\n      // we do this before each modifier to make sure the previous one doesn't\n      // mess with these values\n      data.offsets.popper = getClientRect(data.offsets.popper);\n      data.offsets.reference = getClientRect(data.offsets.reference);\n\n      data = fn(data, modifier);\n    }\n  });\n\n  return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n  // if popper is destroyed, don't perform any further update\n  if (this.state.isDestroyed) {\n    return;\n  }\n\n  var data = {\n    instance: this,\n    styles: {},\n    arrowStyles: {},\n    attributes: {},\n    flipped: false,\n    offsets: {}\n  };\n\n  // compute reference element offsets\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n  // store the computed placement inside `originalPlacement`\n  data.originalPlacement = data.placement;\n\n  data.positionFixed = this.options.positionFixed;\n\n  // compute the popper offsets\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n  data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n  // run the modifiers\n  data = runModifiers(this.modifiers, data);\n\n  // the first `update` will call `onCreate` callback\n  // the other ones will call `onUpdate` callback\n  if (!this.state.isCreated) {\n    this.state.isCreated = true;\n    this.options.onCreate(data);\n  } else {\n    this.options.onUpdate(data);\n  }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n  return modifiers.some(function (_ref) {\n    var name = _ref.name,\n        enabled = _ref.enabled;\n    return enabled && name === modifierName;\n  });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n  for (var i = 0; i < prefixes.length; i++) {\n    var prefix = prefixes[i];\n    var toCheck = prefix ? '' + prefix + upperProp : property;\n    if (typeof document.body.style[toCheck] !== 'undefined') {\n      return toCheck;\n    }\n  }\n  return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n  this.state.isDestroyed = true;\n\n  // touch DOM only if `applyStyle` modifier is enabled\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n    this.popper.removeAttribute('x-placement');\n    this.popper.style.position = '';\n    this.popper.style.top = '';\n    this.popper.style.left = '';\n    this.popper.style.right = '';\n    this.popper.style.bottom = '';\n    this.popper.style.willChange = '';\n    this.popper.style[getSupportedPropertyName('transform')] = '';\n  }\n\n  this.disableEventListeners();\n\n  // remove the popper if user explicity asked for the deletion on destroy\n  // do not use `remove` because IE11 doesn't support it\n  if (this.options.removeOnDestroy) {\n    this.popper.parentNode.removeChild(this.popper);\n  }\n  return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n  var ownerDocument = element.ownerDocument;\n  return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n  var isBody = scrollParent.nodeName === 'BODY';\n  var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n  target.addEventListener(event, callback, { passive: true });\n\n  if (!isBody) {\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n  }\n  scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n  // Resize event listener on window\n  state.updateBound = updateBound;\n  getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n  // Scroll event listener on scroll parents\n  var scrollElement = getScrollParent(reference);\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n  state.scrollElement = scrollElement;\n  state.eventsEnabled = true;\n\n  return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n  if (!this.state.eventsEnabled) {\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n  }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n  // Remove resize event listener on window\n  getWindow(reference).removeEventListener('resize', state.updateBound);\n\n  // Remove scroll event listener on scroll parents\n  state.scrollParents.forEach(function (target) {\n    target.removeEventListener('scroll', state.updateBound);\n  });\n\n  // Reset state\n  state.updateBound = null;\n  state.scrollParents = [];\n  state.scrollElement = null;\n  state.eventsEnabled = false;\n  return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n  if (this.state.eventsEnabled) {\n    cancelAnimationFrame(this.scheduleUpdate);\n    this.state = removeEventListeners(this.reference, this.state);\n  }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n  Object.keys(styles).forEach(function (prop) {\n    var unit = '';\n    // add unit if the value is numeric and is one of the following\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n      unit = 'px';\n    }\n    element.style[prop] = styles[prop] + unit;\n  });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n  Object.keys(attributes).forEach(function (prop) {\n    var value = attributes[prop];\n    if (value !== false) {\n      element.setAttribute(prop, attributes[prop]);\n    } else {\n      element.removeAttribute(prop);\n    }\n  });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n  // any property present in `data.styles` will be applied to the popper,\n  // in this way we can make the 3rd party modifiers add custom styles to it\n  // Be aware, modifiers could override the properties defined in the previous\n  // lines of this modifier!\n  setStyles(data.instance.popper, data.styles);\n\n  // any property present in `data.attributes` will be applied to the popper,\n  // they will be set as HTML attributes of the element\n  setAttributes(data.instance.popper, data.attributes);\n\n  // if arrowElement is defined and arrowStyles has some properties\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n    setStyles(data.arrowElement, data.arrowStyles);\n  }\n\n  return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n  // compute reference element offsets\n  var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n  popper.setAttribute('x-placement', placement);\n\n  // Apply `position` to popper before anything else because\n  // without the position applied we can't guarantee correct computations\n  setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n  return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n  var x = options.x,\n      y = options.y;\n  var popper = data.offsets.popper;\n\n  // Remove this legacy support in Popper.js v2\n\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'applyStyle';\n  }).gpuAcceleration;\n  if (legacyGpuAccelerationOption !== undefined) {\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n  }\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n  var offsetParent = getOffsetParent(data.instance.popper);\n  var offsetParentRect = getBoundingClientRect(offsetParent);\n\n  // Styles\n  var styles = {\n    position: popper.position\n  };\n\n  // Avoid blurry text by using full pixel integers.\n  // For pixel-perfect positioning, top/bottom prefers rounded\n  // values, while left/right prefers floored values.\n  var offsets = {\n    left: Math.floor(popper.left),\n    top: Math.round(popper.top),\n    bottom: Math.round(popper.bottom),\n    right: Math.floor(popper.right)\n  };\n\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\n  var sideB = y === 'right' ? 'left' : 'right';\n\n  // if gpuAcceleration is set to `true` and transform is supported,\n  //  we use `translate3d` to apply the position to the popper we\n  // automatically use the supported prefixed version if needed\n  var prefixedProperty = getSupportedPropertyName('transform');\n\n  // now, let's make a step back and look at this code closely (wtf?)\n  // If the content of the popper grows once it's been positioned, it\n  // may happen that the popper gets misplaced because of the new content\n  // overflowing its reference element\n  // To avoid this problem, we provide two options (x and y), which allow\n  // the consumer to define the offset origin.\n  // If we position a popper on top of a reference element, we can set\n  // `x` to `top` to make the popper grow towards its top instead of\n  // its bottom.\n  var left = void 0,\n      top = void 0;\n  if (sideA === 'bottom') {\n    top = -offsetParentRect.height + offsets.bottom;\n  } else {\n    top = offsets.top;\n  }\n  if (sideB === 'right') {\n    left = -offsetParentRect.width + offsets.right;\n  } else {\n    left = offsets.left;\n  }\n  if (gpuAcceleration && prefixedProperty) {\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n    styles[sideA] = 0;\n    styles[sideB] = 0;\n    styles.willChange = 'transform';\n  } else {\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n    var invertTop = sideA === 'bottom' ? -1 : 1;\n    var invertLeft = sideB === 'right' ? -1 : 1;\n    styles[sideA] = top * invertTop;\n    styles[sideB] = left * invertLeft;\n    styles.willChange = sideA + ', ' + sideB;\n  }\n\n  // Attributes\n  var attributes = {\n    'x-placement': data.placement\n  };\n\n  // Update `data` attributes, styles and arrowStyles\n  data.attributes = _extends$1({}, attributes, data.attributes);\n  data.styles = _extends$1({}, styles, data.styles);\n  data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles);\n\n  return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n  var requesting = find(modifiers, function (_ref) {\n    var name = _ref.name;\n    return name === requestingName;\n  });\n\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n  });\n\n  if (!isRequired) {\n    var _requesting = '`' + requestingName + '`';\n    var requested = '`' + requestedName + '`';\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n  }\n  return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n  var _data$offsets$arrow;\n\n  // arrow depends on keepTogether in order to work\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n    return data;\n  }\n\n  var arrowElement = options.element;\n\n  // if arrowElement is a string, suppose it's a CSS selector\n  if (typeof arrowElement === 'string') {\n    arrowElement = data.instance.popper.querySelector(arrowElement);\n\n    // if arrowElement is not found, don't run the modifier\n    if (!arrowElement) {\n      return data;\n    }\n  } else {\n    // if the arrowElement isn't a query selector we must check that the\n    // provided DOM node is child of its popper node\n    if (!data.instance.popper.contains(arrowElement)) {\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\n      return data;\n    }\n  }\n\n  var placement = data.placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n  var len = isVertical ? 'height' : 'width';\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\n  var side = sideCapitalized.toLowerCase();\n  var altSide = isVertical ? 'left' : 'top';\n  var opSide = isVertical ? 'bottom' : 'right';\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n  //\n  // extends keepTogether behavior making sure the popper and its\n  // reference have enough pixels in conjuction\n  //\n\n  // top/left side\n  if (reference[opSide] - arrowElementSize < popper[side]) {\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n  }\n  // bottom/right side\n  if (reference[side] + arrowElementSize > popper[opSide]) {\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n  }\n  data.offsets.popper = getClientRect(data.offsets.popper);\n\n  // compute center of the popper\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n  // Compute the sideValue using the updated popper offsets\n  // take popper margin in account because we don't have this info available\n  var css = getStyleComputedProperty(data.instance.popper);\n  var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n  var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n  // prevent arrowElement from being placed not contiguously to its popper\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n  data.arrowElement = arrowElement;\n  data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty$1(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty$1(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n  return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n  if (variation === 'end') {\n    return 'start';\n  } else if (variation === 'start') {\n    return 'end';\n  }\n  return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var index = validPlacements.indexOf(placement);\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n  return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n  FLIP: 'flip',\n  CLOCKWISE: 'clockwise',\n  COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n    return data;\n  }\n\n  if (data.flipped && data.placement === data.originalPlacement) {\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n    return data;\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n  var placement = data.placement.split('-')[0];\n  var placementOpposite = getOppositePlacement(placement);\n  var variation = data.placement.split('-')[1] || '';\n\n  var flipOrder = [];\n\n  switch (options.behavior) {\n    case BEHAVIORS.FLIP:\n      flipOrder = [placement, placementOpposite];\n      break;\n    case BEHAVIORS.CLOCKWISE:\n      flipOrder = clockwise(placement);\n      break;\n    case BEHAVIORS.COUNTERCLOCKWISE:\n      flipOrder = clockwise(placement, true);\n      break;\n    default:\n      flipOrder = options.behavior;\n  }\n\n  flipOrder.forEach(function (step, index) {\n    if (placement !== step || flipOrder.length === index + 1) {\n      return data;\n    }\n\n    placement = data.placement.split('-')[0];\n    placementOpposite = getOppositePlacement(placement);\n\n    var popperOffsets = data.offsets.popper;\n    var refOffsets = data.offsets.reference;\n\n    // using floor because the reference offsets may contain decimals we are not going to consider here\n    var floor = Math.floor;\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n    // flip the variation if required\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\n      // this boolean to detect any flip loop\n      data.flipped = true;\n\n      if (overlapsRef || overflowsBoundaries) {\n        placement = flipOrder[index + 1];\n      }\n\n      if (flippedVariation) {\n        variation = getOppositeVariation(variation);\n      }\n\n      data.placement = placement + (variation ? '-' + variation : '');\n\n      // this object contains `position`, we want to preserve it along with\n      // any additional property we may add in the future\n      data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n      data = runModifiers(data.instance.modifiers, data, 'flip');\n    }\n  });\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var placement = data.placement.split('-')[0];\n  var floor = Math.floor;\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n  var side = isVertical ? 'right' : 'bottom';\n  var opSide = isVertical ? 'left' : 'top';\n  var measurement = isVertical ? 'width' : 'height';\n\n  if (popper[side] < floor(reference[opSide])) {\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n  }\n  if (popper[opSide] > floor(reference[side])) {\n    data.offsets.popper[opSide] = floor(reference[side]);\n  }\n\n  return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n  // separate value from unit\n  var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n  var value = +split[1];\n  var unit = split[2];\n\n  // If it's not a number it's an operator, I guess\n  if (!value) {\n    return str;\n  }\n\n  if (unit.indexOf('%') === 0) {\n    var element = void 0;\n    switch (unit) {\n      case '%p':\n        element = popperOffsets;\n        break;\n      case '%':\n      case '%r':\n      default:\n        element = referenceOffsets;\n    }\n\n    var rect = getClientRect(element);\n    return rect[measurement] / 100 * value;\n  } else if (unit === 'vh' || unit === 'vw') {\n    // if is a vh or vw, we calculate the size based on the viewport\n    var size = void 0;\n    if (unit === 'vh') {\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n    } else {\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    }\n    return size / 100 * value;\n  } else {\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\n    // if is an implicit unit, it's px, and we return just the value\n    return value;\n  }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n  var offsets = [0, 0];\n\n  // Use height if placement is left or right and index is 0 otherwise use width\n  // in this way the first offset will use an axis and the second one\n  // will use the other one\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n  // Split the offset string to obtain a list of values and operands\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n  var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n    return frag.trim();\n  });\n\n  // Detect if the offset string contains a pair of values or a single one\n  // they could be separated by comma or space\n  var divider = fragments.indexOf(find(fragments, function (frag) {\n    return frag.search(/,|\\s/) !== -1;\n  }));\n\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n  }\n\n  // If divider is found, we divide the list of values and operands to divide\n  // them by ofset X and Y.\n  var splitRegex = /\\s*,\\s*|\\s+/;\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n  // Convert the values with units to absolute pixels to allow our computations\n  ops = ops.map(function (op, index) {\n    // Most of the units rely on the orientation of the popper\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n    var mergeWithPrevious = false;\n    return op\n    // This aggregates any `+` or `-` sign that aren't considered operators\n    // e.g.: 10 + +5 => [10, +, +5]\n    .reduce(function (a, b) {\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n        a[a.length - 1] = b;\n        mergeWithPrevious = true;\n        return a;\n      } else if (mergeWithPrevious) {\n        a[a.length - 1] += b;\n        mergeWithPrevious = false;\n        return a;\n      } else {\n        return a.concat(b);\n      }\n    }, [])\n    // Here we convert the string values into number values (in px)\n    .map(function (str) {\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\n    });\n  });\n\n  // Loop trough the offsets arrays and execute the operations\n  ops.forEach(function (op, index) {\n    op.forEach(function (frag, index2) {\n      if (isNumeric(frag)) {\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n      }\n    });\n  });\n  return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n  var offset = _ref.offset;\n  var placement = data.placement,\n      _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var basePlacement = placement.split('-')[0];\n\n  var offsets = void 0;\n  if (isNumeric(+offset)) {\n    offsets = [+offset, 0];\n  } else {\n    offsets = parseOffset(offset, popper, reference, basePlacement);\n  }\n\n  if (basePlacement === 'left') {\n    popper.top += offsets[0];\n    popper.left -= offsets[1];\n  } else if (basePlacement === 'right') {\n    popper.top += offsets[0];\n    popper.left += offsets[1];\n  } else if (basePlacement === 'top') {\n    popper.left += offsets[0];\n    popper.top -= offsets[1];\n  } else if (basePlacement === 'bottom') {\n    popper.left += offsets[0];\n    popper.top += offsets[1];\n  }\n\n  data.popper = popper;\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n  // If offsetParent is the reference element, we really want to\n  // go one step up and use the next offsetParent as reference to\n  // avoid to make this modifier completely useless and look like broken\n  if (data.instance.reference === boundariesElement) {\n    boundariesElement = getOffsetParent(boundariesElement);\n  }\n\n  // NOTE: DOM access here\n  // resets the popper's position so that the document size can be calculated excluding\n  // the size of the popper element itself\n  var transformProp = getSupportedPropertyName('transform');\n  var popperStyles = data.instance.popper.style; // assignment to help minification\n  var top = popperStyles.top,\n      left = popperStyles.left,\n      transform = popperStyles[transformProp];\n\n  popperStyles.top = '';\n  popperStyles.left = '';\n  popperStyles[transformProp] = '';\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n  // NOTE: DOM access here\n  // restores the original style properties after the offsets have been computed\n  popperStyles.top = top;\n  popperStyles.left = left;\n  popperStyles[transformProp] = transform;\n\n  options.boundaries = boundaries;\n\n  var order = options.priority;\n  var popper = data.offsets.popper;\n\n  var check = {\n    primary: function primary(placement) {\n      var value = popper[placement];\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n        value = Math.max(popper[placement], boundaries[placement]);\n      }\n      return defineProperty$1({}, placement, value);\n    },\n    secondary: function secondary(placement) {\n      var mainSide = placement === 'right' ? 'left' : 'top';\n      var value = popper[mainSide];\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n      }\n      return defineProperty$1({}, mainSide, value);\n    }\n  };\n\n  order.forEach(function (placement) {\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n    popper = _extends$1({}, popper, check[side](placement));\n  });\n\n  data.offsets.popper = popper;\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var shiftvariation = placement.split('-')[1];\n\n  // if shift shiftvariation is specified, run the modifier\n  if (shiftvariation) {\n    var _data$offsets = data.offsets,\n        reference = _data$offsets.reference,\n        popper = _data$offsets.popper;\n\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n    var side = isVertical ? 'left' : 'top';\n    var measurement = isVertical ? 'width' : 'height';\n\n    var shiftOffsets = {\n      start: defineProperty$1({}, side, reference[side]),\n      end: defineProperty$1({}, side, reference[side] + reference[measurement] - popper[measurement])\n    };\n\n    data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]);\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n    return data;\n  }\n\n  var refRect = data.offsets.reference;\n  var bound = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'preventOverflow';\n  }).boundaries;\n\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === true) {\n      return data;\n    }\n\n    data.hide = true;\n    data.attributes['x-out-of-boundaries'] = '';\n  } else {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === false) {\n      return data;\n    }\n\n    data.hide = false;\n    data.attributes['x-out-of-boundaries'] = false;\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n  data.placement = getOppositePlacement(placement);\n  data.offsets.popper = getClientRect(popper);\n\n  return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n  /**\n   * Modifier used to shift the popper on the start or end of its reference\n   * element.<br />\n   * It will read the variation of the `placement` property.<br />\n   * It can be one either `-end` or `-start`.\n   * @memberof modifiers\n   * @inner\n   */\n  shift: {\n    /** @prop {number} order=100 - Index used to define the order of execution */\n    order: 100,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: shift\n  },\n\n  /**\n   * The `offset` modifier can shift your popper on both its axis.\n   *\n   * It accepts the following units:\n   * - `px` or unitless, interpreted as pixels\n   * - `%` or `%r`, percentage relative to the length of the reference element\n   * - `%p`, percentage relative to the length of the popper element\n   * - `vw`, CSS viewport width unit\n   * - `vh`, CSS viewport height unit\n   *\n   * For length is intended the main axis relative to the placement of the popper.<br />\n   * This means that if the placement is `top` or `bottom`, the length will be the\n   * `width`. In case of `left` or `right`, it will be the height.\n   *\n   * You can provide a single value (as `Number` or `String`), or a pair of values\n   * as `String` divided by a comma or one (or more) white spaces.<br />\n   * The latter is a deprecated method because it leads to confusion and will be\n   * removed in v2.<br />\n   * Additionally, it accepts additions and subtractions between different units.\n   * Note that multiplications and divisions aren't supported.\n   *\n   * Valid examples are:\n   * ```\n   * 10\n   * '10%'\n   * '10, 10'\n   * '10%, 10'\n   * '10 + 10%'\n   * '10 - 5vh + 3%'\n   * '-10px + 5vh, 5px - 6%'\n   * ```\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n   * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  offset: {\n    /** @prop {number} order=200 - Index used to define the order of execution */\n    order: 200,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: offset,\n    /** @prop {Number|String} offset=0\n     * The offset value as described in the modifier description\n     */\n    offset: 0\n  },\n\n  /**\n   * Modifier used to prevent the popper from being positioned outside the boundary.\n   *\n   * An scenario exists where the reference itself is not within the boundaries.<br />\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n   * In this case we need to decide whether the popper should either:\n   *\n   * - detach from the reference and remain \"trapped\" in the boundaries, or\n   * - if it should ignore the boundary and \"escape with its reference\"\n   *\n   * When `escapeWithReference` is set to`true` and reference is completely\n   * outside its boundaries, the popper will overflow (or completely leave)\n   * the boundaries in order to remain attached to the edge of the reference.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  preventOverflow: {\n    /** @prop {number} order=300 - Index used to define the order of execution */\n    order: 300,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: preventOverflow,\n    /**\n     * @prop {Array} [priority=['left','right','top','bottom']]\n     * Popper will try to prevent overflow following these priorities by default,\n     * then, it could overflow on the left and on top of the `boundariesElement`\n     */\n    priority: ['left', 'right', 'top', 'bottom'],\n    /**\n     * @prop {number} padding=5\n     * Amount of pixel used to define a minimum distance between the boundaries\n     * and the popper this makes sure the popper has always a little padding\n     * between the edges of its container\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\n     * Boundaries used by the modifier, can be `scrollParent`, `window`,\n     * `viewport` or any DOM element.\n     */\n    boundariesElement: 'scrollParent'\n  },\n\n  /**\n   * Modifier used to make sure the reference and its popper stay near eachothers\n   * without leaving any gap between the two. Expecially useful when the arrow is\n   * enabled and you want to assure it to point to its reference element.\n   * It cares only about the first axis, you can still have poppers with margin\n   * between the popper and its reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  keepTogether: {\n    /** @prop {number} order=400 - Index used to define the order of execution */\n    order: 400,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: keepTogether\n  },\n\n  /**\n   * This modifier is used to move the `arrowElement` of the popper to make\n   * sure it is positioned between the reference element and its popper element.\n   * It will read the outer size of the `arrowElement` node to detect how many\n   * pixels of conjuction are needed.\n   *\n   * It has no effect if no `arrowElement` is provided.\n   * @memberof modifiers\n   * @inner\n   */\n  arrow: {\n    /** @prop {number} order=500 - Index used to define the order of execution */\n    order: 500,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: arrow,\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n    element: '[x-arrow]'\n  },\n\n  /**\n   * Modifier used to flip the popper's placement when it starts to overlap its\n   * reference element.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   *\n   * **NOTE:** this modifier will interrupt the current update cycle and will\n   * restart it if it detects the need to flip the placement.\n   * @memberof modifiers\n   * @inner\n   */\n  flip: {\n    /** @prop {number} order=600 - Index used to define the order of execution */\n    order: 600,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: flip,\n    /**\n     * @prop {String|Array} behavior='flip'\n     * The behavior used to change the popper's placement. It can be one of\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n     * placements (with optional variations).\n     */\n    behavior: 'flip',\n    /**\n     * @prop {number} padding=5\n     * The popper will flip if it hits the edges of the `boundariesElement`\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='viewport'\n     * The element which will define the boundaries of the popper position,\n     * the popper will never be placed outside of the defined boundaries\n     * (except if keepTogether is enabled)\n     */\n    boundariesElement: 'viewport'\n  },\n\n  /**\n   * Modifier used to make the popper flow toward the inner of the reference element.\n   * By default, when this modifier is disabled, the popper will be placed outside\n   * the reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  inner: {\n    /** @prop {number} order=700 - Index used to define the order of execution */\n    order: 700,\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n    enabled: false,\n    /** @prop {ModifierFn} */\n    fn: inner\n  },\n\n  /**\n   * Modifier used to hide the popper when its reference element is outside of the\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n   * be used to hide with a CSS selector the popper when its reference is\n   * out of boundaries.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   * @memberof modifiers\n   * @inner\n   */\n  hide: {\n    /** @prop {number} order=800 - Index used to define the order of execution */\n    order: 800,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: hide\n  },\n\n  /**\n   * Computes the style that will be applied to the popper element to gets\n   * properly positioned.\n   *\n   * Note that this modifier will not touch the DOM, it just prepares the styles\n   * so that `applyStyle` modifier can apply it. This separation is useful\n   * in case you need to replace `applyStyle` with a custom implementation.\n   *\n   * This modifier has `850` as `order` value to maintain backward compatibility\n   * with previous versions of Popper.js. Expect the modifiers ordering method\n   * to change in future major versions of the library.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  computeStyle: {\n    /** @prop {number} order=850 - Index used to define the order of execution */\n    order: 850,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: computeStyle,\n    /**\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3d transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties.\n     */\n    gpuAcceleration: true,\n    /**\n     * @prop {string} [x='bottom']\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n     * Change this if your popper should grow in a direction different from `bottom`\n     */\n    x: 'bottom',\n    /**\n     * @prop {string} [x='left']\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n     * Change this if your popper should grow in a direction different from `right`\n     */\n    y: 'right'\n  },\n\n  /**\n   * Applies the computed styles to the popper element.\n   *\n   * All the DOM manipulations are limited to this modifier. This is useful in case\n   * you want to integrate Popper.js inside a framework or view library and you\n   * want to delegate all the DOM manipulations to it.\n   *\n   * Note that if you disable this modifier, you must make sure the popper element\n   * has its position set to `absolute` before Popper.js can do its work!\n   *\n   * Just disable this modifier and define you own to achieve the desired effect.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  applyStyle: {\n    /** @prop {number} order=900 - Index used to define the order of execution */\n    order: 900,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: applyStyle,\n    /** @prop {Function} */\n    onLoad: applyStyleOnLoad,\n    /**\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3d transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties.\n     */\n    gpuAcceleration: undefined\n  }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n *   modifiers: {\n *     preventOverflow: { enabled: false }\n *   }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n  /**\n   * Popper's placement\n   * @prop {Popper.placements} placement='bottom'\n   */\n  placement: 'bottom',\n\n  /**\n   * Set this to true if you want popper to position it self in 'fixed' mode\n   * @prop {Boolean} positionFixed=false\n   */\n  positionFixed: false,\n\n  /**\n   * Whether events (resize, scroll) are initially enabled\n   * @prop {Boolean} eventsEnabled=true\n   */\n  eventsEnabled: true,\n\n  /**\n   * Set to true if you want to automatically remove the popper when\n   * you call the `destroy` method.\n   * @prop {Boolean} removeOnDestroy=false\n   */\n  removeOnDestroy: false,\n\n  /**\n   * Callback called when the popper is created.<br />\n   * By default, is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onCreate}\n   */\n  onCreate: function onCreate() {},\n\n  /**\n   * Callback called when the popper is updated, this callback is not called\n   * on the initialization/creation of the popper, but only on subsequent\n   * updates.<br />\n   * By default, is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onUpdate}\n   */\n  onUpdate: function onUpdate() {},\n\n  /**\n   * List of modifiers used to modify the offsets before they are applied to the popper.\n   * They provide most of the functionalities of Popper.js\n   * @prop {modifiers}\n   */\n  modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n  /**\n   * Create a new Popper.js instance\n   * @class Popper\n   * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n   * @param {HTMLElement} popper - The HTML element used as popper.\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n   * @return {Object} instance - The generated Popper.js instance\n   */\n  function Popper(reference, popper) {\n    var _this = this;\n\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    classCallCheck$1(this, Popper);\n\n    this.scheduleUpdate = function () {\n      return requestAnimationFrame(_this.update);\n    };\n\n    // make update() debounced, so that it only runs at most once-per-tick\n    this.update = debounce(this.update.bind(this));\n\n    // with {} we create a new object with the options inside it\n    this.options = _extends$1({}, Popper.Defaults, options);\n\n    // init state\n    this.state = {\n      isDestroyed: false,\n      isCreated: false,\n      scrollParents: []\n    };\n\n    // get reference and popper elements (allow jQuery wrappers)\n    this.reference = reference && reference.jquery ? reference[0] : reference;\n    this.popper = popper && popper.jquery ? popper[0] : popper;\n\n    // Deep merge modifiers options\n    this.options.modifiers = {};\n    Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n      _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n    });\n\n    // Refactoring modifiers' list (Object => Array)\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n      return _extends$1({\n        name: name\n      }, _this.options.modifiers[name]);\n    })\n    // sort the modifiers by order\n    .sort(function (a, b) {\n      return a.order - b.order;\n    });\n\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\n    // such code is executed in the same order of its modifier\n    // they could add new properties to their options configuration\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n    this.modifiers.forEach(function (modifierOptions) {\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n      }\n    });\n\n    // fire the first update to position the popper in the right place\n    this.update();\n\n    var eventsEnabled = this.options.eventsEnabled;\n    if (eventsEnabled) {\n      // setup event listeners, they will take care of update the position in specific situations\n      this.enableEventListeners();\n    }\n\n    this.state.eventsEnabled = eventsEnabled;\n  }\n\n  // We can't use class properties because they don't get listed in the\n  // class prototype and break stuff like Sinon stubs\n\n\n  createClass$1(Popper, [{\n    key: 'update',\n    value: function update$$1() {\n      return update.call(this);\n    }\n  }, {\n    key: 'destroy',\n    value: function destroy$$1() {\n      return destroy.call(this);\n    }\n  }, {\n    key: 'enableEventListeners',\n    value: function enableEventListeners$$1() {\n      return enableEventListeners.call(this);\n    }\n  }, {\n    key: 'disableEventListeners',\n    value: function disableEventListeners$$1() {\n      return disableEventListeners.call(this);\n    }\n\n    /**\n     * Schedule an update, it will run on the next UI update available\n     * @method scheduleUpdate\n     * @memberof Popper\n     */\n\n    /**\n     * Collection of utilities useful when writing custom modifiers.\n     * Starting from version 1.7, this method is available only if you\n     * include `popper-utils.js` before `popper.js`.\n     *\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\n     * and will be removed in v2! Use the PopperUtils module directly instead.\n     * Due to the high instability of the methods contained in Utils, we can't\n     * guarantee them to follow semver. Use them at your own risk!\n     * @static\n     * @private\n     * @type {Object}\n     * @deprecated since version 1.8\n     * @member Utils\n     * @memberof Popper\n     */\n\n  }]);\n  return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\n/**\n * Triggers document reflow.\n * Use void because some minifiers or engines think simply accessing the property\n * is unnecessary.\n * @param {Element} popper\n */\nfunction reflow(popper) {\n  void popper.offsetHeight;\n}\n\n/**\n * Wrapper util for popper position updating.\n * Updates the popper's position and invokes the callback on update.\n * Hackish workaround until Popper 2.0's update() becomes sync.\n * @param {Popper} popperInstance\n * @param {Function} callback: to run once popper's position was updated\n * @param {Boolean} updateAlreadyCalled: was scheduleUpdate() already called?\n */\nfunction updatePopperPosition(popperInstance, callback, updateAlreadyCalled) {\n  var popper = popperInstance.popper,\n      options = popperInstance.options;\n\n  var onCreate = options.onCreate;\n  var onUpdate = options.onUpdate;\n\n  options.onCreate = options.onUpdate = function () {\n    reflow(popper), callback && callback(), onUpdate();\n    options.onCreate = onCreate;\n    options.onUpdate = onUpdate;\n  };\n\n  if (!updateAlreadyCalled) {\n    popperInstance.scheduleUpdate();\n  }\n}\n\n/**\n * Returns the core placement ('top', 'bottom', 'left', 'right') of a popper\n * @param {Element} popper\n * @return {String}\n */\nfunction getPopperPlacement(popper) {\n  return popper.getAttribute('x-placement').replace(/-.+/, '');\n}\n\n/**\n * Determines if the mouse's cursor is outside the interactive border\n * @param {MouseEvent} event\n * @param {Element} popper\n * @param {Object} options\n * @return {Boolean}\n */\nfunction cursorIsOutsideInteractiveBorder(event, popper, options) {\n  if (!popper.getAttribute('x-placement')) return true;\n\n  var x = event.clientX,\n      y = event.clientY;\n  var interactiveBorder = options.interactiveBorder,\n      distance = options.distance;\n\n\n  var rect = popper.getBoundingClientRect();\n  var placement = getPopperPlacement(popper);\n  var borderWithDistance = interactiveBorder + distance;\n\n  var exceeds = {\n    top: rect.top - y > interactiveBorder,\n    bottom: y - rect.bottom > interactiveBorder,\n    left: rect.left - x > interactiveBorder,\n    right: x - rect.right > interactiveBorder\n  };\n\n  switch (placement) {\n    case 'top':\n      exceeds.top = rect.top - y > borderWithDistance;\n      break;\n    case 'bottom':\n      exceeds.bottom = y - rect.bottom > borderWithDistance;\n      break;\n    case 'left':\n      exceeds.left = rect.left - x > borderWithDistance;\n      break;\n    case 'right':\n      exceeds.right = x - rect.right > borderWithDistance;\n      break;\n  }\n\n  return exceeds.top || exceeds.bottom || exceeds.left || exceeds.right;\n}\n\n/**\n * Transforms the `arrowTransform` numbers based on the placement axis\n * @param {String} type 'scale' or 'translate'\n * @param {Number[]} numbers\n * @param {Boolean} isVertical\n * @param {Boolean} isReverse\n * @return {String}\n */\nfunction transformNumbersBasedOnPlacementAxis(type, numbers, isVertical, isReverse) {\n  if (!numbers.length) return '';\n\n  var transforms = {\n    scale: function () {\n      if (numbers.length === 1) {\n        return '' + numbers[0];\n      } else {\n        return isVertical ? numbers[0] + ', ' + numbers[1] : numbers[1] + ', ' + numbers[0];\n      }\n    }(),\n    translate: function () {\n      if (numbers.length === 1) {\n        return isReverse ? -numbers[0] + 'px' : numbers[0] + 'px';\n      } else {\n        if (isVertical) {\n          return isReverse ? numbers[0] + 'px, ' + -numbers[1] + 'px' : numbers[0] + 'px, ' + numbers[1] + 'px';\n        } else {\n          return isReverse ? -numbers[1] + 'px, ' + numbers[0] + 'px' : numbers[1] + 'px, ' + numbers[0] + 'px';\n        }\n      }\n    }()\n  };\n\n  return transforms[type];\n}\n\n/**\n * Transforms the `arrowTransform` x or y axis based on the placement axis\n * @param {String} axis 'X', 'Y', ''\n * @param {Boolean} isVertical\n * @return {String}\n */\nfunction transformAxis(axis, isVertical) {\n  if (!axis) return '';\n  var map = {\n    X: 'Y',\n    Y: 'X'\n  };\n  return isVertical ? axis : map[axis];\n}\n\n/**\n * Computes and applies the necessary arrow transform\n * @param {Element} popper\n * @param {Element} arrow\n * @param {String} arrowTransform\n */\nfunction computeArrowTransform(popper, arrow, arrowTransform) {\n  var placement = getPopperPlacement(popper);\n  var isVertical = placement === 'top' || placement === 'bottom';\n  var isReverse = placement === 'right' || placement === 'bottom';\n\n  var getAxis = function getAxis(re) {\n    var match = arrowTransform.match(re);\n    return match ? match[1] : '';\n  };\n\n  var getNumbers = function getNumbers(re) {\n    var match = arrowTransform.match(re);\n    return match ? match[1].split(',').map(parseFloat) : [];\n  };\n\n  var re = {\n    translate: /translateX?Y?\\(([^)]+)\\)/,\n    scale: /scaleX?Y?\\(([^)]+)\\)/\n  };\n\n  var matches = {\n    translate: {\n      axis: getAxis(/translate([XY])/),\n      numbers: getNumbers(re.translate)\n    },\n    scale: {\n      axis: getAxis(/scale([XY])/),\n      numbers: getNumbers(re.scale)\n    }\n  };\n\n  var computedTransform = arrowTransform.replace(re.translate, 'translate' + transformAxis(matches.translate.axis, isVertical) + '(' + transformNumbersBasedOnPlacementAxis('translate', matches.translate.numbers, isVertical, isReverse) + ')').replace(re.scale, 'scale' + transformAxis(matches.scale.axis, isVertical) + '(' + transformNumbersBasedOnPlacementAxis('scale', matches.scale.numbers, isVertical, isReverse) + ')');\n\n  arrow.style[prefix('transform')] = computedTransform;\n}\n\n/**\n * Returns the distance taking into account the default distance due to\n * the transform: translate setting in CSS\n * @param {Number} distance\n * @return {String}\n */\nfunction getOffsetDistanceInPx(distance) {\n  return -(distance - defaults.distance) + 'px';\n}\n\n/**\n * Waits until next repaint to execute a fn\n * @param {Function} fn\n */\nfunction defer(fn) {\n  requestAnimationFrame(function () {\n    setTimeout(fn, 1);\n  });\n}\n\nvar matches = {};\n\nif (isBrowser) {\n  var e = Element.prototype;\n  matches = e.matches || e.matchesSelector || e.webkitMatchesSelector || e.mozMatchesSelector || e.msMatchesSelector || function (s) {\n    var matches = (this.document || this.ownerDocument).querySelectorAll(s);\n    var i = matches.length;\n    while (--i >= 0 && matches.item(i) !== this) {} // eslint-disable-line no-empty\n    return i > -1;\n  };\n}\n\nvar matches$1 = matches;\n\n/**\n * Ponyfill to get the closest parent element\n * @param {Element} element - child of parent to be returned\n * @param {String} parentSelector - selector to match the parent if found\n * @return {Element}\n */\nfunction closest(element, parentSelector) {\n  var fn = Element.prototype.closest || function (selector) {\n    var el = this;\n    while (el) {\n      if (matches$1.call(el, selector)) {\n        return el;\n      }\n      el = el.parentElement;\n    }\n  };\n\n  return fn.call(element, parentSelector);\n}\n\n/**\n * Returns the value taking into account the value being either a number or array\n * @param {Number|Array} value\n * @param {Number} index\n * @return {Number}\n */\nfunction getValue(value, index) {\n  return Array.isArray(value) ? value[index] : value;\n}\n\n/**\n * Sets the visibility state of an element for transition to begin\n * @param {Element[]} els - array of elements\n * @param {String} type - 'visible' or 'hidden'\n */\nfunction setVisibilityState(els, type) {\n  els.forEach(function (el) {\n    if (!el) return;\n    el.setAttribute('data-state', type);\n  });\n}\n\n/**\n * Sets the transition property to each element\n * @param {Element[]} els - Array of elements\n * @param {String} value\n */\nfunction applyTransitionDuration(els, value) {\n  els.filter(Boolean).forEach(function (el) {\n    el.style[prefix('transitionDuration')] = value + 'ms';\n  });\n}\n\n/**\n * Focuses an element while preventing a scroll jump if it's not entirely within the viewport\n * @param {Element} el\n */\nfunction focus(el) {\n  var x = window.scrollX || window.pageXOffset;\n  var y = window.scrollY || window.pageYOffset;\n  el.focus();\n  scroll(x, y);\n}\n\nvar key = {};\nvar store = function store(data) {\n  return function (k) {\n    return k === key && data;\n  };\n};\n\nvar Tippy = function () {\n  function Tippy(config) {\n    classCallCheck(this, Tippy);\n\n    for (var _key in config) {\n      this[_key] = config[_key];\n    }\n\n    this.state = {\n      destroyed: false,\n      visible: false,\n      enabled: true\n    };\n\n    this._ = store({\n      mutationObservers: []\n    });\n  }\n\n  /**\n   * Enables the tooltip to allow it to show or hide\n   * @memberof Tippy\n   * @public\n   */\n\n\n  createClass(Tippy, [{\n    key: 'enable',\n    value: function enable() {\n      this.state.enabled = true;\n    }\n\n    /**\n     * Disables the tooltip from showing or hiding, but does not destroy it\n     * @memberof Tippy\n     * @public\n     */\n\n  }, {\n    key: 'disable',\n    value: function disable() {\n      this.state.enabled = false;\n    }\n\n    /**\n     * Shows the tooltip\n     * @param {Number} duration in milliseconds\n     * @memberof Tippy\n     * @public\n     */\n\n  }, {\n    key: 'show',\n    value: function show(duration) {\n      var _this = this;\n\n      if (this.state.destroyed || !this.state.enabled) return;\n\n      var popper = this.popper,\n          reference = this.reference,\n          options = this.options;\n\n      var _getInnerElements = getInnerElements(popper),\n          tooltip = _getInnerElements.tooltip,\n          backdrop = _getInnerElements.backdrop,\n          content = _getInnerElements.content;\n\n      // If the `dynamicTitle` option is true, the instance is allowed\n      // to be created with an empty title. Make sure that the tooltip\n      // content is not empty before showing it\n\n\n      if (options.dynamicTitle && !reference.getAttribute('data-original-title')) {\n        return;\n      }\n\n      // Do not show tooltip if reference contains 'disabled' attribute. FF fix for #221\n      if (reference.hasAttribute('disabled')) return;\n\n      // Destroy tooltip if the reference element is no longer on the DOM\n      if (!reference.refObj && !document.documentElement.contains(reference)) {\n        this.destroy();\n        return;\n      }\n\n      options.onShow.call(popper, this);\n\n      duration = getValue(duration !== undefined ? duration : options.duration, 0);\n\n      // Prevent a transition when popper changes position\n      applyTransitionDuration([popper, tooltip, backdrop], 0);\n\n      popper.style.visibility = 'visible';\n      this.state.visible = true;\n\n      _mount.call(this, function () {\n        if (!_this.state.visible) return;\n\n        if (!_hasFollowCursorBehavior.call(_this)) {\n          // FIX: Arrow will sometimes not be positioned correctly. Force another update.\n          _this.popperInstance.scheduleUpdate();\n        }\n\n        // Set initial position near the cursor\n        if (_hasFollowCursorBehavior.call(_this)) {\n          _this.popperInstance.disableEventListeners();\n          var delay = getValue(options.delay, 0);\n          var lastTriggerEvent = _this._(key).lastTriggerEvent;\n          if (lastTriggerEvent) {\n            _this._(key).followCursorListener(delay && _this._(key).lastMouseMoveEvent ? _this._(key).lastMouseMoveEvent : lastTriggerEvent);\n          }\n        }\n\n        // Re-apply transition durations\n        applyTransitionDuration([tooltip, backdrop, backdrop ? content : null], duration);\n\n        if (backdrop) {\n          getComputedStyle(backdrop)[prefix('transform')];\n        }\n\n        if (options.interactive) {\n          reference.classList.add('tippy-active');\n        }\n\n        if (options.sticky) {\n          _makeSticky.call(_this);\n        }\n\n        setVisibilityState([tooltip, backdrop], 'visible');\n\n        _onTransitionEnd.call(_this, duration, function () {\n          if (!options.updateDuration) {\n            tooltip.classList.add('tippy-notransition');\n          }\n\n          if (options.interactive) {\n            focus(popper);\n          }\n\n          reference.setAttribute('aria-describedby', 'tippy-' + _this.id);\n\n          options.onShown.call(popper, _this);\n        });\n      });\n    }\n\n    /**\n     * Hides the tooltip\n     * @param {Number} duration in milliseconds\n     * @memberof Tippy\n     * @public\n     */\n\n  }, {\n    key: 'hide',\n    value: function hide(duration) {\n      var _this2 = this;\n\n      if (this.state.destroyed || !this.state.enabled) return;\n\n      var popper = this.popper,\n          reference = this.reference,\n          options = this.options;\n\n      var _getInnerElements2 = getInnerElements(popper),\n          tooltip = _getInnerElements2.tooltip,\n          backdrop = _getInnerElements2.backdrop,\n          content = _getInnerElements2.content;\n\n      options.onHide.call(popper, this);\n\n      duration = getValue(duration !== undefined ? duration : options.duration, 1);\n\n      if (!options.updateDuration) {\n        tooltip.classList.remove('tippy-notransition');\n      }\n\n      if (options.interactive) {\n        reference.classList.remove('tippy-active');\n      }\n\n      popper.style.visibility = 'hidden';\n      this.state.visible = false;\n\n      applyTransitionDuration([tooltip, backdrop, backdrop ? content : null], duration);\n\n      setVisibilityState([tooltip, backdrop], 'hidden');\n\n      if (options.interactive && options.trigger.indexOf('click') > -1) {\n        focus(reference);\n      }\n\n      /*\n      * This call is deferred because sometimes when the tooltip is still transitioning in but hide()\n      * is called before it finishes, the CSS transition won't reverse quickly enough, meaning\n      * the CSS transition will finish 1-2 frames later, and onHidden() will run since the JS set it\n      * more quickly. It should actually be onShown(). Seems to be something Chrome does, not Safari\n      */\n      defer(function () {\n        _onTransitionEnd.call(_this2, duration, function () {\n          if (_this2.state.visible || !options.appendTo.contains(popper)) return;\n\n          if (!_this2._(key).isPreparingToShow) {\n            document.removeEventListener('mousemove', _this2._(key).followCursorListener);\n            _this2._(key).lastMouseMoveEvent = null;\n          }\n\n          if (_this2.popperInstance) {\n            _this2.popperInstance.disableEventListeners();\n          }\n\n          reference.removeAttribute('aria-describedby');\n\n          options.appendTo.removeChild(popper);\n\n          options.onHidden.call(popper, _this2);\n        });\n      });\n    }\n\n    /**\n     * Destroys the tooltip instance\n     * @param {Boolean} destroyTargetInstances - relevant only when destroying delegates\n     * @memberof Tippy\n     * @public\n     */\n\n  }, {\n    key: 'destroy',\n    value: function destroy() {\n      var _this3 = this;\n\n      var destroyTargetInstances = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n      if (this.state.destroyed) return;\n\n      // Ensure the popper is hidden\n      if (this.state.visible) {\n        this.hide(0);\n      }\n\n      this.listeners.forEach(function (listener) {\n        _this3.reference.removeEventListener(listener.event, listener.handler);\n      });\n\n      // Restore title\n      if (this.title) {\n        this.reference.setAttribute('title', this.title);\n      }\n\n      delete this.reference._tippy;\n\n      var attributes = ['data-original-title', 'data-tippy', 'data-tippy-delegate'];\n      attributes.forEach(function (attr) {\n        _this3.reference.removeAttribute(attr);\n      });\n\n      if (this.options.target && destroyTargetInstances) {\n        toArray(this.reference.querySelectorAll(this.options.target)).forEach(function (child) {\n          return child._tippy && child._tippy.destroy();\n        });\n      }\n\n      if (this.popperInstance) {\n        this.popperInstance.destroy();\n      }\n\n      this._(key).mutationObservers.forEach(function (observer) {\n        observer.disconnect();\n      });\n\n      this.state.destroyed = true;\n    }\n  }]);\n  return Tippy;\n}();\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n * Standalone functions to be called with the instance's `this` context to make\n * them truly private and not accessible on the prototype\n */\n\n/**\n * Determines if the tooltip instance has followCursor behavior\n * @return {Boolean}\n * @memberof Tippy\n * @private\n */\nfunction _hasFollowCursorBehavior() {\n  var lastTriggerEvent = this._(key).lastTriggerEvent;\n  return this.options.followCursor && !browser.usingTouch && lastTriggerEvent && lastTriggerEvent.type !== 'focus';\n}\n\n/**\n * Creates the Tippy instance for the child target of the delegate container\n * @param {Event} event\n * @memberof Tippy\n * @private\n */\nfunction _createDelegateChildTippy(event) {\n  var targetEl = closest(event.target, this.options.target);\n  if (targetEl && !targetEl._tippy) {\n    var title = targetEl.getAttribute('title') || this.title;\n    if (title) {\n      targetEl.setAttribute('title', title);\n      tippy$1(targetEl, _extends({}, this.options, { target: null }));\n      _enter.call(targetEl._tippy, event);\n    }\n  }\n}\n\n/**\n * Method used by event listeners to invoke the show method, taking into account delays and\n * the `wait` option\n * @param {Event} event\n * @memberof Tippy\n * @private\n */\nfunction _enter(event) {\n  var _this4 = this;\n\n  var options = this.options;\n\n\n  _clearDelayTimeouts.call(this);\n\n  if (this.state.visible) return;\n\n  // Is a delegate, create Tippy instance for the child target\n  if (options.target) {\n    _createDelegateChildTippy.call(this, event);\n    return;\n  }\n\n  this._(key).isPreparingToShow = true;\n\n  if (options.wait) {\n    options.wait.call(this.popper, this.show.bind(this), event);\n    return;\n  }\n\n  // If the tooltip has a delay, we need to be listening to the mousemove as soon as the trigger\n  // event is fired so that it's in the correct position upon mount.\n  if (_hasFollowCursorBehavior.call(this)) {\n    if (!this._(key).followCursorListener) {\n      _setFollowCursorListener.call(this);\n    }\n\n    var _getInnerElements3 = getInnerElements(this.popper),\n        arrow = _getInnerElements3.arrow;\n\n    if (arrow) arrow.style.margin = '0';\n    document.addEventListener('mousemove', this._(key).followCursorListener);\n  }\n\n  var delay = getValue(options.delay, 0);\n\n  if (delay) {\n    this._(key).showTimeout = setTimeout(function () {\n      _this4.show();\n    }, delay);\n  } else {\n    this.show();\n  }\n}\n\n/**\n * Method used by event listeners to invoke the hide method, taking into account delays\n * @memberof Tippy\n * @private\n */\nfunction _leave() {\n  var _this5 = this;\n\n  _clearDelayTimeouts.call(this);\n\n  if (!this.state.visible) return;\n\n  this._(key).isPreparingToShow = false;\n\n  var delay = getValue(this.options.delay, 1);\n\n  if (delay) {\n    this._(key).hideTimeout = setTimeout(function () {\n      if (_this5.state.visible) {\n        _this5.hide();\n      }\n    }, delay);\n  } else {\n    this.hide();\n  }\n}\n\n/**\n * Returns relevant listeners for the instance\n * @return {Object} of listeners\n * @memberof Tippy\n * @private\n */\nfunction _getEventListeners() {\n  var _this6 = this;\n\n  var onTrigger = function onTrigger(event) {\n    if (!_this6.state.enabled) return;\n\n    var shouldStopEvent = browser.supportsTouch && browser.usingTouch && ['mouseenter', 'mouseover', 'focus'].indexOf(event.type) > -1;\n\n    if (shouldStopEvent && _this6.options.touchHold) return;\n\n    _this6._(key).lastTriggerEvent = event;\n\n    // Toggle show/hide when clicking click-triggered tooltips\n    if (event.type === 'click' && _this6.options.hideOnClick !== 'persistent' && _this6.state.visible) {\n      _leave.call(_this6);\n    } else {\n      _enter.call(_this6, event);\n    }\n  };\n\n  var onMouseLeave = function onMouseLeave(event) {\n    if (['mouseleave', 'mouseout'].indexOf(event.type) > -1 && browser.supportsTouch && browser.usingTouch && _this6.options.touchHold) return;\n\n    if (_this6.options.interactive) {\n      var hide = _leave.bind(_this6);\n\n      var onMouseMove = function onMouseMove(event) {\n        var referenceCursorIsOver = closest(event.target, selectors.REFERENCE);\n        var cursorIsOverPopper = closest(event.target, selectors.POPPER) === _this6.popper;\n        var cursorIsOverReference = referenceCursorIsOver === _this6.reference;\n\n        if (cursorIsOverPopper || cursorIsOverReference) return;\n\n        if (cursorIsOutsideInteractiveBorder(event, _this6.popper, _this6.options)) {\n          document.body.removeEventListener('mouseleave', hide);\n          document.removeEventListener('mousemove', onMouseMove);\n\n          _leave.call(_this6, onMouseMove);\n        }\n      };\n\n      document.body.addEventListener('mouseleave', hide);\n      document.addEventListener('mousemove', onMouseMove);\n      return;\n    }\n\n    _leave.call(_this6);\n  };\n\n  var onBlur = function onBlur(event) {\n    if (event.target !== _this6.reference || browser.usingTouch) return;\n\n    if (_this6.options.interactive) {\n      if (!event.relatedTarget) return;\n      if (closest(event.relatedTarget, selectors.POPPER)) return;\n    }\n\n    _leave.call(_this6);\n  };\n\n  var onDelegateShow = function onDelegateShow(event) {\n    if (closest(event.target, _this6.options.target)) {\n      _enter.call(_this6, event);\n    }\n  };\n\n  var onDelegateHide = function onDelegateHide(event) {\n    if (closest(event.target, _this6.options.target)) {\n      _leave.call(_this6);\n    }\n  };\n\n  return {\n    onTrigger: onTrigger,\n    onMouseLeave: onMouseLeave,\n    onBlur: onBlur,\n    onDelegateShow: onDelegateShow,\n    onDelegateHide: onDelegateHide\n  };\n}\n\n/**\n * Creates and returns a new popper instance\n * @return {Popper}\n * @memberof Tippy\n * @private\n */\nfunction _createPopperInstance() {\n  var _this7 = this;\n\n  var popper = this.popper,\n      reference = this.reference,\n      options = this.options;\n\n  var _getInnerElements4 = getInnerElements(popper),\n      tooltip = _getInnerElements4.tooltip;\n\n  var popperOptions = options.popperOptions;\n\n  var arrowSelector = options.arrowType === 'round' ? selectors.ROUND_ARROW : selectors.ARROW;\n  var arrow = tooltip.querySelector(arrowSelector);\n\n  var config = _extends({\n    placement: options.placement\n  }, popperOptions || {}, {\n    modifiers: _extends({}, popperOptions ? popperOptions.modifiers : {}, {\n      arrow: _extends({\n        element: arrowSelector\n      }, popperOptions && popperOptions.modifiers ? popperOptions.modifiers.arrow : {}),\n      flip: _extends({\n        enabled: options.flip,\n        padding: options.distance + 5 /* 5px from viewport boundary */\n        , behavior: options.flipBehavior\n      }, popperOptions && popperOptions.modifiers ? popperOptions.modifiers.flip : {}),\n      offset: _extends({\n        offset: options.offset\n      }, popperOptions && popperOptions.modifiers ? popperOptions.modifiers.offset : {})\n    }),\n    onCreate: function onCreate() {\n      tooltip.style[getPopperPlacement(popper)] = getOffsetDistanceInPx(options.distance);\n\n      if (arrow && options.arrowTransform) {\n        computeArrowTransform(popper, arrow, options.arrowTransform);\n      }\n    },\n    onUpdate: function onUpdate() {\n      var styles = tooltip.style;\n      styles.top = '';\n      styles.bottom = '';\n      styles.left = '';\n      styles.right = '';\n      styles[getPopperPlacement(popper)] = getOffsetDistanceInPx(options.distance);\n\n      if (arrow && options.arrowTransform) {\n        computeArrowTransform(popper, arrow, options.arrowTransform);\n      }\n    }\n  });\n\n  _addMutationObserver.call(this, {\n    target: popper,\n    callback: function callback() {\n      _this7.popperInstance.update();\n    },\n    options: {\n      childList: true,\n      subtree: true,\n      characterData: true\n    }\n  });\n\n  return new Popper(reference, popper, config);\n}\n\n/**\n * Appends the popper element to the DOM, updating or creating the popper instance\n * @param {Function} callback\n * @memberof Tippy\n * @private\n */\nfunction _mount(callback) {\n  var options = this.options;\n\n\n  if (!this.popperInstance) {\n    this.popperInstance = _createPopperInstance.call(this);\n    if (!options.livePlacement) {\n      this.popperInstance.disableEventListeners();\n    }\n  } else {\n    this.popperInstance.scheduleUpdate();\n    if (options.livePlacement && !_hasFollowCursorBehavior.call(this)) {\n      this.popperInstance.enableEventListeners();\n    }\n  }\n\n  // If the instance previously had followCursor behavior, it will be positioned incorrectly\n  // if triggered by `focus` afterwards - update the reference back to the real DOM element\n  if (!_hasFollowCursorBehavior.call(this)) {\n    var _getInnerElements5 = getInnerElements(this.popper),\n        arrow = _getInnerElements5.arrow;\n\n    if (arrow) arrow.style.margin = '';\n    this.popperInstance.reference = this.reference;\n  }\n\n  updatePopperPosition(this.popperInstance, callback, true);\n\n  if (!options.appendTo.contains(this.popper)) {\n    options.appendTo.appendChild(this.popper);\n  }\n}\n\n/**\n * Clears the show and hide delay timeouts\n * @memberof Tippy\n * @private\n */\nfunction _clearDelayTimeouts() {\n  var _ref = this._(key),\n      showTimeout = _ref.showTimeout,\n      hideTimeout = _ref.hideTimeout;\n\n  clearTimeout(showTimeout);\n  clearTimeout(hideTimeout);\n}\n\n/**\n * Sets the mousemove event listener function for `followCursor` option\n * @memberof Tippy\n * @private\n */\nfunction _setFollowCursorListener() {\n  var _this8 = this;\n\n  this._(key).followCursorListener = function (event) {\n    var _$lastMouseMoveEvent = _this8._(key).lastMouseMoveEvent = event,\n        clientX = _$lastMouseMoveEvent.clientX,\n        clientY = _$lastMouseMoveEvent.clientY;\n\n    if (!_this8.popperInstance) return;\n\n    _this8.popperInstance.reference = {\n      getBoundingClientRect: function getBoundingClientRect() {\n        return {\n          width: 0,\n          height: 0,\n          top: clientY,\n          left: clientX,\n          right: clientX,\n          bottom: clientY\n        };\n      },\n      clientWidth: 0,\n      clientHeight: 0\n    };\n\n    _this8.popperInstance.scheduleUpdate();\n  };\n}\n\n/**\n * Updates the popper's position on each animation frame\n * @memberof Tippy\n * @private\n */\nfunction _makeSticky() {\n  var _this9 = this;\n\n  var applyTransitionDuration$$1 = function applyTransitionDuration$$1() {\n    _this9.popper.style[prefix('transitionDuration')] = _this9.options.updateDuration + 'ms';\n  };\n\n  var removeTransitionDuration = function removeTransitionDuration() {\n    _this9.popper.style[prefix('transitionDuration')] = '';\n  };\n\n  var updatePosition = function updatePosition() {\n    if (_this9.popperInstance) {\n      _this9.popperInstance.update();\n    }\n\n    applyTransitionDuration$$1();\n\n    if (_this9.state.visible) {\n      requestAnimationFrame(updatePosition);\n    } else {\n      removeTransitionDuration();\n    }\n  };\n\n  updatePosition();\n}\n\n/**\n * Adds a mutation observer to an element and stores it in the instance\n * @param {Object}\n * @memberof Tippy\n * @private\n */\nfunction _addMutationObserver(_ref2) {\n  var target = _ref2.target,\n      callback = _ref2.callback,\n      options = _ref2.options;\n\n  if (!window.MutationObserver) return;\n\n  var observer = new MutationObserver(callback);\n  observer.observe(target, options);\n\n  this._(key).mutationObservers.push(observer);\n}\n\n/**\n * Fires the callback functions once the CSS transition ends for `show` and `hide` methods\n * @param {Number} duration\n * @param {Function} callback - callback function to fire once transition completes\n * @memberof Tippy\n * @private\n */\nfunction _onTransitionEnd(duration, callback) {\n  // Make callback synchronous if duration is 0\n  if (!duration) {\n    return callback();\n  }\n\n  var _getInnerElements6 = getInnerElements(this.popper),\n      tooltip = _getInnerElements6.tooltip;\n\n  var toggleListeners = function toggleListeners(action, listener) {\n    if (!listener) return;\n    tooltip[action + 'EventListener']('transition' in document.body.style ? 'transitionend' : 'webkitTransitionEnd', listener);\n  };\n\n  var listener = function listener(e) {\n    if (e.target === tooltip) {\n      toggleListeners('remove', listener);\n      callback();\n    }\n  };\n\n  toggleListeners('remove', this._(key).transitionendListener);\n  toggleListeners('add', listener);\n\n  this._(key).transitionendListener = listener;\n}\n\nvar idCounter = 1;\n\n/**\n * Creates tooltips for each reference element\n * @param {Element[]} els\n * @param {Object} config\n * @return {Tippy[]} Array of Tippy instances\n */\nfunction createTooltips(els, config) {\n  return els.reduce(function (acc, reference) {\n    var id = idCounter;\n\n    var options = evaluateOptions(reference, config.performance ? config : getIndividualOptions(reference, config));\n\n    var title = reference.getAttribute('title');\n\n    // Don't create an instance when:\n    // * the `title` attribute is falsy (null or empty string), and\n    // * it's not a delegate for tooltips, and\n    // * there is no html template specified, and\n    // * `dynamicTitle` option is false\n    if (!title && !options.target && !options.html && !options.dynamicTitle) {\n      return acc;\n    }\n\n    // Delegates should be highlighted as different\n    reference.setAttribute(options.target ? 'data-tippy-delegate' : 'data-tippy', '');\n\n    removeTitle(reference);\n\n    var popper = createPopperElement(id, title, options);\n\n    var tippy = new Tippy({\n      id: id,\n      reference: reference,\n      popper: popper,\n      options: options,\n      title: title,\n      popperInstance: null\n    });\n\n    if (options.createPopperInstanceOnInit) {\n      tippy.popperInstance = _createPopperInstance.call(tippy);\n      tippy.popperInstance.disableEventListeners();\n    }\n\n    var listeners = _getEventListeners.call(tippy);\n    tippy.listeners = options.trigger.trim().split(' ').reduce(function (acc, eventType) {\n      return acc.concat(createTrigger(eventType, reference, listeners, options));\n    }, []);\n\n    // Update tooltip content whenever the title attribute on the reference changes\n    if (options.dynamicTitle) {\n      _addMutationObserver.call(tippy, {\n        target: reference,\n        callback: function callback() {\n          var _getInnerElements = getInnerElements(popper),\n              content = _getInnerElements.content;\n\n          var title = reference.getAttribute('title');\n          if (title) {\n            content[options.allowTitleHTML ? 'innerHTML' : 'textContent'] = tippy.title = title;\n            removeTitle(reference);\n          }\n        },\n\n        options: {\n          attributes: true\n        }\n      });\n    }\n\n    // Shortcuts\n    reference._tippy = tippy;\n    popper._tippy = tippy;\n    popper._reference = reference;\n\n    acc.push(tippy);\n\n    idCounter++;\n\n    return acc;\n  }, []);\n}\n\n/**\n * Hides all poppers\n * @param {Tippy} excludeTippy - tippy to exclude if needed\n */\nfunction hideAllPoppers(excludeTippy) {\n  var poppers = toArray(document.querySelectorAll(selectors.POPPER));\n\n  poppers.forEach(function (popper) {\n    var tippy = popper._tippy;\n    if (!tippy) return;\n\n    var options = tippy.options;\n\n\n    if ((options.hideOnClick === true || options.trigger.indexOf('focus') > -1) && (!excludeTippy || popper !== excludeTippy.popper)) {\n      tippy.hide();\n    }\n  });\n}\n\n/**\n * Adds the needed event listeners\n */\nfunction bindEventListeners() {\n  var onDocumentTouch = function onDocumentTouch() {\n    if (browser.usingTouch) return;\n\n    browser.usingTouch = true;\n\n    if (browser.iOS) {\n      document.body.classList.add('tippy-touch');\n    }\n\n    if (browser.dynamicInputDetection && window.performance) {\n      document.addEventListener('mousemove', onDocumentMouseMove);\n    }\n\n    browser.onUserInputChange('touch');\n  };\n\n  var onDocumentMouseMove = function () {\n    var time = void 0;\n\n    return function () {\n      var now = performance.now();\n\n      // Chrome 60+ is 1 mousemove per animation frame, use 20ms time difference\n      if (now - time < 20) {\n        browser.usingTouch = false;\n        document.removeEventListener('mousemove', onDocumentMouseMove);\n        if (!browser.iOS) {\n          document.body.classList.remove('tippy-touch');\n        }\n        browser.onUserInputChange('mouse');\n      }\n\n      time = now;\n    };\n  }();\n\n  var onDocumentClick = function onDocumentClick(event) {\n    // Simulated events dispatched on the document\n    if (!(event.target instanceof Element)) {\n      return hideAllPoppers();\n    }\n\n    var reference = closest(event.target, selectors.REFERENCE);\n    var popper = closest(event.target, selectors.POPPER);\n\n    if (popper && popper._tippy && popper._tippy.options.interactive) {\n      return;\n    }\n\n    if (reference && reference._tippy) {\n      var options = reference._tippy.options;\n\n      var isClickTrigger = options.trigger.indexOf('click') > -1;\n      var isMultiple = options.multiple;\n\n      // Hide all poppers except the one belonging to the element that was clicked\n      if (!isMultiple && browser.usingTouch || !isMultiple && isClickTrigger) {\n        return hideAllPoppers(reference._tippy);\n      }\n\n      if (options.hideOnClick !== true || isClickTrigger) {\n        return;\n      }\n    }\n\n    hideAllPoppers();\n  };\n\n  var onWindowBlur = function onWindowBlur() {\n    var _document = document,\n        el = _document.activeElement;\n\n    if (el && el.blur && matches$1.call(el, selectors.REFERENCE)) {\n      el.blur();\n    }\n  };\n\n  var onWindowResize = function onWindowResize() {\n    toArray(document.querySelectorAll(selectors.POPPER)).forEach(function (popper) {\n      var tippyInstance = popper._tippy;\n      if (tippyInstance && !tippyInstance.options.livePlacement) {\n        tippyInstance.popperInstance.scheduleUpdate();\n      }\n    });\n  };\n\n  document.addEventListener('click', onDocumentClick);\n  document.addEventListener('touchstart', onDocumentTouch);\n  window.addEventListener('blur', onWindowBlur);\n  window.addEventListener('resize', onWindowResize);\n\n  if (!browser.supportsTouch && (navigator.maxTouchPoints || navigator.msMaxTouchPoints)) {\n    document.addEventListener('pointerdown', onDocumentTouch);\n  }\n}\n\nvar eventListenersBound = false;\n\n/**\n * Exported module\n * @param {String|Element|Element[]|NodeList|Object} selector\n * @param {Object} options\n * @param {Boolean} one - create one tooltip\n * @return {Object}\n */\nfunction tippy$1(selector, options, one) {\n  if (browser.supported && !eventListenersBound) {\n    bindEventListeners();\n    eventListenersBound = true;\n  }\n\n  if (isObjectLiteral(selector)) {\n    polyfillVirtualReferenceProps(selector);\n  }\n\n  options = _extends({}, defaults, options);\n\n  var references = getArrayOfElements(selector);\n  var firstReference = references[0];\n\n  return {\n    selector: selector,\n    options: options,\n    tooltips: browser.supported ? createTooltips(one && firstReference ? [firstReference] : references, options) : [],\n    destroyAll: function destroyAll() {\n      this.tooltips.forEach(function (tooltip) {\n        return tooltip.destroy();\n      });\n      this.tooltips = [];\n    }\n  };\n}\n\ntippy$1.version = version;\ntippy$1.browser = browser;\ntippy$1.defaults = defaults;\ntippy$1.one = function (selector, options) {\n  return tippy$1(selector, options, true).tooltips[0];\n};\ntippy$1.disableAnimations = function () {\n  defaults.updateDuration = defaults.duration = 0;\n  defaults.animateFill = false;\n};\n\nreturn tippy$1;\n\n})));\n","\n/* **********************************************\n     Begin prism-core.js\n********************************************** */\n\nvar _self = (typeof window !== 'undefined')\n\t? window   // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t? self // if in worker\n\t\t: {}   // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n * MIT license http://www.opensource.org/licenses/mit-license.php/\n * @author Lea Verou http://lea.verou.me\n */\n\nvar Prism = (function(){\n\n// Private helper vars\nvar lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\nvar uniqueId = 0;\n\nvar _ = _self.Prism = {\n\tmanual: _self.Prism && _self.Prism.manual,\n\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\tutil: {\n\t\tencode: function (tokens) {\n\t\t\tif (tokens instanceof Token) {\n\t\t\t\treturn new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);\n\t\t\t} else if (_.util.type(tokens) === 'Array') {\n\t\t\t\treturn tokens.map(_.util.encode);\n\t\t\t} else {\n\t\t\t\treturn tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\\u00a0/g, ' ');\n\t\t\t}\n\t\t},\n\n\t\ttype: function (o) {\n\t\t\treturn Object.prototype.toString.call(o).match(/\\[object (\\w+)\\]/)[1];\n\t\t},\n\n\t\tobjId: function (obj) {\n\t\t\tif (!obj['__id']) {\n\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t}\n\t\t\treturn obj['__id'];\n\t\t},\n\n\t\t// Deep clone a language definition (e.g. to extend it)\n\t\tclone: function (o, visited) {\n\t\t\tvar type = _.util.type(o);\n\t\t\tvisited = visited || {};\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Object':\n\t\t\t\t\tif (visited[_.util.objId(o)]) {\n\t\t\t\t\t\treturn visited[_.util.objId(o)];\n\t\t\t\t\t}\n\t\t\t\t\tvar clone = {};\n\t\t\t\t\tvisited[_.util.objId(o)] = clone;\n\n\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\tclone[key] = _.util.clone(o[key], visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn clone;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tif (visited[_.util.objId(o)]) {\n\t\t\t\t\t\treturn visited[_.util.objId(o)];\n\t\t\t\t\t}\n\t\t\t\t\tvar clone = [];\n\t\t\t\t\tvisited[_.util.objId(o)] = clone;\n\n\t\t\t\t\to.forEach(function (v, i) {\n\t\t\t\t\t\tclone[i] = _.util.clone(v, visited);\n\t\t\t\t\t});\n\n\t\t\t\t\treturn clone;\n\t\t\t}\n\n\t\t\treturn o;\n\t\t}\n\t},\n\n\tlanguages: {\n\t\textend: function (id, redef) {\n\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\tfor (var key in redef) {\n\t\t\t\tlang[key] = redef[key];\n\t\t\t}\n\n\t\t\treturn lang;\n\t\t},\n\n\t\t/**\n\t\t * Insert a token before another token in a language literal\n\t\t * As this needs to recreate the object (we cannot actually insert before keys in object literals),\n\t\t * we cannot just provide an object, we need anobject and a key.\n\t\t * @param inside The key (or language id) of the parent\n\t\t * @param before The key to insert before. If not provided, the function appends instead.\n\t\t * @param insert Object with the key/value pairs to insert\n\t\t * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.\n\t\t */\n\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\troot = root || _.languages;\n\t\t\tvar grammar = root[inside];\n\n\t\t\tif (arguments.length == 2) {\n\t\t\t\tinsert = arguments[1];\n\n\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\tgrammar[newToken] = insert[newToken];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn grammar;\n\t\t\t}\n\n\t\t\tvar ret = {};\n\n\t\t\tfor (var token in grammar) {\n\n\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\tif (token == before) {\n\n\t\t\t\t\t\tfor (var newToken in insert) {\n\n\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Update references in other language definitions\n\t\t\t_.languages.DFS(_.languages, function(key, value) {\n\t\t\t\tif (value === root[inside] && key != inside) {\n\t\t\t\t\tthis[key] = ret;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn root[inside] = ret;\n\t\t},\n\n\t\t// Traverse a language definition with Depth First Search\n\t\tDFS: function(o, callback, type, visited) {\n\t\t\tvisited = visited || {};\n\t\t\tfor (var i in o) {\n\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\tif (_.util.type(o[i]) === 'Object' && !visited[_.util.objId(o[i])]) {\n\t\t\t\t\t\tvisited[_.util.objId(o[i])] = true;\n\t\t\t\t\t\t_.languages.DFS(o[i], callback, null, visited);\n\t\t\t\t\t}\n\t\t\t\t\telse if (_.util.type(o[i]) === 'Array' && !visited[_.util.objId(o[i])]) {\n\t\t\t\t\t\tvisited[_.util.objId(o[i])] = true;\n\t\t\t\t\t\t_.languages.DFS(o[i], callback, i, visited);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tplugins: {},\n\n\thighlightAll: function(async, callback) {\n\t\t_.highlightAllUnder(document, async, callback);\n\t},\n\n\thighlightAllUnder: function(container, async, callback) {\n\t\tvar env = {\n\t\t\tcallback: callback,\n\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t};\n\n\t\t_.hooks.run(\"before-highlightall\", env);\n\n\t\tvar elements = env.elements || container.querySelectorAll(env.selector);\n\n\t\tfor (var i=0, element; element = elements[i++];) {\n\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t}\n\t},\n\n\thighlightElement: function(element, async, callback) {\n\t\t// Find language\n\t\tvar language, grammar, parent = element;\n\n\t\twhile (parent && !lang.test(parent.className)) {\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\tif (parent) {\n\t\t\tlanguage = (parent.className.match(lang) || [,''])[1].toLowerCase();\n\t\t\tgrammar = _.languages[language];\n\t\t}\n\n\t\t// Set language on the element, if not present\n\t\telement.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\n\t\tif (element.parentNode) {\n\t\t\t// Set language on the parent, for styling\n\t\t\tparent = element.parentNode;\n\n\t\t\tif (/pre/i.test(parent.nodeName)) {\n\t\t\t\tparent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\t\t\t}\n\t\t}\n\n\t\tvar code = element.textContent;\n\n\t\tvar env = {\n\t\t\telement: element,\n\t\t\tlanguage: language,\n\t\t\tgrammar: grammar,\n\t\t\tcode: code\n\t\t};\n\n\t\t_.hooks.run('before-sanity-check', env);\n\n\t\tif (!env.code || !env.grammar) {\n\t\t\tif (env.code) {\n\t\t\t\t_.hooks.run('before-highlight', env);\n\t\t\t\tenv.element.textContent = env.code;\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t}\n\t\t\t_.hooks.run('complete', env);\n\t\t\treturn;\n\t\t}\n\n\t\t_.hooks.run('before-highlight', env);\n\n\t\tif (async && _self.Worker) {\n\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\tworker.onmessage = function(evt) {\n\t\t\t\tenv.highlightedCode = evt.data;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t};\n\n\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\tlanguage: env.language,\n\t\t\t\tcode: env.code,\n\t\t\t\timmediateClose: true\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tenv.highlightedCode = _.highlight(env.code, env.grammar, env.language);\n\n\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\tcallback && callback.call(element);\n\n\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t_.hooks.run('complete', env);\n\t\t}\n\t},\n\n\thighlight: function (text, grammar, language) {\n\t\tvar env = {\n\t\t\tcode: text,\n\t\t\tgrammar: grammar,\n\t\t\tlanguage: language\n\t\t};\n\t\t_.hooks.run('before-tokenize', env);\n\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t_.hooks.run('after-tokenize', env);\n\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t},\n\n\tmatchGrammar: function (text, strarr, grammar, index, startPos, oneshot, target) {\n\t\tvar Token = _.Token;\n\n\t\tfor (var token in grammar) {\n\t\t\tif(!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (token == target) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = (_.util.type(patterns) === \"Array\") ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tvar pattern = patterns[j],\n\t\t\t\t\tinside = pattern.inside,\n\t\t\t\t\tlookbehind = !!pattern.lookbehind,\n\t\t\t\t\tgreedy = !!pattern.greedy,\n\t\t\t\t\tlookbehindLength = 0,\n\t\t\t\t\talias = pattern.alias;\n\n\t\t\t\tif (greedy && !pattern.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = pattern.pattern.toString().match(/[imuy]*$/)[0];\n\t\t\t\t\tpattern.pattern = RegExp(pattern.pattern.source, flags + \"g\");\n\t\t\t\t}\n\n\t\t\t\tpattern = pattern.pattern || pattern;\n\n\t\t\t\t// Don’t cache length as it changes during the loop\n\t\t\t\tfor (var i = index, pos = startPos; i < strarr.length; pos += strarr[i].length, ++i) {\n\n\t\t\t\t\tvar str = strarr[i];\n\n\t\t\t\t\tif (strarr.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (greedy && i != strarr.length - 1) {\n\t\t\t\t\t\tpattern.lastIndex = pos;\n\t\t\t\t\t\tvar match = pattern.exec(text);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index + (lookbehind ? match[1].length : 0),\n\t\t\t\t\t\t    to = match.index + match[0].length,\n\t\t\t\t\t\t    k = i,\n\t\t\t\t\t\t    p = pos;\n\n\t\t\t\t\t\tfor (var len = strarr.length; k < len && (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); ++k) {\n\t\t\t\t\t\t\tp += strarr[k].length;\n\t\t\t\t\t\t\t// Move the index i to the element in strarr that is closest to from\n\t\t\t\t\t\t\tif (from >= p) {\n\t\t\t\t\t\t\t\t++i;\n\t\t\t\t\t\t\t\tpos = p;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If strarr[i] is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (strarr[i] instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Number of tokens to delete and replace with the new match\n\t\t\t\t\t\tdelNum = k - i;\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpattern.lastIndex = 0;\n\n\t\t\t\t\t\tvar match = pattern.exec(str),\n\t\t\t\t\t\t\tdelNum = 1;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!match) {\n\t\t\t\t\t\tif (oneshot) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(lookbehind) {\n\t\t\t\t\t\tlookbehindLength = match[1] ? match[1].length : 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar from = match.index + lookbehindLength,\n\t\t\t\t\t    match = match[0].slice(lookbehindLength),\n\t\t\t\t\t    to = from + match.length,\n\t\t\t\t\t    before = str.slice(0, from),\n\t\t\t\t\t    after = str.slice(to);\n\n\t\t\t\t\tvar args = [i, delNum];\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\t++i;\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t\targs.push(before);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);\n\n\t\t\t\t\targs.push(wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\targs.push(after);\n\t\t\t\t\t}\n\n\t\t\t\t\tArray.prototype.splice.apply(strarr, args);\n\n\t\t\t\t\tif (delNum != 1)\n\t\t\t\t\t\t_.matchGrammar(text, strarr, grammar, i, pos, true, token);\n\n\t\t\t\t\tif (oneshot)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\ttokenize: function(text, grammar, language) {\n\t\tvar strarr = [text];\n\n\t\tvar rest = grammar.rest;\n\n\t\tif (rest) {\n\t\t\tfor (var token in rest) {\n\t\t\t\tgrammar[token] = rest[token];\n\t\t\t}\n\n\t\t\tdelete grammar.rest;\n\t\t}\n\n\t\t_.matchGrammar(text, strarr, grammar, 0, 0, false);\n\n\t\treturn strarr;\n\t},\n\n\thooks: {\n\t\tall: {},\n\n\t\tadd: function (name, callback) {\n\t\t\tvar hooks = _.hooks.all;\n\n\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\thooks[name].push(callback);\n\t\t},\n\n\t\trun: function (name, env) {\n\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i=0, callback; callback = callbacks[i++];) {\n\t\t\t\tcallback(env);\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar Token = _.Token = function(type, content, alias, matchedStr, greedy) {\n\tthis.type = type;\n\tthis.content = content;\n\tthis.alias = alias;\n\t// Copy of the full string this token was created from\n\tthis.length = (matchedStr || \"\").length|0;\n\tthis.greedy = !!greedy;\n};\n\nToken.stringify = function(o, language, parent) {\n\tif (typeof o == 'string') {\n\t\treturn o;\n\t}\n\n\tif (_.util.type(o) === 'Array') {\n\t\treturn o.map(function(element) {\n\t\t\treturn Token.stringify(element, language, o);\n\t\t}).join('');\n\t}\n\n\tvar env = {\n\t\ttype: o.type,\n\t\tcontent: Token.stringify(o.content, language, parent),\n\t\ttag: 'span',\n\t\tclasses: ['token', o.type],\n\t\tattributes: {},\n\t\tlanguage: language,\n\t\tparent: parent\n\t};\n\n\tif (o.alias) {\n\t\tvar aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];\n\t\tArray.prototype.push.apply(env.classes, aliases);\n\t}\n\n\t_.hooks.run('wrap', env);\n\n\tvar attributes = Object.keys(env.attributes).map(function(name) {\n\t\treturn name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '&quot;') + '\"';\n\t}).join(' ');\n\n\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + (attributes ? ' ' + attributes : '') + '>' + env.content + '</' + env.tag + '>';\n\n};\n\nif (!_self.document) {\n\tif (!_self.addEventListener) {\n\t\t// in Node.js\n\t\treturn _self.Prism;\n\t}\n\n\tif (!_.disableWorkerMessageHandler) {\n\t\t// In worker\n\t\t_self.addEventListener('message', function (evt) {\n\t\t\tvar message = JSON.parse(evt.data),\n\t\t\t\tlang = message.language,\n\t\t\t\tcode = message.code,\n\t\t\t\timmediateClose = message.immediateClose;\n\n\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\tif (immediateClose) {\n\t\t\t\t_self.close();\n\t\t\t}\n\t\t}, false);\n\t}\n\n\treturn _self.Prism;\n}\n\n//Get current script and highlight\nvar script = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n\nif (script) {\n\t_.filename = script.src;\n\n\tif (!_.manual && !script.hasAttribute('data-manual')) {\n\t\tif(document.readyState !== \"loading\") {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(_.highlightAll);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(_.highlightAll, 16);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tdocument.addEventListener('DOMContentLoaded', _.highlightAll);\n\t\t}\n\t}\n}\n\nreturn _self.Prism;\n\n})();\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n\n/* **********************************************\n     Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': /<!--[\\s\\S]*?-->/,\n\t'prolog': /<\\?[\\s\\S]+?\\?>/,\n\t'doctype': /<!DOCTYPE[\\s\\S]+?>/i,\n\t'cdata': /<!\\[CDATA\\[[\\s\\S]*?]]>/i,\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/i,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/i,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t/^=/,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /(^|[^\\\\])[\"']/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': /&#?[\\da-z]{1,8};/i\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function(env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&amp;/, '&');\n\t}\n});\n\nPrism.languages.xml = Prism.languages.markup;\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\n\n/* **********************************************\n     Begin prism-css.js\n********************************************** */\n\nPrism.languages.css = {\n\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t'atrule': {\n\t\tpattern: /@[\\w-]+?.*?(?:;|(?=\\s*\\{))/i,\n\t\tinside: {\n\t\t\t'rule': /@[\\w-]+/\n\t\t\t// See rest below\n\t\t}\n\t},\n\t'url': /url\\((?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n\t'selector': /[^{}\\s][^{};]*?(?=\\s*\\{)/,\n\t'string': {\n\t\tpattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'property': /[-_a-z\\xA0-\\uFFFF][-\\w\\xA0-\\uFFFF]*(?=\\s*:)/i,\n\t'important': /\\B!important\\b/i,\n\t'function': /[-a-z0-9]+(?=\\()/i,\n\t'punctuation': /[(){};:]/\n};\n\nPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\nif (Prism.languages.markup) {\n\tPrism.languages.insertBefore('markup', 'tag', {\n\t\t'style': {\n\t\t\tpattern: /(<style[\\s\\S]*?>)[\\s\\S]*?(?=<\\/style>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.css,\n\t\t\talias: 'language-css',\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('inside', 'attr-value', {\n\t\t'style-attr': {\n\t\t\tpattern: /\\s*style=(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/i,\n\t\t\tinside: {\n\t\t\t\t'attr-name': {\n\t\t\t\t\tpattern: /^\\s*style/i,\n\t\t\t\t\tinside: Prism.languages.markup.tag.inside\n\t\t\t\t},\n\t\t\t\t'punctuation': /^\\s*=\\s*['\"]|['\"]\\s*$/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /.+/i,\n\t\t\t\t\tinside: Prism.languages.css\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'language-css'\n\t\t}\n\t}, Prism.languages.markup.tag);\n}\n\n/* **********************************************\n     Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\tpunctuation: /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n\t'boolean': /\\b(?:true|false)\\b/,\n\t'function': /[a-z0-9_]+(?=\\()/i,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n     Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'keyword': /\\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\\b/,\n\t'number': /\\b(?:0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\\b|(?:\\b\\d+\\.?\\d*|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*\\()/i,\n\t'operator': /-[-=]?|\\+[+=]?|!=?=?|<<?=?|>>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/\n});\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s])\\s*)\\/(\\[[^\\]\\r\\n]+]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})\\]]))/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)|[_$a-z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*)\\s*=>))/i,\n\t\talias: 'function'\n\t},\n\t'constant': /\\b[A-Z][A-Z\\d_]*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\${[^}]+}|[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /\\${[^}]+}/,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\${|}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null // See below\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t}\n});\nPrism.languages.javascript['template-string'].inside['interpolation'].inside.rest = Prism.languages.javascript;\n\nif (Prism.languages.markup) {\n\tPrism.languages.insertBefore('markup', 'tag', {\n\t\t'script': {\n\t\t\tpattern: /(<script[\\s\\S]*?>)[\\s\\S]*?(?=<\\/script>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript,\n\t\t\talias: 'language-javascript',\n\t\t\tgreedy: true\n\t\t}\n\t});\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n     Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\tif (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {\n\t\treturn;\n\t}\n\n\tself.Prism.fileHighlight = function() {\n\n\t\tvar Extensions = {\n\t\t\t'js': 'javascript',\n\t\t\t'py': 'python',\n\t\t\t'rb': 'ruby',\n\t\t\t'ps1': 'powershell',\n\t\t\t'psm1': 'powershell',\n\t\t\t'sh': 'bash',\n\t\t\t'bat': 'batch',\n\t\t\t'h': 'c',\n\t\t\t'tex': 'latex'\n\t\t};\n\n\t\tArray.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language, parent = pre;\n\t\t\tvar lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n\t\t\twhile (parent && !lang.test(parent.className)) {\n\t\t\t\tparent = parent.parentNode;\n\t\t\t}\n\n\t\t\tif (parent) {\n\t\t\t\tlanguage = (pre.className.match(lang) || [, ''])[1];\n\t\t\t}\n\n\t\t\tif (!language) {\n\t\t\t\tvar extension = (src.match(/\\.(\\w+)$/) || [, ''])[1];\n\t\t\t\tlanguage = Extensions[extension] || extension;\n\t\t\t}\n\n\t\t\tvar code = document.createElement('code');\n\t\t\tcode.className = 'language-' + language;\n\n\t\t\tpre.textContent = '';\n\n\t\t\tcode.textContent = 'Loading…';\n\n\t\t\tpre.appendChild(code);\n\n\t\t\tvar xhr = new XMLHttpRequest();\n\n\t\t\txhr.open('GET', src, true);\n\n\t\t\txhr.onreadystatechange = function () {\n\t\t\t\tif (xhr.readyState == 4) {\n\n\t\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\t\tcode.textContent = xhr.responseText;\n\n\t\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t\t}\n\t\t\t\t\telse if (xhr.status >= 400) {\n\t\t\t\t\t\tcode.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tcode.textContent = '✖ Error: File does not exist or is empty';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\txhr.send(null);\n\t\t});\n\n\t\tif (Prism.plugins.toolbar) {\n\t\t\tPrism.plugins.toolbar.registerButton('download-file', function (env) {\n\t\t\t\tvar pre = env.element.parentNode;\n\t\t\t\tif (!pre || !/pre/i.test(pre.nodeName) || !pre.hasAttribute('data-src') || !pre.hasAttribute('data-download-link')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar src = pre.getAttribute('data-src');\n\t\t\t\tvar a = document.createElement('a');\n\t\t\t\ta.textContent = pre.getAttribute('data-download-link-label') || 'Download';\n\t\t\t\ta.setAttribute('download', '');\n\t\t\t\ta.href = src;\n\t\t\t\treturn a;\n\t\t\t});\n\t\t}\n\n\t};\n\n\tdocument.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);\n\n})();","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"feather\"] = factory();\n\telse\n\t\troot[\"feather\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./dist/icons.json\":\n/*!*************************!*\\\n  !*** ./dist/icons.json ***!\n  \\*************************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, download-cloud, download, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, home, image, inbox, info, instagram, italic, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, speaker, square, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, trash-2, trash, trending-down, trending-up, triangle, truck, tv, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */\n/***/ (function(module) {\n\nmodule.exports = {\"activity\":\"<polyline points=\\\"22 12 18 12 15 21 9 3 6 12 2 12\\\"></polyline>\",\"airplay\":\"<path d=\\\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\\\"></path><polygon points=\\\"12 15 17 21 7 21 12 15\\\"></polygon>\",\"alert-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line><line x1=\\\"12\\\" y1=\\\"16\\\" x2=\\\"12\\\" y2=\\\"16\\\"></line>\",\"alert-octagon\":\"<polygon points=\\\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\\\"></polygon><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line><line x1=\\\"12\\\" y1=\\\"16\\\" x2=\\\"12\\\" y2=\\\"16\\\"></line>\",\"alert-triangle\":\"<path d=\\\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\\\"></path><line x1=\\\"12\\\" y1=\\\"9\\\" x2=\\\"12\\\" y2=\\\"13\\\"></line><line x1=\\\"12\\\" y1=\\\"17\\\" x2=\\\"12\\\" y2=\\\"17\\\"></line>\",\"align-center\":\"<line x1=\\\"18\\\" y1=\\\"10\\\" x2=\\\"6\\\" y2=\\\"10\\\"></line><line x1=\\\"21\\\" y1=\\\"6\\\" x2=\\\"3\\\" y2=\\\"6\\\"></line><line x1=\\\"21\\\" y1=\\\"14\\\" x2=\\\"3\\\" y2=\\\"14\\\"></line><line x1=\\\"18\\\" y1=\\\"18\\\" x2=\\\"6\\\" y2=\\\"18\\\"></line>\",\"align-justify\":\"<line x1=\\\"21\\\" y1=\\\"10\\\" x2=\\\"3\\\" y2=\\\"10\\\"></line><line x1=\\\"21\\\" y1=\\\"6\\\" x2=\\\"3\\\" y2=\\\"6\\\"></line><line x1=\\\"21\\\" y1=\\\"14\\\" x2=\\\"3\\\" y2=\\\"14\\\"></line><line x1=\\\"21\\\" y1=\\\"18\\\" x2=\\\"3\\\" y2=\\\"18\\\"></line>\",\"align-left\":\"<line x1=\\\"17\\\" y1=\\\"10\\\" x2=\\\"3\\\" y2=\\\"10\\\"></line><line x1=\\\"21\\\" y1=\\\"6\\\" x2=\\\"3\\\" y2=\\\"6\\\"></line><line x1=\\\"21\\\" y1=\\\"14\\\" x2=\\\"3\\\" y2=\\\"14\\\"></line><line x1=\\\"17\\\" y1=\\\"18\\\" x2=\\\"3\\\" y2=\\\"18\\\"></line>\",\"align-right\":\"<line x1=\\\"21\\\" y1=\\\"10\\\" x2=\\\"7\\\" y2=\\\"10\\\"></line><line x1=\\\"21\\\" y1=\\\"6\\\" x2=\\\"3\\\" y2=\\\"6\\\"></line><line x1=\\\"21\\\" y1=\\\"14\\\" x2=\\\"3\\\" y2=\\\"14\\\"></line><line x1=\\\"21\\\" y1=\\\"18\\\" x2=\\\"7\\\" y2=\\\"18\\\"></line>\",\"anchor\":\"<circle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"3\\\"></circle><line x1=\\\"12\\\" y1=\\\"22\\\" x2=\\\"12\\\" y2=\\\"8\\\"></line><path d=\\\"M5 12H2a10 10 0 0 0 20 0h-3\\\"></path>\",\"aperture\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"14.31\\\" y1=\\\"8\\\" x2=\\\"20.05\\\" y2=\\\"17.94\\\"></line><line x1=\\\"9.69\\\" y1=\\\"8\\\" x2=\\\"21.17\\\" y2=\\\"8\\\"></line><line x1=\\\"7.38\\\" y1=\\\"12\\\" x2=\\\"13.12\\\" y2=\\\"2.06\\\"></line><line x1=\\\"9.69\\\" y1=\\\"16\\\" x2=\\\"3.95\\\" y2=\\\"6.06\\\"></line><line x1=\\\"14.31\\\" y1=\\\"16\\\" x2=\\\"2.83\\\" y2=\\\"16\\\"></line><line x1=\\\"16.62\\\" y1=\\\"12\\\" x2=\\\"10.88\\\" y2=\\\"21.94\\\"></line>\",\"archive\":\"<polyline points=\\\"21 8 21 21 3 21 3 8\\\"></polyline><rect x=\\\"1\\\" y=\\\"3\\\" width=\\\"22\\\" height=\\\"5\\\"></rect><line x1=\\\"10\\\" y1=\\\"12\\\" x2=\\\"14\\\" y2=\\\"12\\\"></line>\",\"arrow-down-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polyline points=\\\"8 12 12 16 16 12\\\"></polyline><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"16\\\"></line>\",\"arrow-down-left\":\"<line x1=\\\"17\\\" y1=\\\"7\\\" x2=\\\"7\\\" y2=\\\"17\\\"></line><polyline points=\\\"17 17 7 17 7 7\\\"></polyline>\",\"arrow-down-right\":\"<line x1=\\\"7\\\" y1=\\\"7\\\" x2=\\\"17\\\" y2=\\\"17\\\"></line><polyline points=\\\"17 7 17 17 7 17\\\"></polyline>\",\"arrow-down\":\"<line x1=\\\"12\\\" y1=\\\"5\\\" x2=\\\"12\\\" y2=\\\"19\\\"></line><polyline points=\\\"19 12 12 19 5 12\\\"></polyline>\",\"arrow-left-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polyline points=\\\"12 8 8 12 12 16\\\"></polyline><line x1=\\\"16\\\" y1=\\\"12\\\" x2=\\\"8\\\" y2=\\\"12\\\"></line>\",\"arrow-left\":\"<line x1=\\\"19\\\" y1=\\\"12\\\" x2=\\\"5\\\" y2=\\\"12\\\"></line><polyline points=\\\"12 19 5 12 12 5\\\"></polyline>\",\"arrow-right-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polyline points=\\\"12 16 16 12 12 8\\\"></polyline><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"16\\\" y2=\\\"12\\\"></line>\",\"arrow-right\":\"<line x1=\\\"5\\\" y1=\\\"12\\\" x2=\\\"19\\\" y2=\\\"12\\\"></line><polyline points=\\\"12 5 19 12 12 19\\\"></polyline>\",\"arrow-up-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polyline points=\\\"16 12 12 8 8 12\\\"></polyline><line x1=\\\"12\\\" y1=\\\"16\\\" x2=\\\"12\\\" y2=\\\"8\\\"></line>\",\"arrow-up-left\":\"<line x1=\\\"17\\\" y1=\\\"17\\\" x2=\\\"7\\\" y2=\\\"7\\\"></line><polyline points=\\\"7 17 7 7 17 7\\\"></polyline>\",\"arrow-up-right\":\"<line x1=\\\"7\\\" y1=\\\"17\\\" x2=\\\"17\\\" y2=\\\"7\\\"></line><polyline points=\\\"7 7 17 7 17 17\\\"></polyline>\",\"arrow-up\":\"<line x1=\\\"12\\\" y1=\\\"19\\\" x2=\\\"12\\\" y2=\\\"5\\\"></line><polyline points=\\\"5 12 12 5 19 12\\\"></polyline>\",\"at-sign\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"></circle><path d=\\\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\\\"></path>\",\"award\":\"<circle cx=\\\"12\\\" cy=\\\"8\\\" r=\\\"7\\\"></circle><polyline points=\\\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\\\"></polyline>\",\"bar-chart-2\":\"<line x1=\\\"18\\\" y1=\\\"20\\\" x2=\\\"18\\\" y2=\\\"10\\\"></line><line x1=\\\"12\\\" y1=\\\"20\\\" x2=\\\"12\\\" y2=\\\"4\\\"></line><line x1=\\\"6\\\" y1=\\\"20\\\" x2=\\\"6\\\" y2=\\\"14\\\"></line>\",\"bar-chart\":\"<line x1=\\\"12\\\" y1=\\\"20\\\" x2=\\\"12\\\" y2=\\\"10\\\"></line><line x1=\\\"18\\\" y1=\\\"20\\\" x2=\\\"18\\\" y2=\\\"4\\\"></line><line x1=\\\"6\\\" y1=\\\"20\\\" x2=\\\"6\\\" y2=\\\"16\\\"></line>\",\"battery-charging\":\"<path d=\\\"M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19\\\"></path><line x1=\\\"23\\\" y1=\\\"13\\\" x2=\\\"23\\\" y2=\\\"11\\\"></line><polyline points=\\\"11 6 7 12 13 12 9 18\\\"></polyline>\",\"battery\":\"<rect x=\\\"1\\\" y=\\\"6\\\" width=\\\"18\\\" height=\\\"12\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"23\\\" y1=\\\"13\\\" x2=\\\"23\\\" y2=\\\"11\\\"></line>\",\"bell-off\":\"<path d=\\\"M8.56 2.9A7 7 0 0 1 19 9v4m-2 4H2a3 3 0 0 0 3-3V9a7 7 0 0 1 .78-3.22M13.73 21a2 2 0 0 1-3.46 0\\\"></path><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line>\",\"bell\":\"<path d=\\\"M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0\\\"></path>\",\"bluetooth\":\"<polyline points=\\\"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\\\"></polyline>\",\"bold\":\"<path d=\\\"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\\\"></path><path d=\\\"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\\\"></path>\",\"book-open\":\"<path d=\\\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\\\"></path><path d=\\\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\\\"></path>\",\"book\":\"<path d=\\\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\\\"></path><path d=\\\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\\\"></path>\",\"bookmark\":\"<path d=\\\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\\\"></path>\",\"box\":\"<path d=\\\"M12.89 1.45l8 4A2 2 0 0 1 22 7.24v9.53a2 2 0 0 1-1.11 1.79l-8 4a2 2 0 0 1-1.79 0l-8-4a2 2 0 0 1-1.1-1.8V7.24a2 2 0 0 1 1.11-1.79l8-4a2 2 0 0 1 1.78 0z\\\"></path><polyline points=\\\"2.32 6.16 12 11 21.68 6.16\\\"></polyline><line x1=\\\"12\\\" y1=\\\"22.76\\\" x2=\\\"12\\\" y2=\\\"11\\\"></line>\",\"briefcase\":\"<rect x=\\\"2\\\" y=\\\"7\\\" width=\\\"20\\\" height=\\\"14\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><path d=\\\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\\\"></path>\",\"calendar\":\"<rect x=\\\"3\\\" y=\\\"4\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"16\\\" y1=\\\"2\\\" x2=\\\"16\\\" y2=\\\"6\\\"></line><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"6\\\"></line><line x1=\\\"3\\\" y1=\\\"10\\\" x2=\\\"21\\\" y2=\\\"10\\\"></line>\",\"camera-off\":\"<line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line><path d=\\\"M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56\\\"></path>\",\"camera\":\"<path d=\\\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\\\"></path><circle cx=\\\"12\\\" cy=\\\"13\\\" r=\\\"4\\\"></circle>\",\"cast\":\"<path d=\\\"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\\\"></path><line x1=\\\"2\\\" y1=\\\"20\\\" x2=\\\"2\\\" y2=\\\"20\\\"></line>\",\"check-circle\":\"<path d=\\\"M22 11.08V12a10 10 0 1 1-5.93-9.14\\\"></path><polyline points=\\\"22 4 12 14.01 9 11.01\\\"></polyline>\",\"check-square\":\"<polyline points=\\\"9 11 12 14 22 4\\\"></polyline><path d=\\\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\\\"></path>\",\"check\":\"<polyline points=\\\"20 6 9 17 4 12\\\"></polyline>\",\"chevron-down\":\"<polyline points=\\\"6 9 12 15 18 9\\\"></polyline>\",\"chevron-left\":\"<polyline points=\\\"15 18 9 12 15 6\\\"></polyline>\",\"chevron-right\":\"<polyline points=\\\"9 18 15 12 9 6\\\"></polyline>\",\"chevron-up\":\"<polyline points=\\\"18 15 12 9 6 15\\\"></polyline>\",\"chevrons-down\":\"<polyline points=\\\"7 13 12 18 17 13\\\"></polyline><polyline points=\\\"7 6 12 11 17 6\\\"></polyline>\",\"chevrons-left\":\"<polyline points=\\\"11 17 6 12 11 7\\\"></polyline><polyline points=\\\"18 17 13 12 18 7\\\"></polyline>\",\"chevrons-right\":\"<polyline points=\\\"13 17 18 12 13 7\\\"></polyline><polyline points=\\\"6 17 11 12 6 7\\\"></polyline>\",\"chevrons-up\":\"<polyline points=\\\"17 11 12 6 7 11\\\"></polyline><polyline points=\\\"17 18 12 13 7 18\\\"></polyline>\",\"chrome\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"></circle><line x1=\\\"21.17\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"8\\\"></line><line x1=\\\"3.95\\\" y1=\\\"6.06\\\" x2=\\\"8.54\\\" y2=\\\"14\\\"></line><line x1=\\\"10.88\\\" y1=\\\"21.94\\\" x2=\\\"15.46\\\" y2=\\\"14\\\"></line>\",\"circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle>\",\"clipboard\":\"<path d=\\\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\\\"></path><rect x=\\\"8\\\" y=\\\"2\\\" width=\\\"8\\\" height=\\\"4\\\" rx=\\\"1\\\" ry=\\\"1\\\"></rect>\",\"clock\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polyline points=\\\"12 6 12 12 16 14\\\"></polyline>\",\"cloud-drizzle\":\"<line x1=\\\"8\\\" y1=\\\"19\\\" x2=\\\"8\\\" y2=\\\"21\\\"></line><line x1=\\\"8\\\" y1=\\\"13\\\" x2=\\\"8\\\" y2=\\\"15\\\"></line><line x1=\\\"16\\\" y1=\\\"19\\\" x2=\\\"16\\\" y2=\\\"21\\\"></line><line x1=\\\"16\\\" y1=\\\"13\\\" x2=\\\"16\\\" y2=\\\"15\\\"></line><line x1=\\\"12\\\" y1=\\\"21\\\" x2=\\\"12\\\" y2=\\\"23\\\"></line><line x1=\\\"12\\\" y1=\\\"15\\\" x2=\\\"12\\\" y2=\\\"17\\\"></line><path d=\\\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\\\"></path>\",\"cloud-lightning\":\"<path d=\\\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9\\\"></path><polyline points=\\\"13 11 9 17 15 17 11 23\\\"></polyline>\",\"cloud-off\":\"<path d=\\\"M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3\\\"></path><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line>\",\"cloud-rain\":\"<line x1=\\\"16\\\" y1=\\\"13\\\" x2=\\\"16\\\" y2=\\\"21\\\"></line><line x1=\\\"8\\\" y1=\\\"13\\\" x2=\\\"8\\\" y2=\\\"21\\\"></line><line x1=\\\"12\\\" y1=\\\"15\\\" x2=\\\"12\\\" y2=\\\"23\\\"></line><path d=\\\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\\\"></path>\",\"cloud-snow\":\"<path d=\\\"M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25\\\"></path><line x1=\\\"8\\\" y1=\\\"16\\\" x2=\\\"8\\\" y2=\\\"16\\\"></line><line x1=\\\"8\\\" y1=\\\"20\\\" x2=\\\"8\\\" y2=\\\"20\\\"></line><line x1=\\\"12\\\" y1=\\\"18\\\" x2=\\\"12\\\" y2=\\\"18\\\"></line><line x1=\\\"12\\\" y1=\\\"22\\\" x2=\\\"12\\\" y2=\\\"22\\\"></line><line x1=\\\"16\\\" y1=\\\"16\\\" x2=\\\"16\\\" y2=\\\"16\\\"></line><line x1=\\\"16\\\" y1=\\\"20\\\" x2=\\\"16\\\" y2=\\\"20\\\"></line>\",\"cloud\":\"<path d=\\\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\\\"></path>\",\"code\":\"<polyline points=\\\"16 18 22 12 16 6\\\"></polyline><polyline points=\\\"8 6 2 12 8 18\\\"></polyline>\",\"codepen\":\"<polygon points=\\\"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2\\\"></polygon><line x1=\\\"12\\\" y1=\\\"22\\\" x2=\\\"12\\\" y2=\\\"15.5\\\"></line><polyline points=\\\"22 8.5 12 15.5 2 8.5\\\"></polyline><polyline points=\\\"2 15.5 12 8.5 22 15.5\\\"></polyline><line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"8.5\\\"></line>\",\"command\":\"<path d=\\\"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\\\"></path>\",\"compass\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polygon points=\\\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\\\"></polygon>\",\"copy\":\"<rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"13\\\" height=\\\"13\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><path d=\\\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\\\"></path>\",\"corner-down-left\":\"<polyline points=\\\"9 10 4 15 9 20\\\"></polyline><path d=\\\"M20 4v7a4 4 0 0 1-4 4H4\\\"></path>\",\"corner-down-right\":\"<polyline points=\\\"15 10 20 15 15 20\\\"></polyline><path d=\\\"M4 4v7a4 4 0 0 0 4 4h12\\\"></path>\",\"corner-left-down\":\"<polyline points=\\\"14 15 9 20 4 15\\\"></polyline><path d=\\\"M20 4h-7a4 4 0 0 0-4 4v12\\\"></path>\",\"corner-left-up\":\"<polyline points=\\\"14 9 9 4 4 9\\\"></polyline><path d=\\\"M20 20h-7a4 4 0 0 1-4-4V4\\\"></path>\",\"corner-right-down\":\"<polyline points=\\\"10 15 15 20 20 15\\\"></polyline><path d=\\\"M4 4h7a4 4 0 0 1 4 4v12\\\"></path>\",\"corner-right-up\":\"<polyline points=\\\"10 9 15 4 20 9\\\"></polyline><path d=\\\"M4 20h7a4 4 0 0 0 4-4V4\\\"></path>\",\"corner-up-left\":\"<polyline points=\\\"9 14 4 9 9 4\\\"></polyline><path d=\\\"M20 20v-7a4 4 0 0 0-4-4H4\\\"></path>\",\"corner-up-right\":\"<polyline points=\\\"15 14 20 9 15 4\\\"></polyline><path d=\\\"M4 20v-7a4 4 0 0 1 4-4h12\\\"></path>\",\"cpu\":\"<rect x=\\\"4\\\" y=\\\"4\\\" width=\\\"16\\\" height=\\\"16\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"6\\\"></rect><line x1=\\\"9\\\" y1=\\\"1\\\" x2=\\\"9\\\" y2=\\\"4\\\"></line><line x1=\\\"15\\\" y1=\\\"1\\\" x2=\\\"15\\\" y2=\\\"4\\\"></line><line x1=\\\"9\\\" y1=\\\"20\\\" x2=\\\"9\\\" y2=\\\"23\\\"></line><line x1=\\\"15\\\" y1=\\\"20\\\" x2=\\\"15\\\" y2=\\\"23\\\"></line><line x1=\\\"20\\\" y1=\\\"9\\\" x2=\\\"23\\\" y2=\\\"9\\\"></line><line x1=\\\"20\\\" y1=\\\"14\\\" x2=\\\"23\\\" y2=\\\"14\\\"></line><line x1=\\\"1\\\" y1=\\\"9\\\" x2=\\\"4\\\" y2=\\\"9\\\"></line><line x1=\\\"1\\\" y1=\\\"14\\\" x2=\\\"4\\\" y2=\\\"14\\\"></line>\",\"credit-card\":\"<rect x=\\\"1\\\" y=\\\"4\\\" width=\\\"22\\\" height=\\\"16\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"1\\\" y1=\\\"10\\\" x2=\\\"23\\\" y2=\\\"10\\\"></line>\",\"crop\":\"<path d=\\\"M6.13 1L6 16a2 2 0 0 0 2 2h15\\\"></path><path d=\\\"M1 6.13L16 6a2 2 0 0 1 2 2v15\\\"></path>\",\"crosshair\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"22\\\" y1=\\\"12\\\" x2=\\\"18\\\" y2=\\\"12\\\"></line><line x1=\\\"6\\\" y1=\\\"12\\\" x2=\\\"2\\\" y2=\\\"12\\\"></line><line x1=\\\"12\\\" y1=\\\"6\\\" x2=\\\"12\\\" y2=\\\"2\\\"></line><line x1=\\\"12\\\" y1=\\\"22\\\" x2=\\\"12\\\" y2=\\\"18\\\"></line>\",\"database\":\"<ellipse cx=\\\"12\\\" cy=\\\"5\\\" rx=\\\"9\\\" ry=\\\"3\\\"></ellipse><path d=\\\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\\\"></path><path d=\\\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\\\"></path>\",\"delete\":\"<path d=\\\"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\\\"></path><line x1=\\\"18\\\" y1=\\\"9\\\" x2=\\\"12\\\" y2=\\\"15\\\"></line><line x1=\\\"12\\\" y1=\\\"9\\\" x2=\\\"18\\\" y2=\\\"15\\\"></line>\",\"disc\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"></circle>\",\"dollar-sign\":\"<line x1=\\\"12\\\" y1=\\\"1\\\" x2=\\\"12\\\" y2=\\\"23\\\"></line><path d=\\\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\\\"></path>\",\"download-cloud\":\"<polyline points=\\\"8 17 12 21 16 17\\\"></polyline><line x1=\\\"12\\\" y1=\\\"12\\\" x2=\\\"12\\\" y2=\\\"21\\\"></line><path d=\\\"M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29\\\"></path>\",\"download\":\"<path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"></path><polyline points=\\\"7 10 12 15 17 10\\\"></polyline><line x1=\\\"12\\\" y1=\\\"15\\\" x2=\\\"12\\\" y2=\\\"3\\\"></line>\",\"droplet\":\"<path d=\\\"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z\\\"></path>\",\"edit-2\":\"<polygon points=\\\"16 3 21 8 8 21 3 21 3 16 16 3\\\"></polygon>\",\"edit-3\":\"<polygon points=\\\"14 2 18 6 7 17 3 17 3 13 14 2\\\"></polygon><line x1=\\\"3\\\" y1=\\\"22\\\" x2=\\\"21\\\" y2=\\\"22\\\"></line>\",\"edit\":\"<path d=\\\"M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34\\\"></path><polygon points=\\\"18 2 22 6 12 16 8 16 8 12 18 2\\\"></polygon>\",\"external-link\":\"<path d=\\\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\\\"></path><polyline points=\\\"15 3 21 3 21 9\\\"></polyline><line x1=\\\"10\\\" y1=\\\"14\\\" x2=\\\"21\\\" y2=\\\"3\\\"></line>\",\"eye-off\":\"<path d=\\\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\\\"></path><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line>\",\"eye\":\"<path d=\\\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\\\"></path><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"></circle>\",\"facebook\":\"<path d=\\\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\\\"></path>\",\"fast-forward\":\"<polygon points=\\\"13 19 22 12 13 5 13 19\\\"></polygon><polygon points=\\\"2 19 11 12 2 5 2 19\\\"></polygon>\",\"feather\":\"<path d=\\\"M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z\\\"></path><line x1=\\\"16\\\" y1=\\\"8\\\" x2=\\\"2\\\" y2=\\\"22\\\"></line><line x1=\\\"17\\\" y1=\\\"15\\\" x2=\\\"9\\\" y2=\\\"15\\\"></line>\",\"file-minus\":\"<path d=\\\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\\\"></path><polyline points=\\\"14 2 14 8 20 8\\\"></polyline><line x1=\\\"9\\\" y1=\\\"15\\\" x2=\\\"15\\\" y2=\\\"15\\\"></line>\",\"file-plus\":\"<path d=\\\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\\\"></path><polyline points=\\\"14 2 14 8 20 8\\\"></polyline><line x1=\\\"12\\\" y1=\\\"18\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line><line x1=\\\"9\\\" y1=\\\"15\\\" x2=\\\"15\\\" y2=\\\"15\\\"></line>\",\"file-text\":\"<path d=\\\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\\\"></path><polyline points=\\\"14 2 14 8 20 8\\\"></polyline><line x1=\\\"16\\\" y1=\\\"13\\\" x2=\\\"8\\\" y2=\\\"13\\\"></line><line x1=\\\"16\\\" y1=\\\"17\\\" x2=\\\"8\\\" y2=\\\"17\\\"></line><polyline points=\\\"10 9 9 9 8 9\\\"></polyline>\",\"file\":\"<path d=\\\"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\\\"></path><polyline points=\\\"13 2 13 9 20 9\\\"></polyline>\",\"film\":\"<rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"20\\\" height=\\\"20\\\" rx=\\\"2.18\\\" ry=\\\"2.18\\\"></rect><line x1=\\\"7\\\" y1=\\\"2\\\" x2=\\\"7\\\" y2=\\\"22\\\"></line><line x1=\\\"17\\\" y1=\\\"2\\\" x2=\\\"17\\\" y2=\\\"22\\\"></line><line x1=\\\"2\\\" y1=\\\"12\\\" x2=\\\"22\\\" y2=\\\"12\\\"></line><line x1=\\\"2\\\" y1=\\\"7\\\" x2=\\\"7\\\" y2=\\\"7\\\"></line><line x1=\\\"2\\\" y1=\\\"17\\\" x2=\\\"7\\\" y2=\\\"17\\\"></line><line x1=\\\"17\\\" y1=\\\"17\\\" x2=\\\"22\\\" y2=\\\"17\\\"></line><line x1=\\\"17\\\" y1=\\\"7\\\" x2=\\\"22\\\" y2=\\\"7\\\"></line>\",\"filter\":\"<polygon points=\\\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\\\"></polygon>\",\"flag\":\"<path d=\\\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\\\"></path><line x1=\\\"4\\\" y1=\\\"22\\\" x2=\\\"4\\\" y2=\\\"15\\\"></line>\",\"folder-minus\":\"<path d=\\\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\\\"></path><line x1=\\\"9\\\" y1=\\\"14\\\" x2=\\\"15\\\" y2=\\\"14\\\"></line>\",\"folder-plus\":\"<path d=\\\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\\\"></path><line x1=\\\"12\\\" y1=\\\"11\\\" x2=\\\"12\\\" y2=\\\"17\\\"></line><line x1=\\\"9\\\" y1=\\\"14\\\" x2=\\\"15\\\" y2=\\\"14\\\"></line>\",\"folder\":\"<path d=\\\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\\\"></path>\",\"gift\":\"<polyline points=\\\"20 12 20 22 4 22 4 12\\\"></polyline><rect x=\\\"2\\\" y=\\\"7\\\" width=\\\"20\\\" height=\\\"5\\\"></rect><line x1=\\\"12\\\" y1=\\\"22\\\" x2=\\\"12\\\" y2=\\\"7\\\"></line><path d=\\\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\\\"></path><path d=\\\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\\\"></path>\",\"git-branch\":\"<line x1=\\\"6\\\" y1=\\\"3\\\" x2=\\\"6\\\" y2=\\\"15\\\"></line><circle cx=\\\"18\\\" cy=\\\"6\\\" r=\\\"3\\\"></circle><circle cx=\\\"6\\\" cy=\\\"18\\\" r=\\\"3\\\"></circle><path d=\\\"M18 9a9 9 0 0 1-9 9\\\"></path>\",\"git-commit\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"></circle><line x1=\\\"1.05\\\" y1=\\\"12\\\" x2=\\\"7\\\" y2=\\\"12\\\"></line><line x1=\\\"17.01\\\" y1=\\\"12\\\" x2=\\\"22.96\\\" y2=\\\"12\\\"></line>\",\"git-merge\":\"<circle cx=\\\"18\\\" cy=\\\"18\\\" r=\\\"3\\\"></circle><circle cx=\\\"6\\\" cy=\\\"6\\\" r=\\\"3\\\"></circle><path d=\\\"M6 21V9a9 9 0 0 0 9 9\\\"></path>\",\"git-pull-request\":\"<circle cx=\\\"18\\\" cy=\\\"18\\\" r=\\\"3\\\"></circle><circle cx=\\\"6\\\" cy=\\\"6\\\" r=\\\"3\\\"></circle><path d=\\\"M13 6h3a2 2 0 0 1 2 2v7\\\"></path><line x1=\\\"6\\\" y1=\\\"9\\\" x2=\\\"6\\\" y2=\\\"21\\\"></line>\",\"github\":\"<path d=\\\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\\\"></path>\",\"gitlab\":\"<path d=\\\"M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z\\\"></path>\",\"globe\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"2\\\" y1=\\\"12\\\" x2=\\\"22\\\" y2=\\\"12\\\"></line><path d=\\\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\\\"></path>\",\"grid\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"7\\\" height=\\\"7\\\"></rect><rect x=\\\"14\\\" y=\\\"3\\\" width=\\\"7\\\" height=\\\"7\\\"></rect><rect x=\\\"14\\\" y=\\\"14\\\" width=\\\"7\\\" height=\\\"7\\\"></rect><rect x=\\\"3\\\" y=\\\"14\\\" width=\\\"7\\\" height=\\\"7\\\"></rect>\",\"hard-drive\":\"<line x1=\\\"22\\\" y1=\\\"12\\\" x2=\\\"2\\\" y2=\\\"12\\\"></line><path d=\\\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\\\"></path><line x1=\\\"6\\\" y1=\\\"16\\\" x2=\\\"6\\\" y2=\\\"16\\\"></line><line x1=\\\"10\\\" y1=\\\"16\\\" x2=\\\"10\\\" y2=\\\"16\\\"></line>\",\"hash\":\"<line x1=\\\"4\\\" y1=\\\"9\\\" x2=\\\"20\\\" y2=\\\"9\\\"></line><line x1=\\\"4\\\" y1=\\\"15\\\" x2=\\\"20\\\" y2=\\\"15\\\"></line><line x1=\\\"10\\\" y1=\\\"3\\\" x2=\\\"8\\\" y2=\\\"21\\\"></line><line x1=\\\"16\\\" y1=\\\"3\\\" x2=\\\"14\\\" y2=\\\"21\\\"></line>\",\"headphones\":\"<path d=\\\"M3 18v-6a9 9 0 0 1 18 0v6\\\"></path><path d=\\\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\\\"></path>\",\"heart\":\"<path d=\\\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\\\"></path>\",\"help-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><path d=\\\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\\\"></path><line x1=\\\"12\\\" y1=\\\"17\\\" x2=\\\"12\\\" y2=\\\"17\\\"></line>\",\"home\":\"<path d=\\\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\\\"></path><polyline points=\\\"9 22 9 12 15 12 15 22\\\"></polyline>\",\"image\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><circle cx=\\\"8.5\\\" cy=\\\"8.5\\\" r=\\\"1.5\\\"></circle><polyline points=\\\"21 15 16 10 5 21\\\"></polyline>\",\"inbox\":\"<polyline points=\\\"22 12 16 12 14 15 10 15 8 12 2 12\\\"></polyline><path d=\\\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\\\"></path>\",\"info\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"12\\\" y1=\\\"16\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"8\\\"></line>\",\"instagram\":\"<rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"20\\\" height=\\\"20\\\" rx=\\\"5\\\" ry=\\\"5\\\"></rect><path d=\\\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\\\"></path><line x1=\\\"17.5\\\" y1=\\\"6.5\\\" x2=\\\"17.5\\\" y2=\\\"6.5\\\"></line>\",\"italic\":\"<line x1=\\\"19\\\" y1=\\\"4\\\" x2=\\\"10\\\" y2=\\\"4\\\"></line><line x1=\\\"14\\\" y1=\\\"20\\\" x2=\\\"5\\\" y2=\\\"20\\\"></line><line x1=\\\"15\\\" y1=\\\"4\\\" x2=\\\"9\\\" y2=\\\"20\\\"></line>\",\"layers\":\"<polygon points=\\\"12 2 2 7 12 12 22 7 12 2\\\"></polygon><polyline points=\\\"2 17 12 22 22 17\\\"></polyline><polyline points=\\\"2 12 12 17 22 12\\\"></polyline>\",\"layout\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"3\\\" y1=\\\"9\\\" x2=\\\"21\\\" y2=\\\"9\\\"></line><line x1=\\\"9\\\" y1=\\\"21\\\" x2=\\\"9\\\" y2=\\\"9\\\"></line>\",\"life-buoy\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"4\\\"></circle><line x1=\\\"4.93\\\" y1=\\\"4.93\\\" x2=\\\"9.17\\\" y2=\\\"9.17\\\"></line><line x1=\\\"14.83\\\" y1=\\\"14.83\\\" x2=\\\"19.07\\\" y2=\\\"19.07\\\"></line><line x1=\\\"14.83\\\" y1=\\\"9.17\\\" x2=\\\"19.07\\\" y2=\\\"4.93\\\"></line><line x1=\\\"14.83\\\" y1=\\\"9.17\\\" x2=\\\"18.36\\\" y2=\\\"5.64\\\"></line><line x1=\\\"4.93\\\" y1=\\\"19.07\\\" x2=\\\"9.17\\\" y2=\\\"14.83\\\"></line>\",\"link-2\":\"<path d=\\\"M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3\\\"></path><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"16\\\" y2=\\\"12\\\"></line>\",\"link\":\"<path d=\\\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\\\"></path><path d=\\\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\\\"></path>\",\"linkedin\":\"<path d=\\\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\\\"></path><rect x=\\\"2\\\" y=\\\"9\\\" width=\\\"4\\\" height=\\\"12\\\"></rect><circle cx=\\\"4\\\" cy=\\\"4\\\" r=\\\"2\\\"></circle>\",\"list\":\"<line x1=\\\"8\\\" y1=\\\"6\\\" x2=\\\"21\\\" y2=\\\"6\\\"></line><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"21\\\" y2=\\\"12\\\"></line><line x1=\\\"8\\\" y1=\\\"18\\\" x2=\\\"21\\\" y2=\\\"18\\\"></line><line x1=\\\"3\\\" y1=\\\"6\\\" x2=\\\"3\\\" y2=\\\"6\\\"></line><line x1=\\\"3\\\" y1=\\\"12\\\" x2=\\\"3\\\" y2=\\\"12\\\"></line><line x1=\\\"3\\\" y1=\\\"18\\\" x2=\\\"3\\\" y2=\\\"18\\\"></line>\",\"loader\":\"<line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"6\\\"></line><line x1=\\\"12\\\" y1=\\\"18\\\" x2=\\\"12\\\" y2=\\\"22\\\"></line><line x1=\\\"4.93\\\" y1=\\\"4.93\\\" x2=\\\"7.76\\\" y2=\\\"7.76\\\"></line><line x1=\\\"16.24\\\" y1=\\\"16.24\\\" x2=\\\"19.07\\\" y2=\\\"19.07\\\"></line><line x1=\\\"2\\\" y1=\\\"12\\\" x2=\\\"6\\\" y2=\\\"12\\\"></line><line x1=\\\"18\\\" y1=\\\"12\\\" x2=\\\"22\\\" y2=\\\"12\\\"></line><line x1=\\\"4.93\\\" y1=\\\"19.07\\\" x2=\\\"7.76\\\" y2=\\\"16.24\\\"></line><line x1=\\\"16.24\\\" y1=\\\"7.76\\\" x2=\\\"19.07\\\" y2=\\\"4.93\\\"></line>\",\"lock\":\"<rect x=\\\"3\\\" y=\\\"11\\\" width=\\\"18\\\" height=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><path d=\\\"M7 11V7a5 5 0 0 1 10 0v4\\\"></path>\",\"log-in\":\"<path d=\\\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\\\"></path><polyline points=\\\"10 17 15 12 10 7\\\"></polyline><line x1=\\\"15\\\" y1=\\\"12\\\" x2=\\\"3\\\" y2=\\\"12\\\"></line>\",\"log-out\":\"<path d=\\\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\\\"></path><polyline points=\\\"16 17 21 12 16 7\\\"></polyline><line x1=\\\"21\\\" y1=\\\"12\\\" x2=\\\"9\\\" y2=\\\"12\\\"></line>\",\"mail\":\"<path d=\\\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\\\"></path><polyline points=\\\"22,6 12,13 2,6\\\"></polyline>\",\"map-pin\":\"<path d=\\\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\\\"></path><circle cx=\\\"12\\\" cy=\\\"10\\\" r=\\\"3\\\"></circle>\",\"map\":\"<polygon points=\\\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\\\"></polygon><line x1=\\\"8\\\" y1=\\\"2\\\" x2=\\\"8\\\" y2=\\\"18\\\"></line><line x1=\\\"16\\\" y1=\\\"6\\\" x2=\\\"16\\\" y2=\\\"22\\\"></line>\",\"maximize-2\":\"<polyline points=\\\"15 3 21 3 21 9\\\"></polyline><polyline points=\\\"9 21 3 21 3 15\\\"></polyline><line x1=\\\"21\\\" y1=\\\"3\\\" x2=\\\"14\\\" y2=\\\"10\\\"></line><line x1=\\\"3\\\" y1=\\\"21\\\" x2=\\\"10\\\" y2=\\\"14\\\"></line>\",\"maximize\":\"<path d=\\\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\\\"></path>\",\"menu\":\"<line x1=\\\"3\\\" y1=\\\"12\\\" x2=\\\"21\\\" y2=\\\"12\\\"></line><line x1=\\\"3\\\" y1=\\\"6\\\" x2=\\\"21\\\" y2=\\\"6\\\"></line><line x1=\\\"3\\\" y1=\\\"18\\\" x2=\\\"21\\\" y2=\\\"18\\\"></line>\",\"message-circle\":\"<path d=\\\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\\\"></path>\",\"message-square\":\"<path d=\\\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\\\"></path>\",\"mic-off\":\"<line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line><path d=\\\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\\\"></path><path d=\\\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\\\"></path><line x1=\\\"12\\\" y1=\\\"19\\\" x2=\\\"12\\\" y2=\\\"23\\\"></line><line x1=\\\"8\\\" y1=\\\"23\\\" x2=\\\"16\\\" y2=\\\"23\\\"></line>\",\"mic\":\"<path d=\\\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\\\"></path><path d=\\\"M19 10v2a7 7 0 0 1-14 0v-2\\\"></path><line x1=\\\"12\\\" y1=\\\"19\\\" x2=\\\"12\\\" y2=\\\"23\\\"></line><line x1=\\\"8\\\" y1=\\\"23\\\" x2=\\\"16\\\" y2=\\\"23\\\"></line>\",\"minimize-2\":\"<polyline points=\\\"4 14 10 14 10 20\\\"></polyline><polyline points=\\\"20 10 14 10 14 4\\\"></polyline><line x1=\\\"14\\\" y1=\\\"10\\\" x2=\\\"21\\\" y2=\\\"3\\\"></line><line x1=\\\"3\\\" y1=\\\"21\\\" x2=\\\"10\\\" y2=\\\"14\\\"></line>\",\"minimize\":\"<path d=\\\"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\\\"></path>\",\"minus-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"16\\\" y2=\\\"12\\\"></line>\",\"minus-square\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"16\\\" y2=\\\"12\\\"></line>\",\"minus\":\"<line x1=\\\"5\\\" y1=\\\"12\\\" x2=\\\"19\\\" y2=\\\"12\\\"></line>\",\"monitor\":\"<rect x=\\\"2\\\" y=\\\"3\\\" width=\\\"20\\\" height=\\\"14\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"8\\\" y1=\\\"21\\\" x2=\\\"16\\\" y2=\\\"21\\\"></line><line x1=\\\"12\\\" y1=\\\"17\\\" x2=\\\"12\\\" y2=\\\"21\\\"></line>\",\"moon\":\"<path d=\\\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\\\"></path>\",\"more-horizontal\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"></circle><circle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"></circle><circle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"></circle>\",\"more-vertical\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"></circle><circle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"1\\\"></circle><circle cx=\\\"12\\\" cy=\\\"19\\\" r=\\\"1\\\"></circle>\",\"move\":\"<polyline points=\\\"5 9 2 12 5 15\\\"></polyline><polyline points=\\\"9 5 12 2 15 5\\\"></polyline><polyline points=\\\"15 19 12 22 9 19\\\"></polyline><polyline points=\\\"19 9 22 12 19 15\\\"></polyline><line x1=\\\"2\\\" y1=\\\"12\\\" x2=\\\"22\\\" y2=\\\"12\\\"></line><line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"22\\\"></line>\",\"music\":\"<path d=\\\"M9 17H5a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2a2 2 0 0 0 2-2zm12-2h-4a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2a2 2 0 0 0 2-2z\\\"></path><polyline points=\\\"9 17 9 5 21 3 21 15\\\"></polyline>\",\"navigation-2\":\"<polygon points=\\\"12 2 19 21 12 17 5 21 12 2\\\"></polygon>\",\"navigation\":\"<polygon points=\\\"3 11 22 2 13 21 11 13 3 11\\\"></polygon>\",\"octagon\":\"<polygon points=\\\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\\\"></polygon>\",\"package\":\"<path d=\\\"M12.89 1.45l8 4A2 2 0 0 1 22 7.24v9.53a2 2 0 0 1-1.11 1.79l-8 4a2 2 0 0 1-1.79 0l-8-4a2 2 0 0 1-1.1-1.8V7.24a2 2 0 0 1 1.11-1.79l8-4a2 2 0 0 1 1.78 0z\\\"></path><polyline points=\\\"2.32 6.16 12 11 21.68 6.16\\\"></polyline><line x1=\\\"12\\\" y1=\\\"22.76\\\" x2=\\\"12\\\" y2=\\\"11\\\"></line><line x1=\\\"7\\\" y1=\\\"3.5\\\" x2=\\\"17\\\" y2=\\\"8.5\\\"></line>\",\"paperclip\":\"<path d=\\\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\\\"></path>\",\"pause-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"10\\\" y1=\\\"15\\\" x2=\\\"10\\\" y2=\\\"9\\\"></line><line x1=\\\"14\\\" y1=\\\"15\\\" x2=\\\"14\\\" y2=\\\"9\\\"></line>\",\"pause\":\"<rect x=\\\"6\\\" y=\\\"4\\\" width=\\\"4\\\" height=\\\"16\\\"></rect><rect x=\\\"14\\\" y=\\\"4\\\" width=\\\"4\\\" height=\\\"16\\\"></rect>\",\"percent\":\"<line x1=\\\"19\\\" y1=\\\"5\\\" x2=\\\"5\\\" y2=\\\"19\\\"></line><circle cx=\\\"6.5\\\" cy=\\\"6.5\\\" r=\\\"2.5\\\"></circle><circle cx=\\\"17.5\\\" cy=\\\"17.5\\\" r=\\\"2.5\\\"></circle>\",\"phone-call\":\"<path d=\\\"M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\\\"></path>\",\"phone-forwarded\":\"<polyline points=\\\"19 1 23 5 19 9\\\"></polyline><line x1=\\\"15\\\" y1=\\\"5\\\" x2=\\\"23\\\" y2=\\\"5\\\"></line><path d=\\\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\\\"></path>\",\"phone-incoming\":\"<polyline points=\\\"16 2 16 8 22 8\\\"></polyline><line x1=\\\"23\\\" y1=\\\"1\\\" x2=\\\"16\\\" y2=\\\"8\\\"></line><path d=\\\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\\\"></path>\",\"phone-missed\":\"<line x1=\\\"23\\\" y1=\\\"1\\\" x2=\\\"17\\\" y2=\\\"7\\\"></line><line x1=\\\"17\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"7\\\"></line><path d=\\\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\\\"></path>\",\"phone-off\":\"<path d=\\\"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91\\\"></path><line x1=\\\"23\\\" y1=\\\"1\\\" x2=\\\"1\\\" y2=\\\"23\\\"></line>\",\"phone-outgoing\":\"<polyline points=\\\"23 7 23 1 17 1\\\"></polyline><line x1=\\\"16\\\" y1=\\\"8\\\" x2=\\\"23\\\" y2=\\\"1\\\"></line><path d=\\\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\\\"></path>\",\"phone\":\"<path d=\\\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\\\"></path>\",\"pie-chart\":\"<path d=\\\"M21.21 15.89A10 10 0 1 1 8 2.83\\\"></path><path d=\\\"M22 12A10 10 0 0 0 12 2v10z\\\"></path>\",\"play-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><polygon points=\\\"10 8 16 12 10 16 10 8\\\"></polygon>\",\"play\":\"<polygon points=\\\"5 3 19 12 5 21 5 3\\\"></polygon>\",\"plus-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"16\\\"></line><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"16\\\" y2=\\\"12\\\"></line>\",\"plus-square\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"16\\\"></line><line x1=\\\"8\\\" y1=\\\"12\\\" x2=\\\"16\\\" y2=\\\"12\\\"></line>\",\"plus\":\"<line x1=\\\"12\\\" y1=\\\"5\\\" x2=\\\"12\\\" y2=\\\"19\\\"></line><line x1=\\\"5\\\" y1=\\\"12\\\" x2=\\\"19\\\" y2=\\\"12\\\"></line>\",\"pocket\":\"<path d=\\\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z\\\"></path><polyline points=\\\"8 10 12 14 16 10\\\"></polyline>\",\"power\":\"<path d=\\\"M18.36 6.64a9 9 0 1 1-12.73 0\\\"></path><line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line>\",\"printer\":\"<polyline points=\\\"6 9 6 2 18 2 18 9\\\"></polyline><path d=\\\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\\\"></path><rect x=\\\"6\\\" y=\\\"14\\\" width=\\\"12\\\" height=\\\"8\\\"></rect>\",\"radio\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"2\\\"></circle><path d=\\\"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\\\"></path>\",\"refresh-ccw\":\"<polyline points=\\\"1 4 1 10 7 10\\\"></polyline><polyline points=\\\"23 20 23 14 17 14\\\"></polyline><path d=\\\"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15\\\"></path>\",\"refresh-cw\":\"<polyline points=\\\"23 4 23 10 17 10\\\"></polyline><polyline points=\\\"1 20 1 14 7 14\\\"></polyline><path d=\\\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\\\"></path>\",\"repeat\":\"<polyline points=\\\"17 1 21 5 17 9\\\"></polyline><path d=\\\"M3 11V9a4 4 0 0 1 4-4h14\\\"></path><polyline points=\\\"7 23 3 19 7 15\\\"></polyline><path d=\\\"M21 13v2a4 4 0 0 1-4 4H3\\\"></path>\",\"rewind\":\"<polygon points=\\\"11 19 2 12 11 5 11 19\\\"></polygon><polygon points=\\\"22 19 13 12 22 5 22 19\\\"></polygon>\",\"rotate-ccw\":\"<polyline points=\\\"1 4 1 10 7 10\\\"></polyline><path d=\\\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\\\"></path>\",\"rotate-cw\":\"<polyline points=\\\"23 4 23 10 17 10\\\"></polyline><path d=\\\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\\\"></path>\",\"rss\":\"<path d=\\\"M4 11a9 9 0 0 1 9 9\\\"></path><path d=\\\"M4 4a16 16 0 0 1 16 16\\\"></path><circle cx=\\\"5\\\" cy=\\\"19\\\" r=\\\"1\\\"></circle>\",\"save\":\"<path d=\\\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\\\"></path><polyline points=\\\"17 21 17 13 7 13 7 21\\\"></polyline><polyline points=\\\"7 3 7 8 15 8\\\"></polyline>\",\"scissors\":\"<circle cx=\\\"6\\\" cy=\\\"6\\\" r=\\\"3\\\"></circle><circle cx=\\\"6\\\" cy=\\\"18\\\" r=\\\"3\\\"></circle><line x1=\\\"20\\\" y1=\\\"4\\\" x2=\\\"8.12\\\" y2=\\\"15.88\\\"></line><line x1=\\\"14.47\\\" y1=\\\"14.48\\\" x2=\\\"20\\\" y2=\\\"20\\\"></line><line x1=\\\"8.12\\\" y1=\\\"8.12\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line>\",\"search\":\"<circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"></circle><line x1=\\\"21\\\" y1=\\\"21\\\" x2=\\\"16.65\\\" y2=\\\"16.65\\\"></line>\",\"send\":\"<line x1=\\\"22\\\" y1=\\\"2\\\" x2=\\\"11\\\" y2=\\\"13\\\"></line><polygon points=\\\"22 2 15 22 11 13 2 9 22 2\\\"></polygon>\",\"server\":\"<rect x=\\\"2\\\" y=\\\"2\\\" width=\\\"20\\\" height=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><rect x=\\\"2\\\" y=\\\"14\\\" width=\\\"20\\\" height=\\\"8\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"6\\\" y1=\\\"6\\\" x2=\\\"6\\\" y2=\\\"6\\\"></line><line x1=\\\"6\\\" y1=\\\"18\\\" x2=\\\"6\\\" y2=\\\"18\\\"></line>\",\"settings\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"3\\\"></circle><path d=\\\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\\\"></path>\",\"share-2\":\"<circle cx=\\\"18\\\" cy=\\\"5\\\" r=\\\"3\\\"></circle><circle cx=\\\"6\\\" cy=\\\"12\\\" r=\\\"3\\\"></circle><circle cx=\\\"18\\\" cy=\\\"19\\\" r=\\\"3\\\"></circle><line x1=\\\"8.59\\\" y1=\\\"13.51\\\" x2=\\\"15.42\\\" y2=\\\"17.49\\\"></line><line x1=\\\"15.41\\\" y1=\\\"6.51\\\" x2=\\\"8.59\\\" y2=\\\"10.49\\\"></line>\",\"share\":\"<path d=\\\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\\\"></path><polyline points=\\\"16 6 12 2 8 6\\\"></polyline><line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"15\\\"></line>\",\"shield-off\":\"<path d=\\\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18\\\"></path><path d=\\\"M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38\\\"></path><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line>\",\"shield\":\"<path d=\\\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\\\"></path>\",\"shopping-bag\":\"<path d=\\\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\\\"></path><line x1=\\\"3\\\" y1=\\\"6\\\" x2=\\\"21\\\" y2=\\\"6\\\"></line><path d=\\\"M16 10a4 4 0 0 1-8 0\\\"></path>\",\"shopping-cart\":\"<circle cx=\\\"9\\\" cy=\\\"21\\\" r=\\\"1\\\"></circle><circle cx=\\\"20\\\" cy=\\\"21\\\" r=\\\"1\\\"></circle><path d=\\\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\\\"></path>\",\"shuffle\":\"<polyline points=\\\"16 3 21 3 21 8\\\"></polyline><line x1=\\\"4\\\" y1=\\\"20\\\" x2=\\\"21\\\" y2=\\\"3\\\"></line><polyline points=\\\"21 16 21 21 16 21\\\"></polyline><line x1=\\\"15\\\" y1=\\\"15\\\" x2=\\\"21\\\" y2=\\\"21\\\"></line><line x1=\\\"4\\\" y1=\\\"4\\\" x2=\\\"9\\\" y2=\\\"9\\\"></line>\",\"sidebar\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"9\\\" y1=\\\"3\\\" x2=\\\"9\\\" y2=\\\"21\\\"></line>\",\"skip-back\":\"<polygon points=\\\"19 20 9 12 19 4 19 20\\\"></polygon><line x1=\\\"5\\\" y1=\\\"19\\\" x2=\\\"5\\\" y2=\\\"5\\\"></line>\",\"skip-forward\":\"<polygon points=\\\"5 4 15 12 5 20 5 4\\\"></polygon><line x1=\\\"19\\\" y1=\\\"5\\\" x2=\\\"19\\\" y2=\\\"19\\\"></line>\",\"slack\":\"<path d=\\\"M22.08 9C19.81 1.41 16.54-.35 9 1.92S-.35 7.46 1.92 15 7.46 24.35 15 22.08 24.35 16.54 22.08 9z\\\"></path><line x1=\\\"12.57\\\" y1=\\\"5.99\\\" x2=\\\"16.15\\\" y2=\\\"16.39\\\"></line><line x1=\\\"7.85\\\" y1=\\\"7.61\\\" x2=\\\"11.43\\\" y2=\\\"18.01\\\"></line><line x1=\\\"16.39\\\" y1=\\\"7.85\\\" x2=\\\"5.99\\\" y2=\\\"11.43\\\"></line><line x1=\\\"18.01\\\" y1=\\\"12.57\\\" x2=\\\"7.61\\\" y2=\\\"16.15\\\"></line>\",\"slash\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"4.93\\\" y1=\\\"4.93\\\" x2=\\\"19.07\\\" y2=\\\"19.07\\\"></line>\",\"sliders\":\"<line x1=\\\"4\\\" y1=\\\"21\\\" x2=\\\"4\\\" y2=\\\"14\\\"></line><line x1=\\\"4\\\" y1=\\\"10\\\" x2=\\\"4\\\" y2=\\\"3\\\"></line><line x1=\\\"12\\\" y1=\\\"21\\\" x2=\\\"12\\\" y2=\\\"12\\\"></line><line x1=\\\"12\\\" y1=\\\"8\\\" x2=\\\"12\\\" y2=\\\"3\\\"></line><line x1=\\\"20\\\" y1=\\\"21\\\" x2=\\\"20\\\" y2=\\\"16\\\"></line><line x1=\\\"20\\\" y1=\\\"12\\\" x2=\\\"20\\\" y2=\\\"3\\\"></line><line x1=\\\"1\\\" y1=\\\"14\\\" x2=\\\"7\\\" y2=\\\"14\\\"></line><line x1=\\\"9\\\" y1=\\\"8\\\" x2=\\\"15\\\" y2=\\\"8\\\"></line><line x1=\\\"17\\\" y1=\\\"16\\\" x2=\\\"23\\\" y2=\\\"16\\\"></line>\",\"smartphone\":\"<rect x=\\\"5\\\" y=\\\"2\\\" width=\\\"14\\\" height=\\\"20\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"12\\\" y1=\\\"18\\\" x2=\\\"12\\\" y2=\\\"18\\\"></line>\",\"speaker\":\"<rect x=\\\"4\\\" y=\\\"2\\\" width=\\\"16\\\" height=\\\"20\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><circle cx=\\\"12\\\" cy=\\\"14\\\" r=\\\"4\\\"></circle><line x1=\\\"12\\\" y1=\\\"6\\\" x2=\\\"12\\\" y2=\\\"6\\\"></line>\",\"square\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect>\",\"star\":\"<polygon points=\\\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\\\"></polygon>\",\"stop-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><rect x=\\\"9\\\" y=\\\"9\\\" width=\\\"6\\\" height=\\\"6\\\"></rect>\",\"sun\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"5\\\"></circle><line x1=\\\"12\\\" y1=\\\"1\\\" x2=\\\"12\\\" y2=\\\"3\\\"></line><line x1=\\\"12\\\" y1=\\\"21\\\" x2=\\\"12\\\" y2=\\\"23\\\"></line><line x1=\\\"4.22\\\" y1=\\\"4.22\\\" x2=\\\"5.64\\\" y2=\\\"5.64\\\"></line><line x1=\\\"18.36\\\" y1=\\\"18.36\\\" x2=\\\"19.78\\\" y2=\\\"19.78\\\"></line><line x1=\\\"1\\\" y1=\\\"12\\\" x2=\\\"3\\\" y2=\\\"12\\\"></line><line x1=\\\"21\\\" y1=\\\"12\\\" x2=\\\"23\\\" y2=\\\"12\\\"></line><line x1=\\\"4.22\\\" y1=\\\"19.78\\\" x2=\\\"5.64\\\" y2=\\\"18.36\\\"></line><line x1=\\\"18.36\\\" y1=\\\"5.64\\\" x2=\\\"19.78\\\" y2=\\\"4.22\\\"></line>\",\"sunrise\":\"<path d=\\\"M17 18a5 5 0 0 0-10 0\\\"></path><line x1=\\\"12\\\" y1=\\\"2\\\" x2=\\\"12\\\" y2=\\\"9\\\"></line><line x1=\\\"4.22\\\" y1=\\\"10.22\\\" x2=\\\"5.64\\\" y2=\\\"11.64\\\"></line><line x1=\\\"1\\\" y1=\\\"18\\\" x2=\\\"3\\\" y2=\\\"18\\\"></line><line x1=\\\"21\\\" y1=\\\"18\\\" x2=\\\"23\\\" y2=\\\"18\\\"></line><line x1=\\\"18.36\\\" y1=\\\"11.64\\\" x2=\\\"19.78\\\" y2=\\\"10.22\\\"></line><line x1=\\\"23\\\" y1=\\\"22\\\" x2=\\\"1\\\" y2=\\\"22\\\"></line><polyline points=\\\"8 6 12 2 16 6\\\"></polyline>\",\"sunset\":\"<path d=\\\"M17 18a5 5 0 0 0-10 0\\\"></path><line x1=\\\"12\\\" y1=\\\"9\\\" x2=\\\"12\\\" y2=\\\"2\\\"></line><line x1=\\\"4.22\\\" y1=\\\"10.22\\\" x2=\\\"5.64\\\" y2=\\\"11.64\\\"></line><line x1=\\\"1\\\" y1=\\\"18\\\" x2=\\\"3\\\" y2=\\\"18\\\"></line><line x1=\\\"21\\\" y1=\\\"18\\\" x2=\\\"23\\\" y2=\\\"18\\\"></line><line x1=\\\"18.36\\\" y1=\\\"11.64\\\" x2=\\\"19.78\\\" y2=\\\"10.22\\\"></line><line x1=\\\"23\\\" y1=\\\"22\\\" x2=\\\"1\\\" y2=\\\"22\\\"></line><polyline points=\\\"16 5 12 9 8 5\\\"></polyline>\",\"tablet\":\"<rect x=\\\"4\\\" y=\\\"2\\\" width=\\\"16\\\" height=\\\"20\\\" rx=\\\"2\\\" ry=\\\"2\\\" transform=\\\"rotate(180 12 12)\\\"></rect><line x1=\\\"12\\\" y1=\\\"18\\\" x2=\\\"12\\\" y2=\\\"18\\\"></line>\",\"tag\":\"<path d=\\\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\\\"></path><line x1=\\\"7\\\" y1=\\\"7\\\" x2=\\\"7\\\" y2=\\\"7\\\"></line>\",\"target\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"6\\\"></circle><circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"2\\\"></circle>\",\"terminal\":\"<polyline points=\\\"4 17 10 11 4 5\\\"></polyline><line x1=\\\"12\\\" y1=\\\"19\\\" x2=\\\"20\\\" y2=\\\"19\\\"></line>\",\"thermometer\":\"<path d=\\\"M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z\\\"></path>\",\"thumbs-down\":\"<path d=\\\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\\\"></path>\",\"thumbs-up\":\"<path d=\\\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\\\"></path>\",\"toggle-left\":\"<rect x=\\\"1\\\" y=\\\"5\\\" width=\\\"22\\\" height=\\\"14\\\" rx=\\\"7\\\" ry=\\\"7\\\"></rect><circle cx=\\\"8\\\" cy=\\\"12\\\" r=\\\"3\\\"></circle>\",\"toggle-right\":\"<rect x=\\\"1\\\" y=\\\"5\\\" width=\\\"22\\\" height=\\\"14\\\" rx=\\\"7\\\" ry=\\\"7\\\"></rect><circle cx=\\\"16\\\" cy=\\\"12\\\" r=\\\"3\\\"></circle>\",\"trash-2\":\"<polyline points=\\\"3 6 5 6 21 6\\\"></polyline><path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\"></path><line x1=\\\"10\\\" y1=\\\"11\\\" x2=\\\"10\\\" y2=\\\"17\\\"></line><line x1=\\\"14\\\" y1=\\\"11\\\" x2=\\\"14\\\" y2=\\\"17\\\"></line>\",\"trash\":\"<polyline points=\\\"3 6 5 6 21 6\\\"></polyline><path d=\\\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\\\"></path>\",\"trending-down\":\"<polyline points=\\\"23 18 13.5 8.5 8.5 13.5 1 6\\\"></polyline><polyline points=\\\"17 18 23 18 23 12\\\"></polyline>\",\"trending-up\":\"<polyline points=\\\"23 6 13.5 15.5 8.5 10.5 1 18\\\"></polyline><polyline points=\\\"17 6 23 6 23 12\\\"></polyline>\",\"triangle\":\"<path d=\\\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\\\"></path>\",\"truck\":\"<rect x=\\\"1\\\" y=\\\"3\\\" width=\\\"15\\\" height=\\\"13\\\"></rect><polygon points=\\\"16 8 20 8 23 11 23 16 16 16 16 8\\\"></polygon><circle cx=\\\"5.5\\\" cy=\\\"18.5\\\" r=\\\"2.5\\\"></circle><circle cx=\\\"18.5\\\" cy=\\\"18.5\\\" r=\\\"2.5\\\"></circle>\",\"tv\":\"<rect x=\\\"2\\\" y=\\\"7\\\" width=\\\"20\\\" height=\\\"15\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><polyline points=\\\"17 2 12 7 7 2\\\"></polyline>\",\"twitter\":\"<path d=\\\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\\\"></path>\",\"type\":\"<polyline points=\\\"4 7 4 4 20 4 20 7\\\"></polyline><line x1=\\\"9\\\" y1=\\\"20\\\" x2=\\\"15\\\" y2=\\\"20\\\"></line><line x1=\\\"12\\\" y1=\\\"4\\\" x2=\\\"12\\\" y2=\\\"20\\\"></line>\",\"umbrella\":\"<path d=\\\"M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7\\\"></path>\",\"underline\":\"<path d=\\\"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\\\"></path><line x1=\\\"4\\\" y1=\\\"21\\\" x2=\\\"20\\\" y2=\\\"21\\\"></line>\",\"unlock\":\"<rect x=\\\"3\\\" y=\\\"11\\\" width=\\\"18\\\" height=\\\"11\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><path d=\\\"M7 11V7a5 5 0 0 1 9.9-1\\\"></path>\",\"upload-cloud\":\"<polyline points=\\\"16 16 12 12 8 16\\\"></polyline><line x1=\\\"12\\\" y1=\\\"12\\\" x2=\\\"12\\\" y2=\\\"21\\\"></line><path d=\\\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\\\"></path><polyline points=\\\"16 16 12 12 8 16\\\"></polyline>\",\"upload\":\"<path d=\\\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\\\"></path><polyline points=\\\"17 8 12 3 7 8\\\"></polyline><line x1=\\\"12\\\" y1=\\\"3\\\" x2=\\\"12\\\" y2=\\\"15\\\"></line>\",\"user-check\":\"<path d=\\\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\\\"></path><circle cx=\\\"8.5\\\" cy=\\\"7\\\" r=\\\"4\\\"></circle><polyline points=\\\"17 11 19 13 23 9\\\"></polyline>\",\"user-minus\":\"<path d=\\\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\\\"></path><circle cx=\\\"8.5\\\" cy=\\\"7\\\" r=\\\"4\\\"></circle><line x1=\\\"23\\\" y1=\\\"11\\\" x2=\\\"17\\\" y2=\\\"11\\\"></line>\",\"user-plus\":\"<path d=\\\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\\\"></path><circle cx=\\\"8.5\\\" cy=\\\"7\\\" r=\\\"4\\\"></circle><line x1=\\\"20\\\" y1=\\\"8\\\" x2=\\\"20\\\" y2=\\\"14\\\"></line><line x1=\\\"23\\\" y1=\\\"11\\\" x2=\\\"17\\\" y2=\\\"11\\\"></line>\",\"user-x\":\"<path d=\\\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\\\"></path><circle cx=\\\"8.5\\\" cy=\\\"7\\\" r=\\\"4\\\"></circle><line x1=\\\"18\\\" y1=\\\"8\\\" x2=\\\"23\\\" y2=\\\"13\\\"></line><line x1=\\\"23\\\" y1=\\\"8\\\" x2=\\\"18\\\" y2=\\\"13\\\"></line>\",\"user\":\"<path d=\\\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\\\"></path><circle cx=\\\"12\\\" cy=\\\"7\\\" r=\\\"4\\\"></circle>\",\"users\":\"<path d=\\\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\\\"></path><circle cx=\\\"9\\\" cy=\\\"7\\\" r=\\\"4\\\"></circle><path d=\\\"M23 21v-2a4 4 0 0 0-3-3.87\\\"></path><path d=\\\"M16 3.13a4 4 0 0 1 0 7.75\\\"></path>\",\"video-off\":\"<path d=\\\"M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10\\\"></path><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line>\",\"video\":\"<polygon points=\\\"23 7 16 12 23 17 23 7\\\"></polygon><rect x=\\\"1\\\" y=\\\"5\\\" width=\\\"15\\\" height=\\\"14\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect>\",\"voicemail\":\"<circle cx=\\\"5.5\\\" cy=\\\"11.5\\\" r=\\\"4.5\\\"></circle><circle cx=\\\"18.5\\\" cy=\\\"11.5\\\" r=\\\"4.5\\\"></circle><line x1=\\\"5.5\\\" y1=\\\"16\\\" x2=\\\"18.5\\\" y2=\\\"16\\\"></line>\",\"volume-1\":\"<polygon points=\\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\\"></polygon><path d=\\\"M15.54 8.46a5 5 0 0 1 0 7.07\\\"></path>\",\"volume-2\":\"<polygon points=\\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\\"></polygon><path d=\\\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\\\"></path>\",\"volume-x\":\"<polygon points=\\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\\"></polygon><line x1=\\\"23\\\" y1=\\\"9\\\" x2=\\\"17\\\" y2=\\\"15\\\"></line><line x1=\\\"17\\\" y1=\\\"9\\\" x2=\\\"23\\\" y2=\\\"15\\\"></line>\",\"volume\":\"<polygon points=\\\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\\\"></polygon>\",\"watch\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"7\\\"></circle><polyline points=\\\"12 9 12 12 13.5 13.5\\\"></polyline><path d=\\\"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\\\"></path>\",\"wifi-off\":\"<line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line><path d=\\\"M16.72 11.06A10.94 10.94 0 0 1 19 12.55\\\"></path><path d=\\\"M5 12.55a10.94 10.94 0 0 1 5.17-2.39\\\"></path><path d=\\\"M10.71 5.05A16 16 0 0 1 22.58 9\\\"></path><path d=\\\"M1.42 9a15.91 15.91 0 0 1 4.7-2.88\\\"></path><path d=\\\"M8.53 16.11a6 6 0 0 1 6.95 0\\\"></path><line x1=\\\"12\\\" y1=\\\"20\\\" x2=\\\"12\\\" y2=\\\"20\\\"></line>\",\"wifi\":\"<path d=\\\"M5 12.55a11 11 0 0 1 14.08 0\\\"></path><path d=\\\"M1.42 9a16 16 0 0 1 21.16 0\\\"></path><path d=\\\"M8.53 16.11a6 6 0 0 1 6.95 0\\\"></path><line x1=\\\"12\\\" y1=\\\"20\\\" x2=\\\"12\\\" y2=\\\"20\\\"></line>\",\"wind\":\"<path d=\\\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\\\"></path>\",\"x-circle\":\"<circle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"10\\\"></circle><line x1=\\\"15\\\" y1=\\\"9\\\" x2=\\\"9\\\" y2=\\\"15\\\"></line><line x1=\\\"9\\\" y1=\\\"9\\\" x2=\\\"15\\\" y2=\\\"15\\\"></line>\",\"x-square\":\"<rect x=\\\"3\\\" y=\\\"3\\\" width=\\\"18\\\" height=\\\"18\\\" rx=\\\"2\\\" ry=\\\"2\\\"></rect><line x1=\\\"9\\\" y1=\\\"9\\\" x2=\\\"15\\\" y2=\\\"15\\\"></line><line x1=\\\"15\\\" y1=\\\"9\\\" x2=\\\"9\\\" y2=\\\"15\\\"></line>\",\"x\":\"<line x1=\\\"18\\\" y1=\\\"6\\\" x2=\\\"6\\\" y2=\\\"18\\\"></line><line x1=\\\"6\\\" y1=\\\"6\\\" x2=\\\"18\\\" y2=\\\"18\\\"></line>\",\"youtube\":\"<path d=\\\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\\\"></path><polygon points=\\\"9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02\\\"></polygon>\",\"zap-off\":\"<polyline points=\\\"12.41 6.75 13 2 10.57 4.92\\\"></polyline><polyline points=\\\"18.57 12.91 21 10 15.66 10\\\"></polyline><polyline points=\\\"8 8 3 14 12 14 11 22 16 16\\\"></polyline><line x1=\\\"1\\\" y1=\\\"1\\\" x2=\\\"23\\\" y2=\\\"23\\\"></line>\",\"zap\":\"<polygon points=\\\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\\\"></polygon>\",\"zoom-in\":\"<circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"></circle><line x1=\\\"21\\\" y1=\\\"21\\\" x2=\\\"16.65\\\" y2=\\\"16.65\\\"></line><line x1=\\\"11\\\" y1=\\\"8\\\" x2=\\\"11\\\" y2=\\\"14\\\"></line><line x1=\\\"8\\\" y1=\\\"11\\\" x2=\\\"14\\\" y2=\\\"11\\\"></line>\",\"zoom-out\":\"<circle cx=\\\"11\\\" cy=\\\"11\\\" r=\\\"8\\\"></circle><line x1=\\\"21\\\" y1=\\\"21\\\" x2=\\\"16.65\\\" y2=\\\"16.65\\\"></line><line x1=\\\"8\\\" y1=\\\"11\\\" x2=\\\"14\\\" y2=\\\"11\\\"></line>\"};\n\n/***/ }),\n\n/***/ \"./node_modules/classnames/dedupe.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/classnames/dedupe.js ***!\n  \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n  Copyright (c) 2016 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar classNames = (function () {\n\t\t// don't inherit from Object so we can skip hasOwnProperty check later\n\t\t// http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232\n\t\tfunction StorageObject() {}\n\t\tStorageObject.prototype = Object.create(null);\n\n\t\tfunction _parseArray (resultSet, array) {\n\t\t\tvar length = array.length;\n\n\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\t_parse(resultSet, array[i]);\n\t\t\t}\n\t\t}\n\n\t\tvar hasOwn = {}.hasOwnProperty;\n\n\t\tfunction _parseNumber (resultSet, num) {\n\t\t\tresultSet[num] = true;\n\t\t}\n\n\t\tfunction _parseObject (resultSet, object) {\n\t\t\tfor (var k in object) {\n\t\t\t\tif (hasOwn.call(object, k)) {\n\t\t\t\t\t// set value to false instead of deleting it to avoid changing object structure\n\t\t\t\t\t// https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions\n\t\t\t\t\tresultSet[k] = !!object[k];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar SPACE = /\\s+/;\n\t\tfunction _parseString (resultSet, str) {\n\t\t\tvar array = str.split(SPACE);\n\t\t\tvar length = array.length;\n\n\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\tresultSet[array[i]] = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction _parse (resultSet, arg) {\n\t\t\tif (!arg) return;\n\t\t\tvar argType = typeof arg;\n\n\t\t\t// 'foo bar'\n\t\t\tif (argType === 'string') {\n\t\t\t\t_parseString(resultSet, arg);\n\n\t\t\t// ['foo', 'bar', ...]\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\t_parseArray(resultSet, arg);\n\n\t\t\t// { 'foo': true, ... }\n\t\t\t} else if (argType === 'object') {\n\t\t\t\t_parseObject(resultSet, arg);\n\n\t\t\t// '130'\n\t\t\t} else if (argType === 'number') {\n\t\t\t\t_parseNumber(resultSet, arg);\n\t\t\t}\n\t\t}\n\n\t\tfunction _classNames () {\n\t\t\t// don't leak arguments\n\t\t\t// https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n\t\t\tvar len = arguments.length;\n\t\t\tvar args = Array(len);\n\t\t\tfor (var i = 0; i < len; i++) {\n\t\t\t\targs[i] = arguments[i];\n\t\t\t}\n\n\t\t\tvar classSet = new StorageObject();\n\t\t\t_parseArray(classSet, args);\n\n\t\t\tvar list = [];\n\n\t\t\tfor (var k in classSet) {\n\t\t\t\tif (classSet[k]) {\n\t\t\t\t\tlist.push(k)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list.join(' ');\n\t\t}\n\n\t\treturn _classNames;\n\t})();\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/fn/array/from.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/fn/array/from.js ***!\n  \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es6.string.iterator */ \"./node_modules/core-js/modules/es6.string.iterator.js\");\n__webpack_require__(/*! ../../modules/es6.array.from */ \"./node_modules/core-js/modules/es6.array.from.js\");\nmodule.exports = __webpack_require__(/*! ../../modules/_core */ \"./node_modules/core-js/modules/_core.js\").Array.from;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_a-function.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_a-function.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_an-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_an-object.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nmodule.exports = function (it) {\n  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_array-includes.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_array-includes.js ***!\n  \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true  -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/core-js/modules/_to-absolute-index.js\");\nmodule.exports = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n      if (O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_classof.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_classof.js ***!\n  \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n  var O, T, B;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n    // builtinTag case\n    : ARG ? cof(O)\n    // ES3 arguments fallback\n    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_cof.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_cof.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_core.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_core.js ***!\n  \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.3' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_create-property.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_create-property.js ***!\n  \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\n\nmodule.exports = function (object, index, value) {\n  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n  else object[index] = value;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_ctx.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_ctx.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/core-js/modules/_a-function.js\");\nmodule.exports = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_defined.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_defined.js ***!\n  \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n  return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_descriptors.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_descriptors.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_dom-create.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_dom-create.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n  return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_enum-bug-keys.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_export.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_export.js ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/modules/_ctx.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n  var IS_FORCED = type & $export.F;\n  var IS_GLOBAL = type & $export.G;\n  var IS_STATIC = type & $export.S;\n  var IS_PROTO = type & $export.P;\n  var IS_BIND = type & $export.B;\n  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n  var key, own, out, exp;\n  if (IS_GLOBAL) source = name;\n  for (key in source) {\n    // contains in native\n    own = !IS_FORCED && target && target[key] !== undefined;\n    // export native or passed\n    out = (own ? target : source)[key];\n    // bind timers to global for call from export context\n    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n    // extend global\n    if (target) redefine(target, key, out, type & $export.U);\n    // export\n    if (exports[key] != out) hide(exports, key, exp);\n    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n  }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1;   // forced\n$export.G = 2;   // global\n$export.S = 4;   // static\n$export.P = 8;   // proto\n$export.B = 16;  // bind\n$export.W = 32;  // wrap\n$export.U = 64;  // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_fails.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/core-js/modules/_fails.js ***!\n  \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (e) {\n    return true;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_global.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_global.js ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n  ? window : typeof self != 'undefined' && self.Math == Math ? self\n  // eslint-disable-next-line no-new-func\n  : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_has.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_has.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n  return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_hide.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_hide.js ***!\n  \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? function (object, key, value) {\n  return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_html.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_html.js ***!\n  \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_ie8-dom-define.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***!\n  \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n  return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_iobject.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iobject.js ***!\n  \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n  return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_is-array-iter.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_is-array-iter.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_is-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_is-object.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_iter-call.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-call.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nmodule.exports = function (iterator, fn, value, entries) {\n  try {\n    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n  // 7.4.6 IteratorClose(iterator, completion)\n  } catch (e) {\n    var ret = iterator['return'];\n    if (ret !== undefined) anObject(ret.call(iterator));\n    throw e;\n  }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_iter-create.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-create.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(/*! ./_object-create */ \"./node_modules/core-js/modules/_object-create.js\");\nvar descriptor = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/core-js/modules/_set-to-string-tag.js\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\")(IteratorPrototype, __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n  setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_iter-define.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-define.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/core-js/modules/_library.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar $iterCreate = __webpack_require__(/*! ./_iter-create */ \"./node_modules/core-js/modules/_iter-create.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/core-js/modules/_set-to-string-tag.js\");\nvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/core-js/modules/_object-gpo.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n  $iterCreate(Constructor, NAME, next);\n  var getMethod = function (kind) {\n    if (!BUGGY && kind in proto) return proto[kind];\n    switch (kind) {\n      case KEYS: return function keys() { return new Constructor(this, kind); };\n      case VALUES: return function values() { return new Constructor(this, kind); };\n    } return function entries() { return new Constructor(this, kind); };\n  };\n  var TAG = NAME + ' Iterator';\n  var DEF_VALUES = DEFAULT == VALUES;\n  var VALUES_BUG = false;\n  var proto = Base.prototype;\n  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n  var $default = (!BUGGY && $native) || getMethod(DEFAULT);\n  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n  var methods, key, IteratorPrototype;\n  // Fix native\n  if ($anyNative) {\n    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n      // Set @@toStringTag to native iterators\n      setToStringTag(IteratorPrototype, TAG, true);\n      // fix for some old engines\n      if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n    }\n  }\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEF_VALUES && $native && $native.name !== VALUES) {\n    VALUES_BUG = true;\n    $default = function values() { return $native.call(this); };\n  }\n  // Define iterator\n  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n    hide(proto, ITERATOR, $default);\n  }\n  // Plug for library\n  Iterators[NAME] = $default;\n  Iterators[TAG] = returnThis;\n  if (DEFAULT) {\n    methods = {\n      values: DEF_VALUES ? $default : getMethod(VALUES),\n      keys: IS_SET ? $default : getMethod(KEYS),\n      entries: $entries\n    };\n    if (FORCED) for (key in methods) {\n      if (!(key in proto)) redefine(proto, key, methods[key]);\n    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n  }\n  return methods;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_iter-detect.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-detect.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var riter = [7][ITERATOR]();\n  riter['return'] = function () { SAFE_CLOSING = true; };\n  // eslint-disable-next-line no-throw-literal\n  Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n  if (!skipClosing && !SAFE_CLOSING) return false;\n  var safe = false;\n  try {\n    var arr = [7];\n    var iter = arr[ITERATOR]();\n    iter.next = function () { return { done: safe = true }; };\n    arr[ITERATOR] = function () { return iter; };\n    exec(arr);\n  } catch (e) { /* empty */ }\n  return safe;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_iterators.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iterators.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_library.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_library.js ***!\n  \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_object-create.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-create.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/core-js/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/modules/_dom-create.js\")('iframe');\n  var i = enumBugKeys.length;\n  var lt = '<';\n  var gt = '>';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  __webpack_require__(/*! ./_html */ \"./node_modules/core-js/modules/_html.js\").appendChild(iframe);\n  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n  // createDict = iframe.contentWindow.Object;\n  // html.removeChild(iframe);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n  iframeDocument.close();\n  createDict = iframeDocument.F;\n  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n  return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    Empty[PROTOTYPE] = anObject(O);\n    result = new Empty();\n    Empty[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = createDict();\n  return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_object-dp.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-dp.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/core-js/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/core-js/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return dP(O, P, Attributes);\n  } catch (e) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_object-dps.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-dps.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = getKeys(Properties);\n  var length = keys.length;\n  var i = 0;\n  var P;\n  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n  return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_object-gpo.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-gpo.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/modules/_to-object.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n  O = toObject(O);\n  if (has(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_object-keys-internal.js\":\n/*!***************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-keys-internal.js ***!\n  \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/core-js/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n  var O = toIObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has(O, key = names[i++])) {\n    ~arrayIndexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_object-keys.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-keys.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/core-js/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n  return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_property-desc.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_property-desc.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_redefine.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/core-js/modules/_redefine.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar SRC = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\")('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\").inspectSource = function (it) {\n  return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n  var isFunction = typeof val == 'function';\n  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n  if (O[key] === val) return;\n  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n  if (O === global) {\n    O[key] = val;\n  } else if (!safe) {\n    delete O[key];\n    hide(O, key, val);\n  } else if (O[key]) {\n    O[key] = val;\n  } else {\n    hide(O, key, val);\n  }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n  return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_set-to-string-tag.js\":\n/*!************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***!\n  \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\").f;\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_shared-key.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_shared-key.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\");\nmodule.exports = function (key) {\n  return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_shared.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_shared.js ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n  return store[key] || (store[key] = {});\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_string-at.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_string-at.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\n// true  -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n  return function (that, pos) {\n    var s = String(defined(that));\n    var i = toInteger(pos);\n    var l = s.length;\n    var a, b;\n    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n    a = s.charCodeAt(i);\n    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n      ? TO_STRING ? s.charAt(i) : a\n      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n  };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_to-absolute-index.js\":\n/*!************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-absolute-index.js ***!\n  \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n  index = toInteger(index);\n  return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_to-integer.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-integer.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_to-iobject.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-iobject.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/core-js/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nmodule.exports = function (it) {\n  return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_to-length.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-length.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_to-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-object.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nmodule.exports = function (it) {\n  return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_to-primitive.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-primitive.js ***!\n  \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n  if (!isObject(it)) return it;\n  var fn, val;\n  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_uid.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_uid.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/_wks.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_wks.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('wks');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\");\nvar Symbol = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n  return store[name] || (store[name] =\n    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/core.get-iterator-method.js\":\n/*!******************************************************************!*\\\n  !*** ./node_modules/core-js/modules/core.get-iterator-method.js ***!\n  \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(/*! ./_classof */ \"./node_modules/core-js/modules/_classof.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nmodule.exports = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\").getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR]\n    || it['@@iterator']\n    || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/es6.array.from.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/es6.array.from.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/modules/_ctx.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/modules/_to-object.js\");\nvar call = __webpack_require__(/*! ./_iter-call */ \"./node_modules/core-js/modules/_iter-call.js\");\nvar isArrayIter = __webpack_require__(/*! ./_is-array-iter */ \"./node_modules/core-js/modules/_is-array-iter.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar createProperty = __webpack_require__(/*! ./_create-property */ \"./node_modules/core-js/modules/_create-property.js\");\nvar getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ \"./node_modules/core-js/modules/core.get-iterator-method.js\");\n\n$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ \"./node_modules/core-js/modules/_iter-detect.js\")(function (iter) { Array.from(iter); }), 'Array', {\n  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n    var O = toObject(arrayLike);\n    var C = typeof this == 'function' ? this : Array;\n    var aLen = arguments.length;\n    var mapfn = aLen > 1 ? arguments[1] : undefined;\n    var mapping = mapfn !== undefined;\n    var index = 0;\n    var iterFn = getIterFn(O);\n    var length, result, step, iterator;\n    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n    // if object isn't iterable or it's array with default iterator - use simple case\n    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n      }\n    } else {\n      length = toLength(O.length);\n      for (result = new C(length); length > index; index++) {\n        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n      }\n    }\n    result.length = index;\n    return result;\n  }\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/es6.string.iterator.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/core-js/modules/es6.string.iterator.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(/*! ./_string-at */ \"./node_modules/core-js/modules/_string-at.js\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(/*! ./_iter-define */ \"./node_modules/core-js/modules/_iter-define.js\")(String, 'String', function (iterated) {\n  this._t = String(iterated); // target\n  this._i = 0;                // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n  var O = this._t;\n  var index = this._i;\n  var point;\n  if (index >= O.length) return { value: undefined, done: true };\n  point = $at(O, index);\n  this._i += point.length;\n  return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"./src/default-attrs.json\":\n/*!********************************!*\\\n  !*** ./src/default-attrs.json ***!\n  \\********************************/\n/*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */\n/***/ (function(module) {\n\nmodule.exports = {\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":2,\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"};\n\n/***/ }),\n\n/***/ \"./src/icon.js\":\n/*!*********************!*\\\n  !*** ./src/icon.js ***!\n  \\*********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dedupe = __webpack_require__(/*! classnames/dedupe */ \"./node_modules/classnames/dedupe.js\");\n\nvar _dedupe2 = _interopRequireDefault(_dedupe);\n\nvar _defaultAttrs = __webpack_require__(/*! ./default-attrs.json */ \"./src/default-attrs.json\");\n\nvar _defaultAttrs2 = _interopRequireDefault(_defaultAttrs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Icon = function () {\n  function Icon(name, contents) {\n    var tags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n    _classCallCheck(this, Icon);\n\n    this.name = name;\n    this.contents = contents;\n    this.tags = tags;\n    this.attrs = _extends({}, _defaultAttrs2.default, { class: 'feather feather-' + name });\n  }\n\n  /**\n   * Create an SVG string.\n   * @param {Object} attrs\n   * @returns {string}\n   */\n\n\n  _createClass(Icon, [{\n    key: 'toSvg',\n    value: function toSvg() {\n      var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) });\n\n      return '<svg ' + attrsToString(combinedAttrs) + '>' + this.contents + '</svg>';\n    }\n\n    /**\n     * Return string representation of an `Icon`.\n     *\n     * Added for backward compatibility. If old code expects `feather.icons.<name>`\n     * to be a string, `toString()` will get implicitly called.\n     *\n     * @returns {string}\n     */\n\n  }, {\n    key: 'toString',\n    value: function toString() {\n      return this.contents;\n    }\n  }]);\n\n  return Icon;\n}();\n\n/**\n * Convert attributes object to string of HTML attributes.\n * @param {Object} attrs\n * @returns {string}\n */\n\n\nfunction attrsToString(attrs) {\n  return Object.keys(attrs).map(function (key) {\n    return key + '=\"' + attrs[key] + '\"';\n  }).join(' ');\n}\n\nexports.default = Icon;\n\n/***/ }),\n\n/***/ \"./src/icons.js\":\n/*!**********************!*\\\n  !*** ./src/icons.js ***!\n  \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _icon = __webpack_require__(/*! ./icon */ \"./src/icon.js\");\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _icons = __webpack_require__(/*! ../dist/icons.json */ \"./dist/icons.json\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _tags = __webpack_require__(/*! ./tags.json */ \"./src/tags.json\");\n\nvar _tags2 = _interopRequireDefault(_tags);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Object.keys(_icons2.default).map(function (key) {\n  return new _icon2.default(key, _icons2.default[key], _tags2.default[key]);\n}).reduce(function (object, icon) {\n  object[icon.name] = icon;\n  return object;\n}, {});\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n  !*** ./src/index.js ***!\n  \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _icons = __webpack_require__(/*! ./icons */ \"./src/icons.js\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _toSvg = __webpack_require__(/*! ./to-svg */ \"./src/to-svg.js\");\n\nvar _toSvg2 = _interopRequireDefault(_toSvg);\n\nvar _replace = __webpack_require__(/*! ./replace */ \"./src/replace.js\");\n\nvar _replace2 = _interopRequireDefault(_replace);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default };\n\n/***/ }),\n\n/***/ \"./src/replace.js\":\n/*!************************!*\\\n  !*** ./src/replace.js ***!\n  \\************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* eslint-env browser */\n\n\nvar _dedupe = __webpack_require__(/*! classnames/dedupe */ \"./node_modules/classnames/dedupe.js\");\n\nvar _dedupe2 = _interopRequireDefault(_dedupe);\n\nvar _icons = __webpack_require__(/*! ./icons */ \"./src/icons.js\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Replace all HTML elements that have a `data-feather` attribute with SVG markup\n * corresponding to the element's `data-feather` attribute value.\n * @param {Object} attrs\n */\nfunction replace() {\n  var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n  if (typeof document === 'undefined') {\n    throw new Error('`feather.replace()` only works in a browser environment.');\n  }\n\n  var elementsToReplace = document.querySelectorAll('[data-feather]');\n\n  Array.from(elementsToReplace).forEach(function (element) {\n    return replaceElement(element, attrs);\n  });\n}\n\n/**\n * Replace a single HTML element with SVG markup\n * corresponding to the element's `data-feather` attribute value.\n * @param {HTMLElement} element\n * @param {Object} attrs\n */\nfunction replaceElement(element) {\n  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  var elementAttrs = getAttrs(element);\n  var name = elementAttrs['data-feather'];\n  delete elementAttrs['data-feather'];\n\n  var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) }));\n  var svgDocument = new DOMParser().parseFromString(svgString, 'image/svg+xml');\n  var svgElement = svgDocument.querySelector('svg');\n\n  element.parentNode.replaceChild(svgElement, element);\n}\n\n/**\n * Get the attributes of an HTML element.\n * @param {HTMLElement} element\n * @returns {Object}\n */\nfunction getAttrs(element) {\n  return Array.from(element.attributes).reduce(function (attrs, attr) {\n    attrs[attr.name] = attr.value;\n    return attrs;\n  }, {});\n}\n\nexports.default = replace;\n\n/***/ }),\n\n/***/ \"./src/tags.json\":\n/*!***********************!*\\\n  !*** ./src/tags.json ***!\n  \\***********************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, at-sign, award, aperture, bell, bell-off, bluetooth, book-open, book, bookmark, briefcase, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, film, folder-minus, folder-plus, folder, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, global, hard-drive, hash, headphones, heart, help-circle, home, image, inbox, instagram, life-bouy, linkedin, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, monitor, moon, more-horizontal, more-vertical, move, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, play, play-circle, plus, plus-circle, plus-square, pocket, power, radio, rewind, rss, save, send, settings, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slash, sliders, speaker, star, sun, sunrise, sunset, tag, target, terminal, thumbs-down, thumbs-up, toggle-left, toggle-right, trash, trash-2, triangle, truck, twitter, umbrella, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wind, x-circle, x-square, x, youtube, zap-off, zap, default */\n/***/ (function(module) {\n\nmodule.exports = {\"activity\":[\"pulse\",\"health\",\"action\",\"motion\"],\"airplay\":[\"stream\",\"cast\",\"mirroring\"],\"alert-circle\":[\"warning\"],\"alert-octagon\":[\"warning\"],\"alert-triangle\":[\"warning\"],\"at-sign\":[\"mention\"],\"award\":[\"achievement\",\"badge\"],\"aperture\":[\"camera\",\"photo\"],\"bell\":[\"alarm\",\"notification\"],\"bell-off\":[\"alarm\",\"notification\",\"silent\"],\"bluetooth\":[\"wireless\"],\"book-open\":[\"read\"],\"book\":[\"read\",\"dictionary\",\"booklet\",\"magazine\"],\"bookmark\":[\"read\",\"clip\",\"marker\",\"tag\"],\"briefcase\":[\"work\",\"bag\",\"baggage\",\"folder\"],\"clipboard\":[\"copy\"],\"clock\":[\"time\",\"watch\",\"alarm\"],\"cloud-drizzle\":[\"weather\",\"shower\"],\"cloud-lightning\":[\"weather\",\"bolt\"],\"cloud-rain\":[\"weather\"],\"cloud-snow\":[\"weather\",\"blizzard\"],\"cloud\":[\"weather\"],\"codepen\":[\"logo\"],\"command\":[\"keyboard\",\"cmd\"],\"compass\":[\"navigation\",\"safari\",\"travel\"],\"copy\":[\"clone\",\"duplicate\"],\"corner-down-left\":[\"arrow\"],\"corner-down-right\":[\"arrow\"],\"corner-left-down\":[\"arrow\"],\"corner-left-up\":[\"arrow\"],\"corner-right-down\":[\"arrow\"],\"corner-right-up\":[\"arrow\"],\"corner-up-left\":[\"arrow\"],\"corner-up-right\":[\"arrow\"],\"credit-card\":[\"purchase\",\"payment\",\"cc\"],\"crop\":[\"photo\",\"image\"],\"crosshair\":[\"aim\",\"target\"],\"database\":[\"storage\"],\"delete\":[\"remove\"],\"disc\":[\"album\",\"cd\",\"dvd\",\"music\"],\"dollar-sign\":[\"currency\",\"money\",\"payment\"],\"droplet\":[\"water\"],\"edit\":[\"pencil\",\"change\"],\"edit-2\":[\"pencil\",\"change\"],\"edit-3\":[\"pencil\",\"change\"],\"eye\":[\"view\",\"watch\"],\"eye-off\":[\"view\",\"watch\"],\"external-link\":[\"outbound\"],\"facebook\":[\"logo\"],\"fast-forward\":[\"music\"],\"film\":[\"movie\",\"video\"],\"folder-minus\":[\"directory\"],\"folder-plus\":[\"directory\"],\"folder\":[\"directory\"],\"gift\":[\"present\",\"box\",\"birthday\",\"party\"],\"git-branch\":[\"code\",\"version control\"],\"git-commit\":[\"code\",\"version control\"],\"git-merge\":[\"code\",\"version control\"],\"git-pull-request\":[\"code\",\"version control\"],\"github\":[\"logo\",\"version control\"],\"gitlab\":[\"logo\",\"version control\"],\"global\":[\"world\",\"browser\",\"language\",\"translate\"],\"hard-drive\":[\"computer\",\"server\"],\"hash\":[\"hashtag\",\"number\",\"pound\"],\"headphones\":[\"music\",\"audio\"],\"heart\":[\"like\",\"love\"],\"help-circle\":[\"question mark\"],\"home\":[\"house\"],\"image\":[\"picture\"],\"inbox\":[\"email\"],\"instagram\":[\"logo\",\"camera\"],\"life-bouy\":[\"help\",\"life ring\",\"support\"],\"linkedin\":[\"logo\"],\"lock\":[\"security\",\"password\"],\"log-in\":[\"sign in\",\"arrow\"],\"log-out\":[\"sign out\",\"arrow\"],\"mail\":[\"email\"],\"map-pin\":[\"location\",\"navigation\",\"travel\",\"marker\"],\"map\":[\"location\",\"navigation\",\"travel\"],\"maximize\":[\"fullscreen\"],\"maximize-2\":[\"fullscreen\",\"arrows\"],\"menu\":[\"bars\",\"navigation\",\"hamburger\"],\"message-circle\":[\"comment\",\"chat\"],\"message-square\":[\"comment\",\"chat\"],\"mic-off\":[\"record\"],\"mic\":[\"record\"],\"minimize\":[\"exit fullscreen\"],\"minimize-2\":[\"exit fullscreen\",\"arrows\"],\"monitor\":[\"tv\"],\"moon\":[\"dark\",\"night\"],\"more-horizontal\":[\"ellipsis\"],\"more-vertical\":[\"ellipsis\"],\"move\":[\"arrows\"],\"navigation\":[\"location\",\"travel\"],\"navigation-2\":[\"location\",\"travel\"],\"octagon\":[\"stop\"],\"package\":[\"box\"],\"paperclip\":[\"attachment\"],\"pause\":[\"music\",\"stop\"],\"pause-circle\":[\"music\",\"stop\"],\"play\":[\"music\",\"start\"],\"play-circle\":[\"music\",\"start\"],\"plus\":[\"add\",\"new\"],\"plus-circle\":[\"add\",\"new\"],\"plus-square\":[\"add\",\"new\"],\"pocket\":[\"logo\",\"save\"],\"power\":[\"on\",\"off\"],\"radio\":[\"signal\"],\"rewind\":[\"music\"],\"rss\":[\"feed\",\"subscribe\"],\"save\":[\"floppy disk\"],\"send\":[\"message\",\"mail\",\"paper airplane\"],\"settings\":[\"cog\",\"edit\",\"gear\",\"preferences\"],\"shield\":[\"security\"],\"shield-off\":[\"security\"],\"shopping-bag\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],\"shopping-cart\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],\"shuffle\":[\"music\"],\"skip-back\":[\"music\"],\"skip-forward\":[\"music\"],\"slash\":[\"ban\",\"no\"],\"sliders\":[\"settings\",\"controls\"],\"speaker\":[\"music\"],\"star\":[\"bookmark\",\"favorite\",\"like\"],\"sun\":[\"brightness\",\"weather\",\"light\"],\"sunrise\":[\"weather\"],\"sunset\":[\"weather\"],\"tag\":[\"label\"],\"target\":[\"bullseye\"],\"terminal\":[\"code\",\"command line\"],\"thumbs-down\":[\"dislike\",\"bad\"],\"thumbs-up\":[\"like\",\"good\"],\"toggle-left\":[\"on\",\"off\",\"switch\"],\"toggle-right\":[\"on\",\"off\",\"switch\"],\"trash\":[\"garbage\",\"delete\",\"remove\"],\"trash-2\":[\"garbage\",\"delete\",\"remove\"],\"triangle\":[\"delta\"],\"truck\":[\"delivery\",\"van\",\"shipping\"],\"twitter\":[\"logo\"],\"umbrella\":[\"rain\",\"weather\"],\"video-off\":[\"camera\",\"movie\",\"film\"],\"video\":[\"camera\",\"movie\",\"film\"],\"voicemail\":[\"phone\"],\"volume\":[\"music\",\"sound\",\"mute\"],\"volume-1\":[\"music\",\"sound\"],\"volume-2\":[\"music\",\"sound\"],\"volume-x\":[\"music\",\"sound\",\"mute\"],\"watch\":[\"clock\",\"time\"],\"wind\":[\"weather\",\"air\"],\"x-circle\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],\"x-square\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],\"x\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],\"youtube\":[\"logo\",\"video\",\"play\"],\"zap-off\":[\"flash\",\"camera\",\"lightning\"],\"zap\":[\"flash\",\"camera\",\"lightning\"]};\n\n/***/ }),\n\n/***/ \"./src/to-svg.js\":\n/*!***********************!*\\\n  !*** ./src/to-svg.js ***!\n  \\***********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _icons = __webpack_require__(/*! ./icons */ \"./src/icons.js\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Create an SVG string.\n * @deprecated\n * @param {string} name\n * @param {Object} attrs\n * @returns {string}\n */\nfunction toSvg(name) {\n  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  console.warn('feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.');\n\n  if (!name) {\n    throw new Error('The required `key` (icon name) parameter is missing.');\n  }\n\n  if (!_icons2.default[name]) {\n    throw new Error('No icon matching \\'' + name + '\\'. See the complete list of icons at https://feathericons.com');\n  }\n\n  return _icons2.default[name].toSvg(attrs);\n}\n\nexports.default = toSvg;\n\n/***/ }),\n\n/***/ 0:\n/*!**************************************************!*\\\n  !*** multi core-js/fn/array/from ./src/index.js ***!\n  \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! core-js/fn/array/from */\"./node_modules/core-js/fn/array/from.js\");\nmodule.exports = __webpack_require__(/*! /home/travis/build/feathericons/feather/src/index.js */\"./src/index.js\");\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=feather.js.map",null,"import { h } from 'hyperapp'\nimport logo from '../../assets/img/logo.svg'\nimport { version } from '../../../package.json'\n\nexport default () => (state, { header }) => (\n  <header class=\"header\">\n    <div class=\"container\">\n      <img class=\"header__logo\" src={logo} oncreate={header.animateLogo} />\n      <div class=\"header__heading-wrapper\">\n        <h1 class=\"header__heading\">\n          Tippy.js\n          <span oncreate={header.animateVersion} class=\"header__version\">\n            v{version}\n          </span>\n        </h1>\n      </div>\n      <h2 class=\"header__slogan\">\n        A highly customizable vanilla JS tooltip & popover library\n      </h2>\n      <div oncreate={header.animateItems} class=\"header__items\">\n        <div class=\"header__item\">\n          <p>\n            <i class=\"header__icon is-code\" data-feather=\"code\" />\n            14 kB gzipped\n          </p>\n        </div>\n        <div class=\"header__item\">\n          <a\n            class=\"header__button\"\n            href=\"https://popper.js.org/\"\n            target=\"_blank\"\n            title=\"Popper.js is the <strong>positioning engine</strong> behind the tooltips.\"\n            data-tippy-animation=\"perspective\"\n            data-tippy-arrow=\"true\"\n            data-tippy-arrowType=\"round\"\n            data-tippy-maxWidth=\"200px\"\n            data-tippy-theme=\"light\"\n            data-tippy-offset=\"0, 2\"\n            data-tippy-updateDuration=\"250\"\n          >\n            <i\n              class=\"icon header__icon is-power\"\n              data-feather=\"cloud-lightning\"\n            />\n            Powered by Popper.js\n          </a>\n        </div>\n        <div class=\"header__item has-github-button\">\n          <a\n            class=\"github-button\"\n            href=\"https://github.com/atomiks/tippyjs\"\n            data-size=\"large\"\n            data-count-href=\"/atomiks/tippyjs/stargazers\"\n            data-show-count=\"true\"\n            data-count-aria-label=\"# stargazers on GitHub\"\n            aria-label=\"Star atomiks/tippyjs on GitHub\"\n          >\n            Star\n          </a>\n        </div>\n        <div class=\"header__item\">\n          <p class=\"header__docs-wrapper\">\n            <a\n              class=\"header__docs\"\n              href=\"https://atomiks.github.io/tippyjs/v1/index.html\"\n            >\n              v1 docs\n            </a>\n          </p>\n        </div>\n      </div>\n    </div>\n  </header>\n)\n","var location = global.location || {};\n/*jslint indent: 2, browser: true, bitwise: true, plusplus: true */\nvar twemoji = (function (\n  /*! Copyright Twitter Inc. and other contributors. Licensed under MIT *//*\n    https://github.com/twitter/twemoji/blob/gh-pages/LICENSE\n  */\n\n  // WARNING:   this file is generated automatically via\n  //            `node twemoji-generator.js`\n  //            please update its `createTwemoji` function\n  //            at the bottom of the same file instead.\n\n) {\n  'use strict';\n\n  /*jshint maxparams:4 */\n\n  var\n    // the exported module object\n    twemoji = {\n\n\n    /////////////////////////\n    //      properties     //\n    /////////////////////////\n\n      // default assets url, by default will be Twitter Inc. CDN\n      base: 'https://twemoji.maxcdn.com/2/',\n\n      // default assets file extensions, by default '.png'\n      ext: '.png',\n\n      // default assets/folder size, by default \"72x72\"\n      // available via Twitter CDN: 72\n      size: '72x72',\n\n      // default class name, by default 'emoji'\n      className: 'emoji',\n\n      // basic utilities / helpers to convert code points\n      // to JavaScript surrogates and vice versa\n      convert: {\n\n        /**\n         * Given an HEX codepoint, returns UTF16 surrogate pairs.\n         *\n         * @param   string  generic codepoint, i.e. '1F4A9'\n         * @return  string  codepoint transformed into utf16 surrogates pair,\n         *          i.e. \\uD83D\\uDCA9\n         *\n         * @example\n         *  twemoji.convert.fromCodePoint('1f1e8');\n         *  // \"\\ud83c\\udde8\"\n         *\n         *  '1f1e8-1f1f3'.split('-').map(twemoji.convert.fromCodePoint).join('')\n         *  // \"\\ud83c\\udde8\\ud83c\\uddf3\"\n         */\n        fromCodePoint: fromCodePoint,\n\n        /**\n         * Given UTF16 surrogate pairs, returns the equivalent HEX codepoint.\n         *\n         * @param   string  generic utf16 surrogates pair, i.e. \\uD83D\\uDCA9\n         * @param   string  optional separator for double code points, default='-'\n         * @return  string  utf16 transformed into codepoint, i.e. '1F4A9'\n         *\n         * @example\n         *  twemoji.convert.toCodePoint('\\ud83c\\udde8\\ud83c\\uddf3');\n         *  // \"1f1e8-1f1f3\"\n         *\n         *  twemoji.convert.toCodePoint('\\ud83c\\udde8\\ud83c\\uddf3', '~');\n         *  // \"1f1e8~1f1f3\"\n         */\n        toCodePoint: toCodePoint\n      },\n\n\n    /////////////////////////\n    //       methods       //\n    /////////////////////////\n\n      /**\n       * User first: used to remove missing images\n       * preserving the original text intent when\n       * a fallback for network problems is desired.\n       * Automatically added to Image nodes via DOM\n       * It could be recycled for string operations via:\n       *  $('img.emoji').on('error', twemoji.onerror)\n       */\n      onerror: function onerror() {\n        if (this.parentNode) {\n          this.parentNode.replaceChild(createText(this.alt, false), this);\n        }\n      },\n\n      /**\n       * Main method/logic to generate either <img> tags or HTMLImage nodes.\n       *  \"emojify\" a generic text or DOM Element.\n       *\n       * @overloads\n       *\n       * String replacement for `innerHTML` or server side operations\n       *  twemoji.parse(string);\n       *  twemoji.parse(string, Function);\n       *  twemoji.parse(string, Object);\n       *\n       * HTMLElement tree parsing for safer operations over existing DOM\n       *  twemoji.parse(HTMLElement);\n       *  twemoji.parse(HTMLElement, Function);\n       *  twemoji.parse(HTMLElement, Object);\n       *\n       * @param   string|HTMLElement  the source to parse and enrich with emoji.\n       *\n       *          string              replace emoji matches with <img> tags.\n       *                              Mainly used to inject emoji via `innerHTML`\n       *                              It does **not** parse the string or validate it,\n       *                              it simply replaces found emoji with a tag.\n       *                              NOTE: be sure this won't affect security.\n       *\n       *          HTMLElement         walk through the DOM tree and find emoji\n       *                              that are inside **text node only** (nodeType === 3)\n       *                              Mainly used to put emoji in already generated DOM\n       *                              without compromising surrounding nodes and\n       *                              **avoiding** the usage of `innerHTML`.\n       *                              NOTE: Using DOM elements instead of strings should\n       *                              improve security without compromising too much\n       *                              performance compared with a less safe `innerHTML`.\n       *\n       * @param   Function|Object  [optional]\n       *                              either the callback that will be invoked or an object\n       *                              with all properties to use per each found emoji.\n       *\n       *          Function            if specified, this will be invoked per each emoji\n       *                              that has been found through the RegExp except\n       *                              those follwed by the invariant \\uFE0E (\"as text\").\n       *                              Once invoked, parameters will be:\n       *\n       *                                iconId:string     the lower case HEX code point\n       *                                                  i.e. \"1f4a9\"\n       *\n       *                                options:Object    all info for this parsing operation\n       *\n       *                                variant:char      the optional \\uFE0F (\"as image\")\n       *                                                  variant, in case this info\n       *                                                  is anyhow meaningful.\n       *                                                  By default this is ignored.\n       *\n       *                              If such callback will return a falsy value instead\n       *                              of a valid `src` to use for the image, nothing will\n       *                              actually change for that specific emoji.\n       *\n       *\n       *          Object              if specified, an object containing the following properties\n       *\n       *            callback   Function  the callback to invoke per each found emoji.\n       *            base       string    the base url, by default twemoji.base\n       *            ext        string    the image extension, by default twemoji.ext\n       *            size       string    the assets size, by default twemoji.size\n       *\n       * @example\n       *\n       *  twemoji.parse(\"I \\u2764\\uFE0F emoji!\");\n       *  // I <img class=\"emoji\" draggable=\"false\" alt=\"❤️\" src=\"/assets/2764.gif\"/> emoji!\n       *\n       *\n       *  twemoji.parse(\"I \\u2764\\uFE0F emoji!\", function(iconId, options) {\n       *    return '/assets/' + iconId + '.gif';\n       *  });\n       *  // I <img class=\"emoji\" draggable=\"false\" alt=\"❤️\" src=\"/assets/2764.gif\"/> emoji!\n       *\n       *\n       * twemoji.parse(\"I \\u2764\\uFE0F emoji!\", {\n       *   size: 72,\n       *   callback: function(iconId, options) {\n       *     return '/assets/' + options.size + '/' + iconId + options.ext;\n       *   }\n       * });\n       *  // I <img class=\"emoji\" draggable=\"false\" alt=\"❤️\" src=\"/assets/72x72/2764.png\"/> emoji!\n       *\n       */\n      parse: parse,\n\n      /**\n       * Given a string, invokes the callback argument\n       *  per each emoji found in such string.\n       * This is the most raw version used by\n       *  the .parse(string) method itself.\n       *\n       * @param   string    generic string to parse\n       * @param   Function  a generic callback that will be\n       *                    invoked to replace the content.\n       *                    This calback wil receive standard\n       *                    String.prototype.replace(str, callback)\n       *                    arguments such:\n       *  callback(\n       *    rawText,  // the emoji match\n       *  );\n       *\n       *                    and others commonly received via replace.\n       */\n      replace: replace,\n\n      /**\n       * Simplify string tests against emoji.\n       *\n       * @param   string  some text that might contain emoji\n       * @return  boolean true if any emoji was found, false otherwise.\n       *\n       * @example\n       *\n       *  if (twemoji.test(someContent)) {\n       *    console.log(\"emoji All The Things!\");\n       *  }\n       */\n      test: test\n    },\n\n    // used to escape HTML special chars in attributes\n    escaper = {\n      '&': '&amp;',\n      '<': '&lt;',\n      '>': '&gt;',\n      \"'\": '&#39;',\n      '\"': '&quot;'\n    },\n\n    // RegExp based on emoji's official Unicode standards\n    // http://www.unicode.org/Public/UNIDATA/EmojiSources.txt\n    re = /(?:\\ud83d[\\udc68\\udc69])(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddb0-\\uddb3])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f)|[\\u0023\\u002a\\u0030-\\u0039]\\ufe0f?\\u20e3|(?:[\\u00a9\\u00ae\\u2122\\u265f]\\ufe0f)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\uddb5\\uddb6\\uddb8\\uddb9\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a-\\udc6d\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\udeeb\\udeec\\udef4-\\udef9]|\\ud83e[\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd40-\\udd45\\udd47-\\udd70\\udd73-\\udd76\\udd7a\\udd7c-\\udda2\\uddb4\\uddb7\\uddc0-\\uddc2\\uddd0\\uddde-\\uddff]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a])|\\ufe0f/g,\n\n    // avoid runtime RegExp creation for not so smart,\n    // not JIT based, and old browsers / engines\n    UFE0Fg = /\\uFE0F/g,\n\n    // avoid using a string literal like '\\u200D' here because minifiers expand it inline\n    U200D = String.fromCharCode(0x200D),\n\n    // used to find HTML special chars in attributes\n    rescaper = /[&<>'\"]/g,\n\n    // nodes with type 1 which should **not** be parsed\n    shouldntBeParsed = /^(?:iframe|noframes|noscript|script|select|style|textarea)$/,\n\n    // just a private shortcut\n    fromCharCode = String.fromCharCode;\n\n  return twemoji;\n\n\n  /////////////////////////\n  //  private functions  //\n  //     declaration     //\n  /////////////////////////\n\n  /**\n   * Shortcut to create text nodes\n   * @param   string  text used to create DOM text node\n   * @return  Node  a DOM node with that text\n   */\n  function createText(text, clean) {\n    return document.createTextNode(clean ? text.replace(UFE0Fg, '') : text);\n  }\n\n  /**\n   * Utility function to escape html attribute text\n   * @param   string  text use in HTML attribute\n   * @return  string  text encoded to use in HTML attribute\n   */\n  function escapeHTML(s) {\n    return s.replace(rescaper, replacer);\n  }\n\n  /**\n   * Default callback used to generate emoji src\n   *  based on Twitter CDN\n   * @param   string    the emoji codepoint string\n   * @param   string    the default size to use, i.e. \"36x36\"\n   * @return  string    the image source to use\n   */\n  function defaultImageSrcGenerator(icon, options) {\n    return ''.concat(options.base, options.size, '/', icon, options.ext);\n  }\n\n  /**\n   * Given a generic DOM nodeType 1, walk through all children\n   * and store every nodeType 3 (#text) found in the tree.\n   * @param   Element a DOM Element with probably some text in it\n   * @param   Array the list of previously discovered text nodes\n   * @return  Array same list with new discovered nodes, if any\n   */\n  function grabAllTextNodes(node, allText) {\n    var\n      childNodes = node.childNodes,\n      length = childNodes.length,\n      subnode,\n      nodeType;\n    while (length--) {\n      subnode = childNodes[length];\n      nodeType = subnode.nodeType;\n      // parse emoji only in text nodes\n      if (nodeType === 3) {\n        // collect them to process emoji later\n        allText.push(subnode);\n      }\n      // ignore all nodes that are not type 1, that are svg, or that\n      // should not be parsed as script, style, and others\n      else if (nodeType === 1 && !('ownerSVGElement' in subnode) &&\n          !shouldntBeParsed.test(subnode.nodeName.toLowerCase())) {\n        grabAllTextNodes(subnode, allText);\n      }\n    }\n    return allText;\n  }\n\n  /**\n   * Used to both remove the possible variant\n   *  and to convert utf16 into code points.\n   *  If there is a zero-width-joiner (U+200D), leave the variants in.\n   * @param   string    the raw text of the emoji match\n   * @return  string    the code point\n   */\n  function grabTheRightIcon(rawText) {\n    // if variant is present as \\uFE0F\n    return toCodePoint(rawText.indexOf(U200D) < 0 ?\n      rawText.replace(UFE0Fg, '') :\n      rawText\n    );\n  }\n\n  /**\n   * DOM version of the same logic / parser:\n   *  emojify all found sub-text nodes placing images node instead.\n   * @param   Element   generic DOM node with some text in some child node\n   * @param   Object    options  containing info about how to parse\n    *\n    *            .callback   Function  the callback to invoke per each found emoji.\n    *            .base       string    the base url, by default twemoji.base\n    *            .ext        string    the image extension, by default twemoji.ext\n    *            .size       string    the assets size, by default twemoji.size\n    *\n   * @return  Element same generic node with emoji in place, if any.\n   */\n  function parseNode(node, options) {\n    var\n      allText = grabAllTextNodes(node, []),\n      length = allText.length,\n      attrib,\n      attrname,\n      modified,\n      fragment,\n      subnode,\n      text,\n      match,\n      i,\n      index,\n      img,\n      rawText,\n      iconId,\n      src;\n    while (length--) {\n      modified = false;\n      fragment = document.createDocumentFragment();\n      subnode = allText[length];\n      text = subnode.nodeValue;\n      i = 0;\n      while ((match = re.exec(text))) {\n        index = match.index;\n        if (index !== i) {\n          fragment.appendChild(\n            createText(text.slice(i, index), true)\n          );\n        }\n        rawText = match[0];\n        iconId = grabTheRightIcon(rawText);\n        i = index + rawText.length;\n        src = options.callback(iconId, options);\n        if (src) {\n          img = new Image();\n          img.onerror = options.onerror;\n          img.setAttribute('draggable', 'false');\n          attrib = options.attributes(rawText, iconId);\n          for (attrname in attrib) {\n            if (\n              attrib.hasOwnProperty(attrname) &&\n              // don't allow any handlers to be set + don't allow overrides\n              attrname.indexOf('on') !== 0 &&\n              !img.hasAttribute(attrname)\n            ) {\n              img.setAttribute(attrname, attrib[attrname]);\n            }\n          }\n          img.className = options.className;\n          img.alt = rawText;\n          img.src = src;\n          modified = true;\n          fragment.appendChild(img);\n        }\n        if (!img) fragment.appendChild(createText(rawText, false));\n        img = null;\n      }\n      // is there actually anything to replace in here ?\n      if (modified) {\n        // any text left to be added ?\n        if (i < text.length) {\n          fragment.appendChild(\n            createText(text.slice(i), true)\n          );\n        }\n        // replace the text node only, leave intact\n        // anything else surrounding such text\n        subnode.parentNode.replaceChild(fragment, subnode);\n      }\n    }\n    return node;\n  }\n\n  /**\n   * String/HTML version of the same logic / parser:\n   *  emojify a generic text placing images tags instead of surrogates pair.\n   * @param   string    generic string with possibly some emoji in it\n   * @param   Object    options  containing info about how to parse\n   *\n   *            .callback   Function  the callback to invoke per each found emoji.\n   *            .base       string    the base url, by default twemoji.base\n   *            .ext        string    the image extension, by default twemoji.ext\n   *            .size       string    the assets size, by default twemoji.size\n   *\n   * @return  the string with <img tags> replacing all found and parsed emoji\n   */\n  function parseString(str, options) {\n    return replace(str, function (rawText) {\n      var\n        ret = rawText,\n        iconId = grabTheRightIcon(rawText),\n        src = options.callback(iconId, options),\n        attrib,\n        attrname;\n      if (src) {\n        // recycle the match string replacing the emoji\n        // with its image counter part\n        ret = '<img '.concat(\n          'class=\"', options.className, '\" ',\n          'draggable=\"false\" ',\n          // needs to preserve user original intent\n          // when variants should be copied and pasted too\n          'alt=\"',\n          rawText,\n          '\"',\n          ' src=\"',\n          src,\n          '\"'\n        );\n        attrib = options.attributes(rawText, iconId);\n        for (attrname in attrib) {\n          if (\n            attrib.hasOwnProperty(attrname) &&\n            // don't allow any handlers to be set + don't allow overrides\n            attrname.indexOf('on') !== 0 &&\n            ret.indexOf(' ' + attrname + '=') === -1\n          ) {\n            ret = ret.concat(' ', attrname, '=\"', escapeHTML(attrib[attrname]), '\"');\n          }\n        }\n        ret = ret.concat('/>');\n      }\n      return ret;\n    });\n  }\n\n  /**\n   * Function used to actually replace HTML special chars\n   * @param   string  HTML special char\n   * @return  string  encoded HTML special char\n   */\n  function replacer(m) {\n    return escaper[m];\n  }\n\n  /**\n   * Default options.attribute callback\n   * @return  null\n   */\n  function returnNull() {\n    return null;\n  }\n\n  /**\n   * Given a generic value, creates its squared counterpart if it's a number.\n   *  As example, number 36 will return '36x36'.\n   * @param   any     a generic value.\n   * @return  any     a string representing asset size, i.e. \"36x36\"\n   *                  only in case the value was a number.\n   *                  Returns initial value otherwise.\n   */\n  function toSizeSquaredAsset(value) {\n    return typeof value === 'number' ?\n      value + 'x' + value :\n      value;\n  }\n\n\n  /////////////////////////\n  //  exported functions //\n  //     declaration     //\n  /////////////////////////\n\n  function fromCodePoint(codepoint) {\n    var code = typeof codepoint === 'string' ?\n          parseInt(codepoint, 16) : codepoint;\n    if (code < 0x10000) {\n      return fromCharCode(code);\n    }\n    code -= 0x10000;\n    return fromCharCode(\n      0xD800 + (code >> 10),\n      0xDC00 + (code & 0x3FF)\n    );\n  }\n\n  function parse(what, how) {\n    if (!how || typeof how === 'function') {\n      how = {callback: how};\n    }\n    // if first argument is string, inject html <img> tags\n    // otherwise use the DOM tree and parse text nodes only\n    return (typeof what === 'string' ? parseString : parseNode)(what, {\n      callback:   how.callback || defaultImageSrcGenerator,\n      attributes: typeof how.attributes === 'function' ? how.attributes : returnNull,\n      base:       typeof how.base === 'string' ? how.base : twemoji.base,\n      ext:        how.ext || twemoji.ext,\n      size:       how.folder || toSizeSquaredAsset(how.size || twemoji.size),\n      className:  how.className || twemoji.className,\n      onerror:    how.onerror || twemoji.onerror\n    });\n  }\n\n  function replace(text, callback) {\n    return String(text).replace(re, callback);\n  }\n\n  function test(text) {\n    // IE6 needs a reset before too\n    re.lastIndex = 0;\n    var result = re.test(text);\n    re.lastIndex = 0;\n    return result;\n  }\n\n  function toCodePoint(unicodeSurrogates, sep) {\n    var\n      r = [],\n      c = 0,\n      p = 0,\n      i = 0;\n    while (i < unicodeSurrogates.length) {\n      c = unicodeSurrogates.charCodeAt(i++);\n      if (p) {\n        r.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16));\n        p = 0;\n      } else if (0xD800 <= c && c <= 0xDBFF) {\n        p = c;\n      } else {\n        r.push(c.toString(16));\n      }\n    }\n    return r.join(sep || '-');\n  }\n\n}());\nif (!location.protocol) {\n  twemoji.base = twemoji.base.replace(/^http:/, \"\");\n}\nmodule.exports = twemoji;","import twemoji from 'twemoji'\n\nexport const isBrowser = typeof window !== 'undefined'\n\nexport const emoji = char => el => {\n  el.innerHTML = twemoji.parse(char, {\n    folder: 'svg',\n    ext: '.svg'\n  })\n}\n","import { h } from 'hyperapp'\nimport logo from '../../assets/img/logo.svg'\nimport { emoji } from '../utils'\n\nexport default () => (state, { demo }) => (\n  <section class=\"section\" id=\"demo\">\n    <h2 class=\"section__heading\">Tippy's features</h2>\n    <div class=\"feature\">\n      <h3 class=\"feature__heading\">Default</h3>\n      <p>\n        The default tippy tooltip looks like this when given no options. It has\n        a nifty backdrop filling animation!\n      </p>\n      <button class=\"btn\" title=\"I'm the default tooltip!\">\n        Try me!\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('↕️')} />\n      <h3 class=\"feature__heading\">Placement</h3>\n      <p>\n        A tooltip can be placed in four different ways in relation to its\n        reference element. Additionally, the tooltip can be shifted.\n      </p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-placement=\"top\"\n      >\n        Top\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-placement=\"bottom\"\n      >\n        Bottom\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-placement=\"left\"\n      >\n        Left\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-placement=\"right\"\n      >\n        Right\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-placement=\"top-start\"\n      >\n        Top-Start\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-placement=\"top-end\"\n      >\n        Top-End\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('▶️')} />\n      <h3 class=\"feature__heading\">Arrows</h3>\n      <p>\n        Arrows point toward the reference element. There are two different types\n        of arrows: sharp and round. You can transform the proportion and scale\n        of the arrows any way you like.\n      </p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-arrow=\"true\"\n        data-tippy-animation=\"fade\"\n      >\n        Default\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-arrow=\"true\"\n        data-tippy-arrowType=\"round\"\n        data-tippy-animation=\"fade\"\n      >\n        Round\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-arrow=\"true\"\n        data-tippy-arrowTransform=\"scaleX(1.5)\"\n        data-tippy-animation=\"fade\"\n      >\n        Wide\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-arrow=\"true\"\n        data-tippy-arrowTransform=\"scaleX(0.75)\"\n        data-tippy-animation=\"fade\"\n      >\n        Skinny\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-arrow=\"true\"\n        data-tippy-arrowTransform=\"scale(0.75)\"\n        data-tippy-animation=\"fade\"\n      >\n        Small\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-arrow=\"true\"\n        data-tippy-arrowTransform=\"scale(1.35)\"\n        data-tippy-animation=\"fade\"\n      >\n        Large\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('👏')} />\n      <h3 class=\"feature__heading\">Triggers</h3>\n      <p>Triggers define the types of events that cause a tooltip to show.</p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-trigger=\"mouseenter\"\n      >\n        Hover or touch\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-trigger=\"focus\"\n        data-tippy-hideOnClick=\"false\"\n      >\n        Focus or touch\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-trigger=\"click\"\n      >\n        Click\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('✍️')} />\n      <h3 class=\"feature__heading\">Interactivity</h3>\n      <p>\n        Tooltips can be interactive, meaning they won't hide when you hover over\n        or click on them.\n      </p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-interactive=\"true\"\n      >\n        Interactive (hover)\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-interactive=\"true\"\n        data-tippy-trigger=\"click\"\n      >\n        Interactive (click)\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('💫')} />\n      <h3 class=\"feature__heading\">Animations</h3>\n      <p>Tooltips can have different types of animations.</p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"shift-away\"\n        data-tippy-arrow=\"true\"\n      >\n        Shift away\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"shift-toward\"\n        data-tippy-arrow=\"true\"\n      >\n        Shift toward\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"fade\"\n        data-tippy-arrow=\"true\"\n      >\n        Fade\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"scale\"\n        data-tippy-arrow=\"true\"\n      >\n        Scale\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"perspective\"\n        data-tippy-arrow=\"true\"\n      >\n        Perspective\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"shift-away\"\n        data-tippy-inertia=\"true\"\n        data-tippy-duration=\"[600, 300]\"\n        data-tippy-arrow=\"true\"\n      >\n        Inertia (shift-away)\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"shift-toward\"\n        data-tippy-inertia=\"true\"\n        data-tippy-duration=\"[600, 300]\"\n        data-tippy-arrow=\"true\"\n      >\n        Inertia (shift-toward)\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"scale\"\n        data-tippy-inertia=\"true\"\n        data-tippy-duration=\"[600, 300]\"\n        data-tippy-arrow=\"true\"\n      >\n        Inertia (scale)\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-animation=\"perspective\"\n        data-tippy-inertia=\"true\"\n        data-tippy-duration=\"[600, 300]\"\n        data-tippy-arrow=\"true\"\n      >\n        Inertia (perspective)\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('⏱️')} />\n      <h3 class=\"feature__heading\">Duration</h3>\n      <p>A tippy can have different transition durations.</p>\n      <button class=\"btn\" title=\"I'm a Tippy tooltip!\" data-tippy-duration=\"0\">\n        0ms\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-duration=\"200\"\n      >\n        200ms\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-duration=\"1000\"\n      >\n        1000ms\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-duration=\"[500, 200]\"\n      >\n        [500ms, 200ms]\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('⏳')} />\n      <h3 class=\"feature__heading\">Delay</h3>\n\n      <p>\n        Tooltips can delay showing or{' '}\n        <span\n          tabindex=\"0\"\n          class=\"tippy\"\n          title=\"*Hide delay is always 0 on touch devices for UX reasons\"\n        >\n          hiding*\n        </span>{' '}\n        after a trigger.\n      </p>\n      <button class=\"btn\" title=\"I'm a Tippy tooltip!\" data-tippy-delay=\"100\">\n        100ms\n      </button>\n      <button class=\"btn\" title=\"I'm a Tippy tooltip!\" data-tippy-delay=\"500\">\n        500ms\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-delay=\"[500, 200]\"\n      >\n        [500ms, 200ms]\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('📡')} />\n      <h3 class=\"feature__heading\">\n        Event delegation <span class=\"badge\">v2.1</span>\n      </h3>\n      <p>\n        Bind a Tippy instance to a parent container and freely add new child\n        elements without needing to create Tippy instances for them.\n      </p>\n      <div id=\"demo__event-delegation\" title=\"Shared title\" data-exclude>\n        <button class=\"btn\">Shared title</button>\n        <button class=\"btn\" title=\"Custom title\">\n          Custom title\n        </button>\n        <button class=\"btn\" data-tippy-placement=\"right\">\n          Custom options\n        </button>\n      </div>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('🖼️')} />\n      <h3 class=\"feature__heading\">HTML</h3>\n      <p>\n        Tooltips can contain HTML, allowing you to craft awesome interactive\n        popovers.\n      </p>\n      <button\n        oncreate={demo.htmlTippy}\n        class=\"btn\"\n        data-tippy-interactive=\"true\"\n        data-tippy-theme=\"light rounded\"\n        data-tippy-arrow=\"true\"\n        data-tippy-size=\"large\"\n        data-tippy-arrowTransform=\"scale(2)\"\n        data-tippy-animation=\"fade\"\n        data-tippy-distance=\"15\"\n        data-tippy-interactiveBorder=\"20\"\n        data-local\n      >\n        HTML Templates\n      </button>\n      <div id=\"feature__html\" data-template>\n        <div style={{ padding: '20px' }}>\n          <img width=\"100\" src={logo} />\n          <h3>\n            Look! The tippy logo is inside a <strong>tippy</strong>.\n          </h3>\n          <button class=\"btn\" data-close>\n            Close\n          </button>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('🖌️')} />\n      <h3 class=\"feature__heading\">Themes</h3>\n      <p>\n        A tippy can have any kind of theme you want! Creating a custom theme is\n        a breeze.\n      </p>\n      <button class=\"btn\" title=\"See-through!\" data-tippy-theme=\"translucent\">\n        Translucent\n      </button>\n      <button\n        class=\"btn\"\n        title=\"Nice n' light\"\n        data-tippy-theme=\"light\"\n        data-tippy-arrow=\"true\"\n      >\n        Light\n      </button>\n      <button class=\"btn\" title=\"Awesome colors!\" data-tippy-theme=\"gradient\">\n        Gradient\n      </button>\n    </div>\n\n    <div class=\"feature\">\n      <div class=\"feature__icon\" oncreate={emoji('😍')} />\n      <h3 class=\"feature__heading\">Misc</h3>\n      <p>\n        Tippy has a ton of{' '}\n        <span\n          title=\"Missing a feature you need? Submit a <a class='is-white' href='https://github.com/atomiks/tippyjs/issues' target='_blank'>feature request</a> on the GitHub repo!\"\n          class=\"tippy\"\n          tabindex=\"0\"\n          data-tippy-interactive=\"true\"\n          data-tippy-size=\"large\"\n        >\n          features\n        </span>, and it's constantly improving.\n      </p>\n      <button\n        class=\"btn\"\n        title=\"How cool's this?!\"\n        data-tippy-followCursor=\"true\"\n        data-tippy-arrow=\"true\"\n        data-tippy-animation=\"fade\"\n      >\n        Follow cursor\n      </button>\n      <button\n        class=\"btn\"\n        title=\"You'll need a touch device for this one.\"\n        data-tippy-touchHold=\"true\"\n      >\n        Touch &amp; Hold\n      </button>\n      <button\n        class=\"btn\"\n        title=\"I'm hugging the tooltip!\"\n        data-tippy-distance=\"0\"\n        data-tippy-animation=\"fade\"\n      >\n        Distance\n      </button>\n      <button\n        class=\"btn\"\n        title=\"10px x-axis, 50px y-axis offset\"\n        data-tippy-offset=\"10, 50\"\n      >\n        Offset\n      </button>\n      <button class=\"btn\" title=\"I'm a Tippy tooltip!\" data-tippy-size=\"small\">\n        Small\n      </button>\n      <button class=\"btn\" title=\"I'm a Tippy tooltip!\" data-tippy-size=\"large\">\n        Large\n      </button>\n    </div>\n  </section>\n)\n","import { h } from 'hyperapp'\n\nexport default ({ lang }, children) => (\n  <div class=\"code-wrapper\" data-lang={lang}>\n    <pre>\n      <code class={`lang-${lang}`}>{children}</code>\n    </pre>\n  </div>\n)\n","import { h } from 'hyperapp'\nimport pkg from '../../../package.json'\nimport { emoji } from '../utils'\n\nimport Code from './Code'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"getting-started\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('📦')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#getting-started\">\n        Getting started\n      </a>\n    </div>\n    <h3 class=\"section__subheading\">\n      Option 1 <span class=\"section__emoji\" oncreate={emoji('🐝')} />\n    </h3>\n    <p>\n      Include this script from the{' '}\n      <span\n        class=\"tippy\"\n        title=\"unpkg.com is a <strong>C</strong>ontent <strong>D</strong>elivery <strong>N</strong>etwork that hosts npm packages.\"\n        tabindex=\"0\"\n      >\n        unpkg CDN\n      </span>{' '}\n      in your HTML document before your own scripts:\n    </p>\n    <Code lang=\"html\">\n      {`<script src=\"https://unpkg.com/tippy.js@${\n        pkg.version\n      }/dist/tippy.all.min.js\"></script>`}\n    </Code>\n    <p>\n      Once it's loaded, you'll have access to the <code>tippy</code> module\n      which will allow you to create awesome tooltips!\n    </p>\n\n    <h3 class=\"section__subheading\">\n      Option 2 <span class=\"section__emoji\" oncreate={emoji('📦')} />\n    </h3>\n    <p>Install using either npm or yarn:</p>\n\n    <Code lang=\"shell\">{`npm install tippy.js`}</Code>\n    <Code lang=\"shell\">{`yarn add tippy.js`}</Code>\n\n    <p>\n      Then you can import the <code>tippy</code> module:\n    </p>\n    <Code lang=\"js\">\n      {`// Node environment\nconst tippy = require('tippy.js')\n// With a module bundler (webpack/rollup/parcel)\nimport tippy from 'tippy.js'\n`}\n    </Code>\n\n    <h3 class=\"section__subheading\">\n      Files <span class=\"section__emoji\" oncreate={emoji('📁')} />\n    </h3>\n    <p>Tippy builds a bunch of different files that can be used:</p>\n    <ul>\n      <li>\n        <code>tippy.all.js</code> is all dependencies (Tippy + Popper + CSS) in\n        a single file. The CSS is injected into the document head.\n      </li>\n      <li>\n        <code>tippy.js</code> is Tippy + Popper together, without the CSS.\n      </li>\n      <li>\n        <code>tippy.standalone.js</code> is Tippy by itself, without Popper or\n        the CSS.\n      </li>\n      <li>\n        <code>tippy.css</code> is Tippy's CSS stylesheet by itself.\n      </li>\n    </ul>\n    <p>\n      There are also <code>.min</code> versions of the above, which means the\n      file is minified for production use.\n    </p>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\nimport Code from './Code'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"creating-tooltips\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('🔧')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#creating-tooltips\">\n        Creating tooltips\n      </a>\n    </div>\n\n    <h3>\n      1. Add your tooltip content{' '}\n      <span class=\"section__emoji\" oncreate={emoji('✍️')} />\n    </h3>\n\n    <p>\n      First, give your reference element(s) a{' '}\n      <span tabindex=\"0\" class=\"tippy\" title=\"The browser's default tooltip\">\n        title\n      </span>{' '}\n      attribute containing your tooltip content.\n    </p>\n\n    <Code lang=\"html\">{`<button class=\"btn\" title=\"I'm a tooltip!\">Text</button>`}</Code>\n\n    <p>\n      If you hover over the button, you'll notice the browser's default tooltip\n      (usually the native OS tooltip) appears after a delay.\n    </p>\n\n    <h3>\n      2. Create a tippy <span class=\"section__emoji\" oncreate={emoji('🌟')} />\n    </h3>\n\n    <p>\n      To give the elements a tippy, you'll need to add in some JavaScript inside{' '}\n      <code>script</code> tags on your HTML page{' '}\n      <span\n        tabindex=\"0\"\n        class=\"tippy\"\n        title=\"<code>tippy()</code> must be invoked after the elements have been constructed in the DOM\"\n      >\n        just before the closing\n      </span>{' '}\n      <code>body</code> tag.\n    </p>\n\n    <Code lang=\"html\">\n      {`<script>\ntippy('.btn')\n</script>\n`}\n    </Code>\n\n    <div class=\"section__result\">\n      <p class=\"section__result-text\">Result:</p>\n      <button class=\"btn\" title=\"I'm a tooltip!\">\n        Text\n      </button>\n    </div>\n\n    <p>\n      When the <code>tippy()</code> function is invoked and given a CSS selector\n      string, it will find all the elements which match it, check if they have a\n      non-empty <code>title</code>\n      attribute, and then apply its magic to give them a cool tooltip.\n    </p>\n\n    <h3>\n      Mutations <span class=\"section__emoji\" oncreate={emoji('🛠')} />\n    </h3>\n\n    <p>\n      The reference element(s) get modified by Tippy in the following manner:\n    </p>\n\n    <Code lang=\"html\">\n      {`<!-- Before -->\n<button class=\"btn\" title=\"I'm a tooltip!\">Text</button>\n<!-- After -->\n<button class=\"btn\" data-tippy data-original-title=\"I'm a tooltip!\">Text</button>\n`}\n    </Code>\n\n    <ul>\n      <li>\n        <code>title</code> attribute is removed\n      </li>\n      <li>\n        <code>data-tippy</code> attribute is added\n      </li>\n      <li>\n        <code>data-original-title</code> attribute is added containing the{' '}\n        <code>title</code> string\n      </li>\n    </ul>\n\n    <p>\n      Additionally, once the tooltip has fully transitioned in, an{' '}\n      <code>aria-describedby</code> attribute is added for{' '}\n      <span tabindex=\"0\" class=\"tippy\" title=\"Short for accessibility\">\n        a11y\n      </span>.\n    </p>\n\n    <h3>\n      Additional input types{' '}\n      <span class=\"section__emoji\" oncreate={emoji('🎛')} />\n    </h3>\n    <p>\n      A single{' '}\n      <span\n        tabindex=\"0\"\n        class=\"tippy\"\n        title=\"<strong>D</strong>ocument <strong>O</strong>bject <strong>M</strong>odel - the tree structure of the HTML document where each node (such as a DIV tag) is represented by an object\"\n      >\n        DOM\n      </span>{' '}\n      <code>Element</code> (or an array of them) will work:\n    </p>\n\n    <Code lang=\"js\">{`tippy(document.querySelector('.btn'))`}</Code>\n    <p>\n      As well as a <code>NodeList</code>:\n    </p>\n    <Code lang=\"js\">{`tippy(document.querySelectorAll('.btn'))`}</Code>\n\n    <p>\n      <span class=\"badge\">v2.5</span> Use <code>tippy.one()</code> if you are\n      creating a single tooltip. This will return the tooltip instance directly,\n      rather than a collection object (because <code>tippy()</code> can create\n      multiple tooltip instances at once).\n    </p>\n    <Code lang=\"js\">{`tippy.one(document.querySelector('.btn'))`}</Code>\n\n    <h3>\n      Tippify all titled elements{' '}\n      <span class=\"section__emoji\" oncreate={emoji('🍭')} />\n    </h3>\n    <p>\n      Use this{' '}\n      <span\n        tabindex=\"0\"\n        class=\"tippy\"\n        title=\"Elements can be selected based on the existence of an attribute by wrapping the attribute inside square brackets. You can do any attribute, such as [class] and [id].\"\n      >\n        selector\n      </span>:\n    </p>\n\n    <Code lang=\"js\">{`tippy('[title]')`}</Code>\n\n    <h3>\n      Advanced <span class=\"section__emoji\" oncreate={emoji('🤯')} />\n    </h3>\n    <p>\n      You can use a virtual element as the positioning reference instead of a\n      real element:\n    </p>\n    <Code lang=\"js\">\n      {`const virtualReference = {\n  attributes: {\n    title: \"I'm a tooltip!\"\n  },\n  getBoundingClientRect() {\n    return {\n      width: 100,\n      height: 100,\n      top: 100,\n      left: 100,\n      right: 200,\n      bottom: 200\n    }\n  },\n  clientHeight: 100,\n  clientWidth: 100\n}\n\ntippy(virtualReference)`}\n    </Code>\n    <p>\n      Popper.js uses these properties to determine the position of the tooltip.\n    </p>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\n\nimport Code from './Code'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"customizing-tooltips\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('⚙️')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#customizing-tooltips\">\n        Customizing tooltips\n      </a>\n    </div>\n    <p>\n      <code>tippy()</code> takes an object of options as a second argument for\n      you to customize the tooltips being created. Here's an example:\n    </p>\n\n    <Code lang=\"js\">\n      {`tippy('.btn', {\n  delay: 100,\n  arrow: true,\n  arrowType: 'round',\n  size: 'large',\n  duration: 500\n  animation: 'scale'\n})`}\n    </Code>\n\n    <div class=\"section__result\">\n      <p class=\"section__result-text\">Result:</p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-delay=\"100\"\n        data-tippy-arrow=\"true\"\n        data-tippy-arrowType=\"round\"\n        data-tippy-size=\"large\"\n        data-tippy-duration=\"500\"\n        data-tippy-animation=\"scale\"\n      >\n        Text\n      </button>\n    </div>\n\n    <h3>\n      Data attributes <span class=\"section__emoji\" oncreate={emoji('🏷')} />\n    </h3>\n    <p>\n      You can also specify options on the reference element itself by adding{' '}\n      <code>data-tippy-*</code> attributes. This will override the options\n      specified in the instance.\n    </p>\n\n    <Code lang=\"html\">\n      {`<button\n  class=\"btn\"\n  title=\"I'm a Tippy tooltip!\"\n  data-tippy-delay=\"0\"\n  data-tippy-arrow=\"false\"\n  data-tippy-size=\"small\"\n  data-tippy-animation=\"shift-toward\"\n>\n  Text\n</button>`}\n    </Code>\n\n    <div class=\"section__result\">\n      <p class=\"section__result-text\">Result:</p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-delay=\"0\"\n        data-tippy-arrow=\"false\"\n        data-tippy-size=\"small\"\n        data-tippy-animation=\"shift-toward\"\n      >\n        Overridden\n      </button>\n    </div>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\nimport Code from './Code'\n\nexport default () => (state, { allOptions }) => (\n  <section class=\"section\" id=\"all-options\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('🔮')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#all-options\">\n        All options\n      </a>\n    </div>\n    <p>\n      Below is a list of all possible options you can supply to{' '}\n      <code>tippy()</code>. The values are the default ones used, with the\n      different inputs being listed as a comment next to it.\n    </p>\n    <Code lang=\"js\">\n      {`tippy(ref, {\n  // Available v2.3+ - If true, HTML can be injected in the title attribute\n  allowTitleHTML: true,\n\n  // If true, the tooltip's background fill will be animated (material effect)\n  animateFill: true,\n\n  // The type of animation to use\n  animation: 'shift-away', // 'shift-toward', 'fade', 'scale', 'perspective'\n\n  // Which element to append the tooltip to\n  appendTo: document.body, // Element or Function that returns an element\n\n  // Whether to display the arrow. Disables the animateFill option\n  arrow: false,\n\n  // Transforms the arrow element to make it larger, wider, skinnier, offset, etc.\n  arrowTransform: '', // CSS syntax: 'scaleX(0.5)', 'scale(2)', 'translateX(5px)' etc.\n\n  // The type of arrow. 'sharp' is a triangle and 'round' is an SVG shape\n  arrowType: 'sharp', // 'round'\n\n  // The tooltip's Popper instance is not created until it is shown for the first\n  // time by default to increase performance\n  createPopperInstanceOnInit: false,\n\n  // Delays showing/hiding a tooltip after a trigger event was fired, in ms\n  delay: 0, // Number or Array [show, hide] e.g. [100, 500]\n\n  // How far the tooltip is from its reference element in pixels\n  distance: 10,\n\n  // The transition duration\n  duration: [350, 300], // Number or Array [show, hide]\n\n  // If true, whenever the title attribute on the reference changes, the tooltip\n  // will automatically be updated\n  dynamicTitle: false,\n\n  // If true, the tooltip will flip (change its placement) if there is not enough\n  // room in the viewport to display it\n  flip: true,\n\n  // The behavior of flipping. Use an array of placement strings, such as\n  // ['right', 'bottom'] for the tooltip to flip to the bottom from the right\n  // if there is not enough room\n  flipBehavior: 'flip', // 'clockwise', 'counterclockwise', Array\n\n  // Whether to follow the user's mouse cursor or not\n  followCursor: false,\n\n  // Upon clicking the reference element, the tooltip will hide.\n  // Disable this if you are using it on an input for a focus trigger\n  // Use 'persistent' to prevent the tooltip from closing on body OR reference\n  // click\n  hideOnClick: true, // false, 'persistent'\n\n  // Specifies that the tooltip should have HTML content injected into it.\n  // A selector string indicates that a template should be cloned, whereas\n  // a DOM element indicates it should be directly appended to the tooltip\n  html: false, // 'selector', DOM Element\n\n  // Adds an inertial slingshot effect to the animation. TIP! Use a show duration\n  // that is twice as long as hide, such as \\`duration: [600, 300]\\`\n  inertia: false,\n\n  // If true, the tooltip becomes interactive and won't close when hovered over\n  // or clicked\n  interactive: false,\n\n  // Specifies the size in pixels of the invisible border around an interactive\n  // tooltip that prevents it from closing. Useful to prevent the tooltip\n  // from closing from clumsy mouse movements\n  interactiveBorder: 2,\n\n  // Available v2.2+ - If false, the tooltip won't update its position (or flip)\n  // when scrolling\n  livePlacement: true,\n\n  // The maximum width of the tooltip. Add units such as px or rem\n  // Avoid exceeding 300px due to mobile devices, or don't specify it at all\n  maxWidth: '',\n\n  // If true, multiple tooltips can be on the page when triggered by clicks\n  multiple: false,\n\n  // Offsets the tooltip popper in 2 dimensions. Similar to the distance option,\n  // but applies to the parent popper element instead of the tooltip\n  offset: 0, // '50, 20' = 50px x-axis offset, 20px y-axis offset\n\n  // Callback invoked when the tooltip fully transitions out\n  onHidden(instance) {},\n\n  // Callback invoked when the tooltip begins to transition out\n  onHide(instance) {},\n\n  // Callback invoked when the tooltip begins to transition in\n  onShow(instance) {},\n\n  // Callback invoked when the tooltip has fully transitioned in\n  onShown(instance) {},\n\n  // If true, data-tippy-* attributes will be disabled for increased performance\n  performance: false,\n\n  // The placement of the tooltip in relation to its reference\n  placement: 'top', // 'bottom', 'left', 'right', 'top-start', 'top-end', etc.\n\n  // Popper.js options. Allows more control over tooltip positioning and behavior\n  popperOptions: {},\n\n  // The size of the tooltip\n  size: 'regular', // 'small', 'large'\n\n  // If true, the tooltip's position will be updated on each animation frame so\n  // the tooltip will stick to its reference element if it moves\n  sticky: false,\n\n  // Available v2.1+ - CSS selector string used for event delegation\n  target: null, // e.g. '.className'\n\n  // The theme, which is applied to the tooltip element as a class name, i.e.\n  // 'dark-theme'. Add multiple themes by separating each by a space, such as\n  // 'dark custom'\n  theme: 'dark',\n\n  // Changes trigger behavior on touch devices. It will change it from a tap\n  // to show and a tap off to hide, to a touch-and-hold to show, and a release\n  // to hide\n  touchHold: false,\n\n  // The events on the reference element which cause the tooltip to show\n  trigger: 'mouseenter focus', // 'click', 'manual'\n\n  // Transition duration applied to the Popper element to transition between\n  // position updates\n  updateDuration: 350,\n\n  // The z-index of the popper\n  zIndex: 9999\n})`}\n    </Code>\n\n    <h3>Modifying the default options</h3>\n    <p>\n      You can modify the options by accessing them via{' '}\n      <code>tippy.defaults</code>, which will apply to every future instance.\n    </p>\n\n    <h3>More control over tooltips</h3>\n    <p>\n      Specify a <code>popperOptions</code> property with Popper.js options. View\n      the{' '}\n      <a target=\"_blank\" href=\"https://popper.js.org/popper-documentation.html\">\n        Popper.js documentation\n      </a>{' '}\n      to see all the options you can specify.\n    </p>\n\n    <h3>\n      Callbacks <span class=\"section__emoji\" oncreate={emoji('🔊')} />\n    </h3>\n    <p>\n      If you want things to occur during tooltips' show and hide events, you can\n      specify callback functions in the options object.\n    </p>\n    <Code lang=\"js\">\n      {`tippy(ref, {\n  onShow(instance) {\n    // When the tooltip begins to transition in\n  },\n  onShown(instance) {\n    // When the tooltip has fully transitioned in\n  },\n  onHide(instance) {\n    // When the tooltip begins to transition out\n  },\n  onHidden(instance) {\n    // When the tooltip has fully transitioned out and is removed from the DOM\n  },\n  wait(show, event) {\n    // Delays showing the tooltip until you manually invoke show()\n  }\n})`}\n    </Code>\n\n    <h3>\n      AJAX tooltips <span class=\"section__emoji\" oncreate={emoji('🌐')} />\n    </h3>\n    <p>\n      Callbacks allow you to do powerful things with tooltips. Here's an example\n      of dynamic content which on show, fetches a new random image from the\n      Unsplash API. Note: this requires a browser which supports the newer fetch\n      API.\n    </p>\n    <div class=\"section__result\">\n      <button class=\"btn\" oncreate={allOptions.ajaxTippy} data-local>\n        Hover for a new image\n      </button>\n      <div id=\"allOptions__ajax-template\">Loading...</div>\n    </div>\n    <a href=\"https://codepen.io/anon/pen/GEmOQy\" target=\"_blank\">\n      CodePen Demo\n    </a>\n\n    <h3>\n      Event delegation <span class=\"section__emoji\" oncreate={emoji('📡')} />\n      <span class=\"badge\">v2.1</span>\n    </h3>\n    <p>\n      Event delegation only requires minimal setup. Your setup should look\n      similar to this, with a parent element wrapping the child elements you\n      would like to give tooltips to:\n    </p>\n\n    <Code lang=\"html\">\n      {`<div id=\"parent\" title=\"Shared title\">\n  <div class=\"child\">Text</div>\n  <div class=\"child\">Text</div>\n  <div class=\"child\">Text</div>\n  <div class=\"other\">Text</div>\n</div>\n`}\n    </Code>\n\n    <p>\n      Then, specify a CSS selector as the <code>target</code> that matches child\n      elements which should receive tooltips\n    </p>\n    <Code lang=\"js\">\n      {`tippy('#parent', {\n  target: '.child'\n})\n`}\n    </Code>\n\n    <h4>Note</h4>\n    <p>\n      <span class=\"section__emoji\" oncreate={emoji('⚠️')} />Avoid binding a\n      Tippy instance to the body, as <code>mouseover / mouseoff</code> events\n      will constantly fire as the cursor moves over the page. Instead, give it\n      to the nearest possible parent element.\n    </p>\n    <h4>Destroying a delegate instance</h4>\n    <p>\n      When you destroy a delegate's Tippy instance, it will destroy all target\n      children's Tippy instances as well. To disable this behavior, pass{' '}\n      <code>false</code> into the <code>destroy()</code> method.\n    </p>\n    <Code lang=\"js\">{`const parent = document.querySelector('#parent')\ntippy(parent, { target: '.child' })\n// Will not destroy any child target instances (if they had been created)\nparent._tippy.destroy(false)\n`}</Code>\n    <p>\n      If the target option is specified, the parent reference(s) become\n      delegates and receive a <code>data-tippy-delegate</code> attribute instead\n      of <code>data-tippy</code>.\n    </p>\n    <div class=\"code-wrapper\" data-lang=\"html\">\n      <pre>\n        <code class=\"lang-html\">{`<div id=\"parent\" title=\"Shared title\" data-tippy-delegate></div>`}</code>\n      </pre>\n    </div>\n\n    <h3>Tooltips inside a scrollable container</h3>\n    <p>\n      Add the following options to make the tooltip not stay stuck within the\n      viewport.\n    </p>\n\n    <Code lang=\"js\">{`tippy('.mySelector', {\n  appendTo: document.querySelector('.mySelector').parentNode,\n  popperOptions: {\n    modifiers: {\n      preventOverflow: {\n        enabled: false\n      },\n      hide: {\n        enabled: false\n      }\n    }\n  }\n})\n`}</Code>\n\n    <h3>Disabling tooltips on touch devices</h3>\n    <p>\n      It can be tricky to determine touch devices accurately, especially\n      considering the existence of hybrid devices (a mix of mouse and touch\n      input). Simply detecting the user agent is not enough.\n    </p>\n    <p>\n      A user can switch between either input type at any time which is why\n      dynamic input detection is enabled. You can hook into Tippy's detection of\n      user input changes by defining the following callback function:\n    </p>\n\n    <Code lang=\"js\">{`tippy.browser.onUserInputChange = type => {\n  console.log('The user is now using', type, 'as an input method')\n}\n`}</Code>\n\n    <p>\n      Whenever the user changes their input method, you can react to it inside\n      the callback function. To disable tooltips for touch input but keep them\n      enabled for mouse input, you can do the following:\n    </p>\n\n    <Code lang=\"js\">\n      {`const tip = tippy('[title]')\n\ntippy.browser.onUserInputChange = type => {\n  const method = type === 'touch' ? 'disable' : 'enable'\n  for (const tooltip of tip.tooltips) {\n    tooltip[method]()\n  }\n}\n`}\n    </Code>\n\n    <h3>Hiding tooltips on scroll</h3>\n    <p>\n      Due to the way browsers fire <code>mouseleave</code> events, it may be\n      desirable to hide tooltips and immediately disable their event listeners\n      whenever scrolling occurs. This might also help reduce the intrusiveness\n      of a tooltip on small screen touch devices, as it will begin hiding out of\n      the way whenever they scroll, rather than whenever they tap somewhere\n      else.\n    </p>\n\n    <Code lang=\"js\">{`window.addEventListener('scroll', () => {\n  for (const popper of document.querySelectorAll('.tippy-popper')) {\n    const instance = popper._tippy\n\n    if (instance.state.visible) {\n      instance.popperInstance.disableEventListeners()\n      instance.hide()\n    }\n  }\n})\n`}</Code>\n\n    <h3>Get all Tippy instances</h3>\n    <p>\n      Getting all (non-destroyed) Tippy instances on the document can be done in\n      one single line:\n    </p>\n\n    <Code lang=\"js\">{`Array.from(document.querySelectorAll('[data-tippy]'), el => el._tippy)`}</Code>\n\n    <p>\n      This returns an array holding every current Tippy instance (excluding\n      delegates). To include delegates, use this selector:\n    </p>\n\n    <Code lang=\"js\">{`'[data-tippy], [data-tippy-delegate]'`}</Code>\n\n    <p>\n      <span class=\"section__emoji\" oncreate={emoji('⚠️')} />\n      <code>Array.from</code> needs a polyfill for older browsers.\n    </p>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\nimport Code from './Code'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"props\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('🏷️')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#props\">\n        Props\n      </a>\n    </div>\n    <p>\n      It's important to distinguish between the object returned from calling{' '}\n      <code>tippy()</code> and a Tippy instance. When you call{' '}\n      <code>tippy()</code>, it can create multiple tooltips (Tippy instances) at\n      once.\n    </p>\n    <p>\n      Tippy instances refer to individual tooltips, whereas the object returned\n      from <code>tippy()</code> refers to the collection.\n    </p>\n\n    <h3>\n      <code>tippy()</code> object\n    </h3>\n    <div class=\"code-wrapper\" data-lang=\"js\">\n      <pre>\n        <code class=\"lang-js\">{`const tip = tippy('.btn')`}</code>\n      </pre>\n    </div>\n    <p>\n      <code>tip</code> is a plain object.\n    </p>\n    <Code lang=\"js\">\n      {`{\n  // selector that was supplied to tippy()\n  selector: '.btn',\n\n  // default + instance options merged together\n  options: { ... },\n\n  // Array of all Tippy instances that were created\n  tooltips: [Tippy, Tippy, Tippy, ...],\n\n  // Method to destroy all the tooltips that were created\n  destroyAll() { }\n}`}\n    </Code>\n\n    <h3>Tippy instances</h3>\n    <p>\n      Stored on reference elements via the <code>_tippy</code> property, and\n      inside the <code>tooltips</code> array of the <code>tippy()</code> object.\n    </p>\n    <Code lang=\"js\">{`tippy('.btn')\nconst btn = document.querySelector('.btn')\nconst tipInstance = btn._tippy`}</Code>\n\n    <p>\n      <code>tipInstance</code> is a Tippy instance.\n    </p>\n    <Code lang=\"js\">\n      {`{\n  // id of the Tippy instance (1 to Infinity)\n  id: 1,\n\n  // Popper element that contains the tooltip\n  popper: Element,\n\n  // Popper instance is not created until shown for the first time,\n  // unless specified otherwise\n  popperInstance: null,\n\n  // Reference element that is the trigger for the tooltip\n  reference: Element,\n\n  // Array of objects containing the event + handler function of each trigger\n  listeners: [{ ... }, { ... }, ...],\n\n  // Defaults + instance + attribute options merged together\n  options: { ... },\n\n  // The state of the tooltip\n  state: {\n    // Has the instance been destroyed?\n    destroyed: false,\n    // Is the instance enabled?\n    enabled: true,\n    // Is the tooltip currently visible and not transitioning out?\n    visible: false\n  },\n\n  // title content of the tooltip (null if HTML)\n  title: 'example'\n}`}\n    </Code>\n    <h3>Shortcuts</h3>\n    <p>There are several shortcuts available for accessing the instance.</p>\n    <Code lang=\"js\">{`// The popper element has the instance attached to it:\npopper._tippy\n// As does the reference element (as seen above):\nreference._tippy\n// The popper also has the reference directly attached:\npopper._reference`}</Code>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\nimport Code from './Code'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"methods\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('🕹')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#methods\">\n        Methods\n      </a>\n    </div>\n    <p>\n      Tippy instances have 5 methods available which allow you to control the\n      tooltip without the use of UI events. They are:\n    </p>\n    <ul>\n      <li>\n        <code>Tippy.prototype.show()</code>\n      </li>\n      <li>\n        <code>Tippy.prototype.hide()</code>\n      </li>\n      <li>\n        <code>Tippy.prototype.enable()</code>\n      </li>\n      <li>\n        <code>Tippy.prototype.disable()</code>\n      </li>\n      <li>\n        <code>Tippy.prototype.destroy()</code>\n      </li>\n    </ul>\n    <p>Given the following element with a tooltip:</p>\n    <Code lang=\"html\">{`<button title=\"Hello!\">Text</button>`}</Code>\n    <Code lang=\"js\">{`const btn = document.querySelector('button')\ntippy(btn)`}</Code>\n\n    <p>\n      The Tippy instance is stored on the button element via the{' '}\n      <code>_tippy</code> property.\n    </p>\n\n    <p>\n      <span class=\"badge\">v2.5</span> If you are dealing with a single\n      element/tooltip, you can use <code>tippy.one()</code> method to directly\n      return the instance instead of having to use the <code>_tippy</code>{' '}\n      property.\n    </p>\n    <Code lang=\"js\">{`const instance = tippy.one('button')`}</Code>\n\n    <h3>Show the tooltip</h3>\n    <Code lang=\"js\">{`btn._tippy.show()`}</Code>\n\n    <h3>Hide the tooltip</h3>\n    <Code lang=\"js\">{`btn._tippy.hide()`}</Code>\n\n    <h3>Custom transition duration</h3>\n    <p>Pass a number in as an argument to override the instance option:</p>\n    <Code lang=\"js\">{`btn._tippy.show(200) // 200ms\nbtn._tippy.hide(1000) // 1000ms`}</Code>\n\n    <h3>Disable the tooltip</h3>\n    <p>The tooltip can be temporarily disabled from showing/hiding:</p>\n    <Code lang=\"js\">{`btn._tippy.disable()`}</Code>\n\n    <p>To re-enable:</p>\n    <Code lang=\"js\">{`btn._tippy.enable()`}</Code>\n\n    <h3>Destroy the tooltip</h3>\n    <p>\n      To permanently destroy the tooltip and remove all listeners from the\n      reference element:\n    </p>\n    <Code lang=\"js\">{`btn._tippy.destroy()`}</Code>\n\n    <p>\n      The <code>_tippy</code> property is deleted from the reference element\n      upon destruction.\n    </p>\n\n    <h3>Update the tooltip</h3>\n    <p>\n      There is no method to update the tooltip content, because it's easy to do!\n    </p>\n    <p>\n      Option 1 (recommended): Change the title on the reference element and use\n      the <code>dynamicTitle</code> option:\n    </p>\n    <Code lang=\"js\">{`tippy(btn, { dynamicTitle: true })\nbtn.title = 'New tooltip :)'`}</Code>\n\n    <p>Option 2: Manually update the tooltip:</p>\n    <Code lang=\"js\">{`btn._tippy.popper.querySelector('.tippy-content').textContent = 'New tooltip :)'`}</Code>\n\n    <p>\n      Note: With the above method, <code>_tippy.title</code> won't reflect the\n      new title, you'll need to update it manually.\n    </p>\n    <p>\n      If you're using an HTML template, save it to a variable reference to\n      modify it later.\n    </p>\n    <Code lang=\"js\">{`const template = document.querySelector('template')\ntippy(btn, { html: template })\ntemplate.textContent = 'New tooltip :)'`}</Code>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\n\nimport Code from './Code'\n\nexport default () => (state, { creatingHTMLTemplates }) => (\n  <section class=\"section\" id=\"creating-html-templates\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('🖼️')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#creating-html-templates\">\n        Creating HTML Templates\n      </a>\n    </div>\n    <p>\n      There are two ways to create an HTML template: <strong>cloning</strong> or{' '}\n      <strong>direct reference</strong>.\n    </p>\n\n    <h3>Option 1: Cloning</h3>\n    <p>\n      Clones the template's <code>innerHTML</code> but does not modify it.\n    </p>\n    <p>\n      Option: <code>html: '#templateId'</code> selector matching a template on\n      the document\n    </p>\n    <ul>\n      <li>Reusable</li>\n      <li>Stays on the page</li>\n      <li>Does not save event listeners attached to it</li>\n      <li>Not directly modifiable</li>\n    </ul>\n\n    <h3>Option 2: Direct reference</h3>\n    <p>Directly appends an element to the tooltip.</p>\n    <p>\n      Option: <code>html: document.querySelector('#templateId')</code>{' '}\n      HTMLElement\n    </p>\n    <ul>\n      <li>Can only be used once</li>\n      <li>Removed from the page and appended to the tooltip element</li>\n      <li>Saves event listeners attached to it</li>\n      <li>Directly modifiable</li>\n    </ul>\n\n    <p>On the document or in JavaScript somewhere, make a template.</p>\n\n    <h4>Cloning</h4>\n\n    <Code lang=\"html\">\n      {`<div id=\"myTemplate\" style=\"display: none;\">\n  <h3>Cool <span style=\"color: pink;\">HTML</span> inside here!</h3>\n</div>`}\n    </Code>\n\n    <h4>Direct element reference</h4>\n    <Code lang=\"html\">\n      {`<div id=\"myTemplate\">\n  <h3>Cool <span style=\"color: pink;\">HTML</span> inside here!</h3>\n</div>`}\n    </Code>\n\n    <h4>Dynamic element with JS</h4>\n    <Code lang=\"js\">\n      {`const myTemplate = document.createElement('div')\nmyTemplate.innerHTML = '<h3>Cool <span style=\"color: pink;\">HTML</span> inside here!</h3>'`}\n    </Code>\n\n    <p>\n      Then specify a <code>html</code> option, choosing one of the choices.\n    </p>\n\n    <Code lang=\"js\">\n      {`tippy('selector', {\n  html: '#myTemplate',\n  // ...or...\n  html: document.querySelector('#myTemplate'),\n  // ...or you can clone a direct element too...\n  html: document.querySelector('#myTemplate').cloneNode(true)\n})`}\n    </Code>\n\n    <div class=\"section__result\">\n      <p class=\"section__result-text\">Result:</p>\n      <button oncreate={creatingHTMLTemplates.htmlTippy} class=\"btn\" data-local>\n        I have an HTML template!\n      </button>\n    </div>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport { emoji } from '../utils'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"creating-custom-themes\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('🖌')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#creating-custom-themes\">\n        Creating Custom Themes\n      </a>\n    </div>\n    <p>\n      Creating a theme for your tooltips is easy! If you wanted to make a theme\n      called <code>honeybee</code>, then your CSS would look like:\n    </p>\n    <div class=\"code-wrapper\" data-lang=\"css\">\n      <pre>\n        <code class=\"lang-css\">{`.tippy-tooltip.honeybee-theme {\n  /* Your styling here. Example: */\n  background-color: yellow;\n  border: 2px solid orange;\n  font-weight: bold;\n  color: #333;\n}`}</code>\n      </pre>\n    </div>\n\n    <p>\n      The <code>-theme</code> suffix is required.\n    </p>\n\n    <h3>\n      Styling the <code>animateFill</code> backdrop\n    </h3>\n    <p>\n      By default, tippy tooltips have a cool backdrop filling animation, which\n      is just a circle that expands out. Its class name is{' '}\n      <code>tippy-backdrop</code>:\n    </p>\n    <div class=\"code-wrapper\" data-lang=\"css\">\n      <pre>\n        <code class=\"lang-css\">{`.tippy-tooltip.honeybee-theme .tippy-backdrop {\n  /* Your styling here. Example: */\n  background-color: yellow;\n}`}</code>\n      </pre>\n    </div>\n\n    <p>\n      If you're using the backdrop animation, avoid styling the tooltip directly\n      – just the backdrop.\n    </p>\n\n    <h3>Styling the arrow</h3>\n    <p>\n      There are two arrow selectors: <code>.tippy-arrow</code> and{' '}\n      <code>.tippy-roundarrow</code>. The first is the pure CSS triangle shape,\n      while the second is a custom SVG.\n    </p>\n    <div class=\"code-wrapper\" data-lang=\"css\">\n      <pre>\n        <code class=\"lang-css\">{`.tippy-popper[x-placement^=top] .tippy-tooltip.honeybee-theme .tippy-arrow {\n  /* Your styling here. */\n}`}</code>\n      </pre>\n    </div>\n    <p>\n      You will need to style the arrow for each different popper placement (top,\n      bottom, left, right), which is why the selector is so long.\n    </p>\n\n    <h3>Styling the content directly</h3>\n    <div class=\"code-wrapper\" data-lang=\"css\">\n      <pre>\n        <code class=\"lang-css\">{`.tippy-tooltip.honeybee-theme .tippy-content {\n  /* Your styling here. Example: */\n  color: #333;\n}`}</code>\n      </pre>\n    </div>\n\n    <h3>\n      Specify a <code>theme</code> option\n    </h3>\n    <p>\n      To see what your cool theme looks like, specify a <code>theme</code>{' '}\n      option for tippy:\n    </p>\n\n    <div class=\"code-wrapper\" data-lang=\"js\">\n      <pre>\n        <code class=\"lang-js\">{`tippy('.btn', {\n  theme: 'honeybee',\n  // ...or add multiple themes by separating each by a space...\n  theme: 'honeybee bumblebee shadow'\n})`}</code>\n      </pre>\n    </div>\n\n    <p>\n      <code>.honeybee-theme</code>, <code>.bumblebee-theme</code> and{' '}\n      <code>.shadow-theme</code> are the selectors for this theme list.\n    </p>\n\n    <div class=\"section__result\">\n      <p class=\"section__result-text\">Result:</p>\n      <button\n        class=\"btn\"\n        title=\"I'm a Tippy tooltip!\"\n        data-tippy-theme=\"honeybee\"\n        data-tippy-animateFill=\"false\"\n      >\n        Custom theme\n      </button>\n    </div>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport pkg from '../../../package.json'\nimport { emoji } from '../utils'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"browser-support\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('💻')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#browser-support\">\n        Browser support\n      </a>\n    </div>\n    <h3 style={{ fontWeight: '400' }}>\n      Current support (tracked): <strong>96% Global</strong>,{' '}\n      <strong>99% USA</strong>\n    </h3>\n    <p>\n      Tippy supports browsers with <code>requestAnimationFrame</code> and{' '}\n      <code>MutationObserver</code> support: See{' '}\n      <a href=\"https://caniuse.com/#feat=mutationobserver\" target=\"_blank\">\n        caniuse data\n      </a>.\n    </p>\n    <p>\n      IE10 is only partially supported unless you polyfill{' '}\n      <code>MutationObserver</code>, then it is fully supported.{' '}\n      <code>dynamicTitle</code> relies on it.\n    </p>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport pkg from '../../../package.json'\nimport { emoji } from '../utils'\n\nexport default () => (state, actions) => (\n  <section class=\"section\" id=\"performance\">\n    <div class=\"section__icon-wrapper\" oncreate={emoji('⚡️')} />\n    <div class=\"section__heading-wrapper\">\n      <a class=\"section__heading\" href=\"#performance\">\n        Performance\n      </a>\n    </div>\n    <p>On a 2016 MacBook Pro 2.6 GHz Skylake, using Chrome 65:</p>\n    <ul>\n      <li>\n        <strong>Performance mode off:</strong> 13 ms per 100 elements\n      </li>\n      <li>\n        <strong>Performance mode on:</strong> 6 ms per 100 elements\n      </li>\n      <li>\n        <strong>Event delegation:</strong> &lt;1 ms for 1 element!\n      </li>\n    </ul>\n  </section>\n)\n","import { h } from 'hyperapp'\nimport pkg from '../../../package.json'\n\nimport Demo from './Demo'\nimport GettingStarted from './GettingStarted'\nimport CreatingTooltips from './CreatingTooltips'\nimport CustomizingTooltips from './CustomizingTooltips'\nimport AllOptions from './AllOptions'\nimport Props from './Props'\nimport Methods from './Methods'\nimport CreatingHTMLTemplates from './CreatingHTMLTemplates'\nimport CreatingCustomThemes from './CreatingCustomThemes'\nimport BrowserSupport from './BrowserSupport'\nimport Performance from './Performance'\n\nexport default () => (state, actions) => (\n  <main class=\"main\">\n    <div class=\"container main__body\">\n      <Demo />\n      <GettingStarted />\n      <CreatingTooltips />\n      <CustomizingTooltips />\n      <AllOptions />\n      <Props />\n      <Methods />\n      <CreatingHTMLTemplates />\n      <CreatingCustomThemes />\n      <BrowserSupport />\n      <Performance />\n    </div>\n  </main>\n)\n","export default {}\n","/*\n 2017 Julian Garnier\n Released under the MIT license\n*/\nvar $jscomp={scope:{}};$jscomp.defineProperty=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(e,r,p){if(p.get||p.set)throw new TypeError(\"ES3 does not support getters and setters.\");e!=Array.prototype&&e!=Object.prototype&&(e[r]=p.value)};$jscomp.getGlobal=function(e){return\"undefined\"!=typeof window&&window===e?e:\"undefined\"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX=\"jscomp_symbol_\";\n$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||\"\")+$jscomp.symbolCounter_++};\n$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\"));\"function\"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var r=0;return $jscomp.iteratorPrototype(function(){return r<e.length?{done:!1,value:e[r++]}:{done:!0}})};\n$jscomp.iteratorPrototype=function(e){$jscomp.initSymbolIterator();e={next:e};e[$jscomp.global.Symbol.iterator]=function(){return this};return e};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(e,r){$jscomp.initSymbolIterator();e instanceof String&&(e+=\"\");var p=0,m={next:function(){if(p<e.length){var u=p++;return{value:r(u,e[u]),done:!1}}m.next=function(){return{done:!0,value:void 0}};return m.next()}};m[Symbol.iterator]=function(){return m};return m};\n$jscomp.polyfill=function(e,r,p,m){if(r){p=$jscomp.global;e=e.split(\".\");for(m=0;m<e.length-1;m++){var u=e[m];u in p||(p[u]={});p=p[u]}e=e[e.length-1];m=p[e];r=r(m);r!=m&&null!=r&&$jscomp.defineProperty(p,e,{configurable:!0,writable:!0,value:r})}};$jscomp.polyfill(\"Array.prototype.keys\",function(e){return e?e:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},\"es6-impl\",\"es3\");var $jscomp$this=this;\n(function(e,r){\"function\"===typeof define&&define.amd?define([],r):\"object\"===typeof module&&module.exports?module.exports=r():e.anime=r()})(this,function(){function e(a){if(!h.col(a))try{return document.querySelectorAll(a)}catch(c){}}function r(a,c){for(var d=a.length,b=2<=arguments.length?arguments[1]:void 0,f=[],n=0;n<d;n++)if(n in a){var k=a[n];c.call(b,k,n,a)&&f.push(k)}return f}function p(a){return a.reduce(function(a,d){return a.concat(h.arr(d)?p(d):d)},[])}function m(a){if(h.arr(a))return a;\nh.str(a)&&(a=e(a)||a);return a instanceof NodeList||a instanceof HTMLCollection?[].slice.call(a):[a]}function u(a,c){return a.some(function(a){return a===c})}function C(a){var c={},d;for(d in a)c[d]=a[d];return c}function D(a,c){var d=C(a),b;for(b in a)d[b]=c.hasOwnProperty(b)?c[b]:a[b];return d}function z(a,c){var d=C(a),b;for(b in c)d[b]=h.und(a[b])?c[b]:a[b];return d}function T(a){a=a.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,function(a,c,d,k){return c+c+d+d+k+k});var c=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(a);\na=parseInt(c[1],16);var d=parseInt(c[2],16),c=parseInt(c[3],16);return\"rgba(\"+a+\",\"+d+\",\"+c+\",1)\"}function U(a){function c(a,c,b){0>b&&(b+=1);1<b&&--b;return b<1/6?a+6*(c-a)*b:.5>b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(a)||/hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,f=parseInt(d[3])/100,d=d[4]||1;if(0==b)f=b=a=f;else{var n=.5>f?f*(1+b):f+b-f*b,k=2*f-n,f=c(k,n,a+1/3),b=c(k,n,a);a=c(k,n,a-1/3)}return\"rgba(\"+\n255*f+\",\"+255*b+\",\"+255*a+\",\"+d+\")\"}function y(a){if(a=/([\\+\\-]?[0-9#\\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function V(a){if(-1<a.indexOf(\"translate\")||\"perspective\"===a)return\"px\";if(-1<a.indexOf(\"rotate\")||-1<a.indexOf(\"skew\"))return\"deg\"}function I(a,c){return h.fnc(a)?a(c.target,c.id,c.total):a}function E(a,c){if(c in a.style)return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase())||\"0\"}function J(a,c){if(h.dom(a)&&\nu(W,c))return\"transform\";if(h.dom(a)&&(a.getAttribute(c)||h.svg(a)&&a[c]))return\"attribute\";if(h.dom(a)&&\"transform\"!==c&&E(a,c))return\"css\";if(null!=a[c])return\"object\"}function X(a,c){var d=V(c),d=-1<c.indexOf(\"scale\")?1:0+d;a=a.style.transform;if(!a)return d;for(var b=[],f=[],n=[],k=/(\\w+)\\((.+?)\\)/g;b=k.exec(a);)f.push(b[1]),n.push(b[2]);a=r(n,function(a,b){return f[b]===c});return a.length?a[0]:d}function K(a,c){switch(J(a,c)){case \"transform\":return X(a,c);case \"css\":return E(a,c);case \"attribute\":return a.getAttribute(c)}return a[c]||\n0}function L(a,c){var d=/^(\\*=|\\+=|-=)/.exec(a);if(!d)return a;var b=y(a)||0;c=parseFloat(c);a=parseFloat(a.replace(d[0],\"\"));switch(d[0][0]){case \"+\":return c+a+b;case \"-\":return c-a+b;case \"*\":return c*a+b}}function F(a,c){return Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2))}function M(a){a=a.points;for(var c=0,d,b=0;b<a.numberOfItems;b++){var f=a.getItem(b);0<b&&(c+=F(d,f));d=f}return c}function N(a){if(a.getTotalLength)return a.getTotalLength();switch(a.tagName.toLowerCase()){case \"circle\":return 2*\nMath.PI*a.getAttribute(\"r\");case \"rect\":return 2*a.getAttribute(\"width\")+2*a.getAttribute(\"height\");case \"line\":return F({x:a.getAttribute(\"x1\"),y:a.getAttribute(\"y1\")},{x:a.getAttribute(\"x2\"),y:a.getAttribute(\"y2\")});case \"polyline\":return M(a);case \"polygon\":var c=a.points;return M(a)+F(c.getItem(c.numberOfItems-1),c.getItem(0))}}function Y(a,c){function d(b){b=void 0===b?0:b;return a.el.getPointAtLength(1<=c+b?c+b:0)}var b=d(),f=d(-1),n=d(1);switch(a.property){case \"x\":return b.x;case \"y\":return b.y;\ncase \"angle\":return 180*Math.atan2(n.y-f.y,n.x-f.x)/Math.PI}}function O(a,c){var d=/-?\\d*\\.?\\d+/g,b;b=h.pth(a)?a.totalLength:a;if(h.col(b))if(h.rgb(b)){var f=/rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(b);b=f?\"rgba(\"+f[1]+\",1)\":b}else b=h.hex(b)?T(b):h.hsl(b)?U(b):void 0;else f=(f=y(b))?b.substr(0,b.length-f.length):b,b=c&&!/\\s/g.test(b)?f+c:f;b+=\"\";return{original:b,numbers:b.match(d)?b.match(d).map(Number):[0],strings:h.str(a)||c?b.split(d):[]}}function P(a){a=a?p(h.arr(a)?a.map(m):m(a)):[];return r(a,\nfunction(a,d,b){return b.indexOf(a)===d})}function Z(a){var c=P(a);return c.map(function(a,b){return{target:a,id:b,total:c.length}})}function aa(a,c){var d=C(c);if(h.arr(a)){var b=a.length;2!==b||h.obj(a[0])?h.fnc(c.duration)||(d.duration=c.duration/b):a={value:a}}return m(a).map(function(a,b){b=b?0:c.delay;a=h.obj(a)&&!h.pth(a)?a:{value:a};h.und(a.delay)&&(a.delay=b);return a}).map(function(a){return z(a,d)})}function ba(a,c){var d={},b;for(b in a){var f=I(a[b],c);h.arr(f)&&(f=f.map(function(a){return I(a,\nc)}),1===f.length&&(f=f[0]));d[b]=f}d.duration=parseFloat(d.duration);d.delay=parseFloat(d.delay);return d}function ca(a){return h.arr(a)?A.apply(this,a):Q[a]}function da(a,c){var d;return a.tweens.map(function(b){b=ba(b,c);var f=b.value,e=K(c.target,a.name),k=d?d.to.original:e,k=h.arr(f)?f[0]:k,w=L(h.arr(f)?f[1]:f,k),e=y(w)||y(k)||y(e);b.from=O(k,e);b.to=O(w,e);b.start=d?d.end:a.offset;b.end=b.start+b.delay+b.duration;b.easing=ca(b.easing);b.elasticity=(1E3-Math.min(Math.max(b.elasticity,1),999))/\n1E3;b.isPath=h.pth(f);b.isColor=h.col(b.from.original);b.isColor&&(b.round=1);return d=b})}function ea(a,c){return r(p(a.map(function(a){return c.map(function(b){var c=J(a.target,b.name);if(c){var d=da(b,a);b={type:c,property:b.name,animatable:a,tweens:d,duration:d[d.length-1].end,delay:d[0].delay}}else b=void 0;return b})})),function(a){return!h.und(a)})}function R(a,c,d,b){var f=\"delay\"===a;return c.length?(f?Math.min:Math.max).apply(Math,c.map(function(b){return b[a]})):f?b.delay:d.offset+b.delay+\nb.duration}function fa(a){var c=D(ga,a),d=D(S,a),b=Z(a.targets),f=[],e=z(c,d),k;for(k in a)e.hasOwnProperty(k)||\"targets\"===k||f.push({name:k,offset:e.offset,tweens:aa(a[k],d)});a=ea(b,f);return z(c,{children:[],animatables:b,animations:a,duration:R(\"duration\",a,c,d),delay:R(\"delay\",a,c,d)})}function q(a){function c(){return window.Promise&&new Promise(function(a){return p=a})}function d(a){return g.reversed?g.duration-a:a}function b(a){for(var b=0,c={},d=g.animations,f=d.length;b<f;){var e=d[b],\nk=e.animatable,h=e.tweens,n=h.length-1,l=h[n];n&&(l=r(h,function(b){return a<b.end})[0]||l);for(var h=Math.min(Math.max(a-l.start-l.delay,0),l.duration)/l.duration,w=isNaN(h)?1:l.easing(h,l.elasticity),h=l.to.strings,p=l.round,n=[],m=void 0,m=l.to.numbers.length,t=0;t<m;t++){var x=void 0,x=l.to.numbers[t],q=l.from.numbers[t],x=l.isPath?Y(l.value,w*x):q+w*(x-q);p&&(l.isColor&&2<t||(x=Math.round(x*p)/p));n.push(x)}if(l=h.length)for(m=h[0],w=0;w<l;w++)p=h[w+1],t=n[w],isNaN(t)||(m=p?m+(t+p):m+(t+\" \"));\nelse m=n[0];ha[e.type](k.target,e.property,m,c,k.id);e.currentValue=m;b++}if(b=Object.keys(c).length)for(d=0;d<b;d++)H||(H=E(document.body,\"transform\")?\"transform\":\"-webkit-transform\"),g.animatables[d].target.style[H]=c[d].join(\" \");g.currentTime=a;g.progress=a/g.duration*100}function f(a){if(g[a])g[a](g)}function e(){g.remaining&&!0!==g.remaining&&g.remaining--}function k(a){var k=g.duration,n=g.offset,w=n+g.delay,r=g.currentTime,x=g.reversed,q=d(a);if(g.children.length){var u=g.children,v=u.length;\nif(q>=g.currentTime)for(var G=0;G<v;G++)u[G].seek(q);else for(;v--;)u[v].seek(q)}if(q>=w||!k)g.began||(g.began=!0,f(\"begin\")),f(\"run\");if(q>n&&q<k)b(q);else if(q<=n&&0!==r&&(b(0),x&&e()),q>=k&&r!==k||!k)b(k),x||e();f(\"update\");a>=k&&(g.remaining?(t=h,\"alternate\"===g.direction&&(g.reversed=!g.reversed)):(g.pause(),g.completed||(g.completed=!0,f(\"complete\"),\"Promise\"in window&&(p(),m=c()))),l=0)}a=void 0===a?{}:a;var h,t,l=0,p=null,m=c(),g=fa(a);g.reset=function(){var a=g.direction,c=g.loop;g.currentTime=\n0;g.progress=0;g.paused=!0;g.began=!1;g.completed=!1;g.reversed=\"reverse\"===a;g.remaining=\"alternate\"===a&&1===c?2:c;b(0);for(a=g.children.length;a--;)g.children[a].reset()};g.tick=function(a){h=a;t||(t=h);k((l+h-t)*q.speed)};g.seek=function(a){k(d(a))};g.pause=function(){var a=v.indexOf(g);-1<a&&v.splice(a,1);g.paused=!0};g.play=function(){g.paused&&(g.paused=!1,t=0,l=d(g.currentTime),v.push(g),B||ia())};g.reverse=function(){g.reversed=!g.reversed;t=0;l=d(g.currentTime)};g.restart=function(){g.pause();\ng.reset();g.play()};g.finished=m;g.reset();g.autoplay&&g.play();return g}var ga={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:\"normal\",autoplay:!0,offset:0},S={duration:1E3,delay:0,easing:\"easeOutElastic\",elasticity:500,round:0},W=\"translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective\".split(\" \"),H,h={arr:function(a){return Array.isArray(a)},obj:function(a){return-1<Object.prototype.toString.call(a).indexOf(\"Object\")},\npth:function(a){return h.obj(a)&&a.hasOwnProperty(\"totalLength\")},svg:function(a){return a instanceof SVGElement},dom:function(a){return a.nodeType||h.svg(a)},str:function(a){return\"string\"===typeof a},fnc:function(a){return\"function\"===typeof a},und:function(a){return\"undefined\"===typeof a},hex:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)},rgb:function(a){return/^rgb/.test(a)},hsl:function(a){return/^hsl/.test(a)},col:function(a){return h.hex(a)||h.rgb(a)||h.hsl(a)}},A=function(){function a(a,\nd,b){return(((1-3*b+3*d)*a+(3*b-6*d))*a+3*d)*a}return function(c,d,b,f){if(0<=c&&1>=c&&0<=b&&1>=b){var e=new Float32Array(11);if(c!==d||b!==f)for(var k=0;11>k;++k)e[k]=a(.1*k,c,b);return function(k){if(c===d&&b===f)return k;if(0===k)return 0;if(1===k)return 1;for(var h=0,l=1;10!==l&&e[l]<=k;++l)h+=.1;--l;var l=h+(k-e[l])/(e[l+1]-e[l])*.1,n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=n){for(h=0;4>h;++h){n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===n)break;var m=a(l,c,b)-k,l=l-m/n}k=l}else if(0===\nn)k=l;else{var l=h,h=h+.1,g=0;do m=l+(h-l)/2,n=a(m,c,b)-k,0<n?h=m:l=m;while(1e-7<Math.abs(n)&&10>++g);k=m}return a(k,d,f)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c=\"Quad Cubic Quart Quint Sine Expo Circ Back Elastic\".split(\" \"),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25,\n.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},b={linear:A(.25,.25,.75,.75)},f={},e;for(e in d)f.type=e,d[f.type].forEach(function(a){return function(d,f){b[\"ease\"+a.type+c[f]]=h.fnc(d)?\nd:A.apply($jscomp$this,d)}}(f)),f={type:f.type};return b}(),ha={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,f){b[f]||(b[f]=[]);b[f].push(c+\"(\"+d+\")\")}},v=[],B=0,ia=function(){function a(){B=requestAnimationFrame(c)}function c(c){var b=v.length;if(b){for(var d=0;d<b;)v[d]&&v[d].tick(c),d++;a()}else cancelAnimationFrame(B),B=0}return a}();q.version=\"2.2.0\";q.speed=1;q.running=v;q.remove=\nfunction(a){a=P(a);for(var c=v.length;c--;)for(var d=v[c],b=d.animations,f=b.length;f--;)u(a,b[f].animatable.target)&&(b.splice(f,1),b.length||d.pause())};q.getValue=K;q.path=function(a,c){var d=h.str(a)?e(a)[0]:a,b=c||100;return function(a){return{el:d,property:a,totalLength:N(d)*(b/100)}}};q.setDashoffset=function(a){var c=N(a);a.setAttribute(\"stroke-dasharray\",c);return c};q.bezier=A;q.easings=Q;q.timeline=function(a){var c=q(a);c.pause();c.duration=0;c.add=function(d){c.children.forEach(function(a){a.began=\n!0;a.completed=!0});m(d).forEach(function(b){var d=z(b,D(S,a||{}));d.targets=d.targets||a.targets;b=c.duration;var e=d.offset;d.autoplay=!1;d.direction=c.direction;d.offset=h.und(e)?b:L(e,b);c.began=!0;c.completed=!0;c.seek(d.offset);d=q(d);d.began=!0;d.completed=!0;d.duration>b&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c};return c};q.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return q});","import anime from 'animejs'\nimport tippy from '../../dist/tippy.js'\n\nexport default {\n  header: {\n    animateLogo(el) {\n      anime({\n        targets: el,\n        translateY: [0, 210],\n        duration: 2000,\n        elasticity: 250,\n        delay: 400,\n        rotate: 0.01\n      })\n    },\n    animateVersion(el) {\n      anime({\n        targets: el,\n        scale: [0, 1],\n        opacity: [0, 1],\n        duration: 2500,\n        delay: 1000\n      })\n    },\n    animateItems(el) {\n      el.style.pointerEvents = 'none'\n      anime({\n        targets: el,\n        translateY: [100, 0],\n        opacity: [0, 1],\n        rotate: 0.01,\n        delay: 1500,\n        duration: 2000,\n        elasticity: 200,\n        begin() {\n          el.style.pointerEvents = 'auto'\n        }\n      })\n    }\n  },\n  demo: {\n    htmlTippy(el) {\n      if (el._tippy) return\n\n      const container = el.parentNode\n      const button = container.querySelector('[data-close]')\n      button.onclick = () => el._tippy.hide()\n      tippy(el, {\n        html: container.querySelector('[data-template]'),\n        appendTo: el.parentNode\n      })\n    }\n  },\n  creatingHTMLTemplates: {\n    htmlTippy(el) {\n      if (el._tippy) return\n      const template = document.createElement('div')\n      template.innerHTML = `<h3>Cool <span style=\"color: pink;\">HTML</span> inside here!</h3>`\n      tippy(el, { html: template })\n    }\n  },\n  allOptions: {\n    ajaxTippy(el) {\n      if (el._tippy) return\n\n      const template = el.parentNode.querySelector('#allOptions__ajax-template')\n      const initialText = template.textContent\n\n      const tip = tippy(el, {\n        animation: 'shift-toward',\n        arrow: true,\n        html: template,\n        onShow(instance) {\n          const content = instance.popper.querySelector('.tippy-content')\n\n          if (tip.loading || content.textContent !== initialText) return\n\n          tip.loading = true\n\n          fetch('https://unsplash.it/200/?random')\n            .then(resp => resp.blob())\n            .then(blob => {\n              content.innerHTML = `<img width=\"200\" height=\"200\" src=\"${URL.createObjectURL(\n                blob\n              )}\">`\n              tip.loading = false\n            })\n            .catch(e => {\n              content.innerHTML = 'Loading failed'\n              tip.loading = false\n            })\n        },\n        onHidden(instance) {\n          instance.popper.querySelector(\n            '.tippy-content'\n          ).innerHTML = initialText\n        },\n        popperOptions: {\n          modifiers: {\n            preventOverflow: { enabled: false },\n            hide: { enabled: false }\n          }\n        }\n      })\n    }\n  }\n}\n","import 'normalize.css'\nimport './css/index.scss'\nimport 'focus-visible'\nimport '../dist/tippy.css'\nimport '../dist/themes/light.css'\nimport '../dist/themes/translucent.css'\nimport { h, app } from 'hyperapp'\nimport { withRender } from '@hyperapp/render/browser/module'\nimport tippy from '../dist/tippy.js'\nimport Prism from 'prismjs'\nimport feather from 'feather-icons'\nimport Header from './js/components/Header'\nimport Main from './js/components/Main'\nimport state from './js/state'\nimport actions from './js/actions'\nimport { isBrowser } from './js/utils'\n\nconst view = (state, actions) => (\n  <div class=\"app\">\n    <Header />\n    <Main />\n  </div>\n)\n\nconst main = withRender(app)(state, actions, view, isBrowser && document.body)\n// Prerender\nif (!isBrowser) {\n  const tag = '<body>'\n  const output = './docs/index.html'\n  if (!isBrowser) {\n    const fs = __prerenderRequire('fs')\n    const html = fs.readFileSync(output, 'utf8')\n    fs.writeFileSync(output, html.replace(tag, tag + main))\n  }\n}\n\nif (isBrowser) {\n  setTimeout(() => {\n    Array.prototype.forEach.call(\n      document.querySelectorAll('[data-tippy], [data-tippy-delegate]'),\n      el => {\n        if (!el.hasAttribute('data-local') && el._tippy) {\n          el._tippy.destroy()\n        }\n      }\n    )\n\n    tippy('[title]:not(.tippy):not([data-exclude])')\n    tippy('.tippy', {\n      arrow: true,\n      hideOnClick: false,\n      maxWidth: '250px',\n      animation: 'fade',\n      livePlacement: false,\n      distance: 7\n    })\n    tippy('#demo__event-delegation', { target: 'button' })\n\n    feather.replace()\n    Prism.highlightAll()\n\n    if (location.hash) {\n      document.querySelector(location.hash).scrollIntoView()\n    }\n  })\n}\n"]}