tocco-admin 1.0.23 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +31 -0
- package/dist/03371bf1d5cbb1eab58e3a0130d1e9c2.js +1 -1
- package/dist/0794fa2b9c882c72fa7d586069b61055.js +1 -1
- package/dist/0b923a43967ff893ec63b92dc4f19017.js +1 -1
- package/dist/11dc77ef2ea3a04834945a52f7de2072.js +1 -1
- package/dist/18cfa6de2de3832aa10439fbf963217a.js +1 -1
- package/dist/27ccb71fa24357a0919a861351d5b82d.js +1 -1
- package/dist/2b2fe1a34cdf81c656a47e493ca9d658.js +1 -1
- package/dist/3dcc18a5dee46b57ad7f85c0bee86802.js +1 -1
- package/dist/42b4ce6de00994aa6bf7db7ff2f931a8.js +1 -1
- package/dist/4860a6a7c59b9ed5c779f7201dc1f591.js +1 -1
- package/dist/55892adefebc0d53993fb108151ed150.js +1 -1
- package/dist/5a67fdd5293af0a35defd2574c05cd04.js +1 -1
- package/dist/63b15fb6fc8f897b22a4bf72b7e8452a.js +1 -1
- package/dist/6bb61adbbc13088ee1c32d88b5c7e754.js +1 -1
- package/dist/80a171b7595d1161735e23dec8efddd6.js +1 -1
- package/dist/964646d64dd3196a9c27fe302511414a.js +1 -1
- package/dist/97e72973d750ecb3bc2e75b75bf63c5b.js +1 -1
- package/dist/a98ead014d010899b35ee25c7c225542.js +1 -1
- package/dist/b7b7be8216519adf62d75f123f9c6423.js +1 -1
- package/dist/b8197742452dd2e77090dde34cb2dc4d.js +1 -1
- package/dist/c45445ab45defa960329c6f8e6224e57.js +1 -1
- package/dist/chunk-143.31d413c95f7c3126bfbd.js +2 -0
- package/dist/chunk-143.31d413c95f7c3126bfbd.js.map +1 -0
- package/dist/chunk-361.83c5ca3b4a9ef72d9f38.js +2 -0
- package/dist/chunk-361.83c5ca3b4a9ef72d9f38.js.map +1 -0
- package/dist/chunk-383.905721754c713c2b0724.js +2 -0
- package/dist/chunk-383.905721754c713c2b0724.js.map +1 -0
- package/dist/chunk-489.7e80823c7d6355c4af4c.js +7 -0
- package/dist/chunk-489.7e80823c7d6355c4af4c.js.map +1 -0
- package/dist/chunk-498.2d36d2290220191ff926.js +46 -0
- package/dist/chunk-498.2d36d2290220191ff926.js.map +1 -0
- package/dist/chunk-545.22a8c78eeb1a3939306b.js +2 -0
- package/dist/chunk-545.22a8c78eeb1a3939306b.js.map +1 -0
- package/dist/chunk-611.ecff1d503a54a024cbdd.js +14 -0
- package/dist/chunk-611.ecff1d503a54a024cbdd.js.map +1 -0
- package/dist/chunk-629.ce116beac3ef169d31ae.js +10 -0
- package/dist/chunk-629.ce116beac3ef169d31ae.js.map +1 -0
- package/dist/chunk-701.6b164be8a885098723c6.js +14 -0
- package/dist/chunk-701.6b164be8a885098723c6.js.map +1 -0
- package/dist/chunk-949.8f8d94d20670c1398a90.js +2 -0
- package/dist/chunk-949.8f8d94d20670c1398a90.js.map +1 -0
- package/dist/chunk-actions.f265c0a462d8aae209b9.js +2 -0
- package/dist/chunk-actions.f265c0a462d8aae209b9.js.map +1 -0
- package/dist/chunk-code-editor.08e78d0f72bed68b788d.js +2 -0
- package/dist/chunk-code-editor.08e78d0f72bed68b788d.js.map +1 -0
- package/dist/chunk-vendor-fontawesome.19259210f52981998d80.js +7 -0
- package/dist/chunk-vendor-icons.def9c252b9966805277c.js +1 -0
- package/dist/{chunk-vendor-libphonenumber-js.58c7063367df4c40d4fd.js → chunk-vendor-libphonenumber-js.e3530f647ee55c59de91.js} +1 -1
- package/dist/chunk-vendor-quill.ddf2e2c68559be7ed070.js +21 -0
- package/dist/e0e32c3798e8895695ce5b372a0c989f.js +1 -1
- package/dist/ee694c1bcbdc9439e50f816c39fd1023.js +1 -1
- package/dist/fd40b62490e412d27bc67e660aacae19.js +1 -1
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -0
- package/jest.config.js +4 -4
- package/package.json +5 -3
- package/dist/chunk-229.53a244e1bb228aa849b8.js +0 -1
- package/dist/chunk-314.fd36699dbd136490aa1f.js +0 -1
- package/dist/chunk-333.6e7bb6ee20346be796e1.js +0 -1
- package/dist/chunk-335.7cef6cf94cd9ea8910eb.js +0 -1
- package/dist/chunk-342.8f3c7176df159e2a140e.js +0 -6
- package/dist/chunk-404.34b136a50b9cf1357c4f.js +0 -1
- package/dist/chunk-413.8f9875231f3ea3dc91b3.js +0 -45
- package/dist/chunk-51.ff992f4a4488d7d44357.js +0 -9
- package/dist/chunk-696.4246384f89ce1ee8933f.js +0 -13
- package/dist/chunk-82.fe992385267f6eb716e8.js +0 -13
- package/dist/chunk-actions.f78d1ecab8dfa7a1caec.js +0 -1
- package/dist/chunk-code-editor.051674410719012f9874.js +0 -1
- package/dist/chunk-vendor-fontawesome.7d3f7dd081d6f37ee4c9.js +0 -7
- package/dist/chunk-vendor-icons.e7fe8a1df2e38a2c674d.js +0 -1
- package/dist/chunk-vendor-quill.4404add78e687c1422ce.js +0 -21
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./node_modules/decode-uri-component/index.js","webpack:///./node_modules/filter-obj/index.js","webpack:///./node_modules/history/es/PathUtils.js","webpack:///./node_modules/history/es/LocationUtils.js","webpack:///./node_modules/history/es/createTransitionManager.js","webpack:///./node_modules/history/es/DOMUtils.js","webpack:///./node_modules/history/es/createBrowserHistory.js","webpack:///./node_modules/history/es/createHashHistory.js","webpack:///./node_modules/history/es/createMemoryHistory.js","webpack:///./node_modules/lodash/_LodashWrapper.js","webpack:///./node_modules/lodash/_baseSetData.js","webpack:///./node_modules/lodash/_composeArgs.js","webpack:///./node_modules/lodash/_composeArgsRight.js","webpack:///./node_modules/lodash/_countHolders.js","webpack:///./node_modules/lodash/_createBind.js","webpack:///./node_modules/lodash/_createCtor.js","webpack:///./node_modules/lodash/_createCurry.js","webpack:///./node_modules/lodash/_createFlow.js","webpack:///./node_modules/lodash/_createHybrid.js","webpack:///./node_modules/lodash/_createPartial.js","webpack:///./node_modules/lodash/_createRecurry.js","webpack:///./node_modules/lodash/_createWrap.js","webpack:///./node_modules/lodash/_getData.js","webpack:///./node_modules/lodash/_getFuncName.js","webpack:///./node_modules/lodash/_getHolder.js","webpack:///./node_modules/lodash/_isLaziable.js","webpack:///./node_modules/lodash/_mergeData.js","webpack:///./node_modules/lodash/_reorder.js","webpack:///./node_modules/lodash/_replaceHolders.js","webpack:///./node_modules/lodash/_setData.js","webpack:///./node_modules/lodash/_setWrapToString.js","webpack:///./node_modules/lodash/curry.js","webpack:///./node_modules/lodash/flow.js","webpack:///./node_modules/lodash/negate.js","webpack:///./node_modules/lodash/omitBy.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/split-on-first/index.js","webpack:///./node_modules/strict-uri-encode/index.js","webpack:///./packages/apps/admin/node_modules/react-burger-menu/lib/components/BurgerIcon.js","webpack:///./packages/apps/admin/node_modules/react-burger-menu/lib/components/CrossIcon.js","webpack:///./packages/apps/admin/node_modules/react-burger-menu/lib/helpers/baseStyles.js","webpack:///./packages/apps/admin/node_modules/react-burger-menu/lib/helpers/dom.js","webpack:///./packages/apps/admin/node_modules/react-burger-menu/lib/menuFactory.js","webpack:///./packages/apps/admin/node_modules/react-burger-menu/lib/menus/slide.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/8BitByte.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/BitBuffer.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/ErrorCorrectLevel.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/Polynomial.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/QRCode.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/RSBlock.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/math.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/mode.js","webpack:///./packages/core/tocco-ui/node_modules/qr.js/lib/util.js","webpack:///./packages/core/tocco-ui/node_modules/qrcode.react/lib/index.js","webpack:///./packages/widgets/login/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./packages/widgets/login/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./packages/widgets/login/node_modules/prop-types/index.js","webpack:///./packages/widgets/login/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./packages/widgets/login/node_modules/react-google-recaptcha/lib/esm/recaptcha.js","webpack:///./packages/widgets/login/node_modules/react-async-script/lib/esm/async-script-loader.js","webpack:///./packages/widgets/login/node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","webpack:///./packages/widgets/login/node_modules/react-google-recaptcha/lib/esm/index.js","webpack:///./packages/widgets/login/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./packages/widgets/login/node_modules/react-is/index.js","webpack:///./packages/widgets/sso-login/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./packages/widgets/sso-login/node_modules/prop-types/index.js","webpack:///./packages/widgets/sso-login/node_modules/prop-types/lib/ReactPropTypesSecret.js"],"names":["token","singleMatcher","RegExp","multiMatcher","decodeComponents","components","split","decodeURIComponent","join","err","length","left","slice","right","Array","prototype","concat","call","decode","input","tokens","match","i","module","exports","encodedURI","TypeError","replace","replaceMap","exec","result","entries","Object","keys","key","customDecodeURIComponent","obj","predicate","ret","isArr","isArray","val","indexOf","path","charAt","prefix","test","substr","location","pathname","search","hash","_extends","assign","target","arguments","source","hasOwnProperty","state","currentLocation","hashIndex","searchIndex","parsePath","undefined","decodeURI","e","URIError","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","apply","push","filter","item","notifyListeners","_len","args","_key","forEach","window","document","createElement","node","event","addEventListener","attachEvent","removeEventListener","detachEvent","message","confirm","supportsHistory","ua","navigator","userAgent","history","supportsPopStateOnHashChange","isExtraneousPopstateEvent","_typeof","Symbol","iterator","constructor","PopStateEvent","HashChangeEvent","getHistoryState","props","globalHistory","canUseHistory","needsHashChangeListener","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","handlePop","handleHashChange","forceNextPop","ok","revertPop","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","initialLocation","createHref","href","pushState","prevIndex","nextKeys","replaceState","n","goBack","goForward","listenerCount","checkDOMListeners","isBlocked","block","unblock","listen","unlisten","value","nativeMax","max","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","holdersIndex","rightIndex","rightLength","offset","array","placeholder","createCtor","root","func","bitmask","thisArg","isBind","Ctor","wrapper","this","baseCreate","isObject","thisBinding","createHybrid","createRecurry","getHolder","replaceHolders","arity","index","LodashWrapper","flatRest","getData","getFuncName","isLaziable","fromRight","funcs","prereq","thru","reverse","funcName","data","plant","composeArgs","composeArgsRight","countHolders","reorder","partialsRight","holdersRight","argPos","ary","isAry","isBindKey","isFlip","holdersCount","newHolders","setData","setWrapToString","wrapFunc","isCurry","newData","baseSetData","createBind","createCurry","createPartial","mergeData","toInteger","copyArray","isIndex","nativeMin","min","indexes","arrLength","oldArray","createWrap","curry","guard","flow","createFlow","baseIteratee","negate","pickBy","object","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","validateArrayFormatSeparator","encode","options","strict","encodeURIComponent","keysSorter","sort","a","b","Number","map","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","isNaN","trim","parseBooleans","toLowerCase","parse","query","arrayFormat","arrayFormatSeparator","formatter","accumulator","includes","isEncodedArray","newValue","arrayValue","parserForArrayFormat","create","param","k","reduce","Boolean","stringify","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","x","parseUrl","url","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","string","separator","separatorIndex","str","charCodeAt","toUpperCase","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_interopRequireDefault","__esModule","_react","_react2","_propTypes2","BurgerIcon","_Component","instance","_classCallCheck","_x","_x2","_x3","_again","property","receiver","Function","desc","getOwnPropertyDescriptor","getter","get","parent","getPrototypeOf","_get","hover","subClass","superClass","setPrototypeOf","__proto__","_inherits","position","height","top","opacity","styles","bmBurgerBarsHover","_this","icon","customIcon","extraProps","className","style","width","bmIcon","cloneElement","bar","barClassName","getLineStyle","bmBurgerBars","zIndex","bmBurgerButton","id","onClick","onMouseOver","onIconHoverChange","isMouseIn","onMouseOut","margin","padding","border","fontSize","background","cursor","Component","propTypes","element","defaultProps","CrossIcon","type","transform","bmCross","crossClassName","getCrossStyle","bmCrossButton","tabIndex","isOpen","bool","overlay","MozTransform","MsTransform","OTransform","WebkitTransform","transition","menuWrap","menu","boxSizing","overflow","itemList","display","focusOnFirstMenuItem","firstItem","from","getElementsByClassName","shift","focus","focusOnLastMenuItem","lastItem","pop","focusOnCrossButton","crossButton","getElementById","focusOnMenuItem","siblingType","activeElement","sibling","focusOnMenuButton","menuButton","focusOnNextMenuItem","focusOnPreviousMenuItem","_slicedToArray","arr","_arr","_n","_d","_e","_s","_i","next","done","sliceIterator","_helpersBaseStyles2","_helpersDom","_componentsBurgerIcon2","_componentsCrossIcon2","Error","ARROW_DOWN","ARROW_UP","Menu","ref","_React$useState","useState","_React$useState2","setIsOpen","timeoutId","useRef","toggleOptions","prevIsOpenProp","useEffect","current","toggleMenu","applyWrapperStyles","setTimeout","open","close","onClose","getStyle","getStyles","el","inline","propName","output","noTransition","handleExternalWrapper","wrapperStyles","set","builtStyles","prop","applyOverflow","htmlClassName","querySelector","bodyClassName","console","error","applyClass","classList","pageWrap","pageWrapId","outerContainer","outerContainerId","removeAttribute","setAttribute","clearCurrentTimeout","clearTimeout","onKeyDownOpen","disableCloseOnEsc","onKeyDownClosed","focusOnLastItem","noStateChange","morphShape","svg","lib","select","animate","attr","pathInitial","_toggleOptions$current","onStateChange","disableAutoFocus","blur","body","defaultOnKeyDown","onKeyDown","customOnKeyDown","noOverlay","overlayClassName","disableOverlayClick","customBurgerIcon","onOpen","burgerButtonClassName","burgerBarClassName","onIconStateChange","morphShapeClassName","viewBox","preserveAspectRatio","d","menuClassName","itemListElement","itemListClassName","Children","children","itemClassName","customCrossIcon","crossButtonClassName","oneOfType","oneOf","isRequired","number","_menuFactory","_menuFactory2","mode","QR8bitByte","MODE_8BIT_BYTE","getLength","buffer","write","put","QRBitBuffer","bufIndex","floor","num","putBit","getLengthInBits","bit","L","M","Q","H","math","QRPolynomial","multiply","j","gexp","glog","mod","ratio","BitByte","RSBlock","BitBuffer","util","Polynomial","QRCode","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","proto","addData","isDark","row","col","getModuleCount","make","rsBlocks","getRSBlocks","totalDataCount","dataCount","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","c","minLostPoint","pattern","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","y","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","count","QRMath","LOG_TABLE","EXP_TABLE","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","Mode","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","qrCode","sameCount","darkCount","abs","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_defineProperties","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","ReferenceError","_setPrototypeOf","p","React","QRCodeImpl","ErrorCorrectLevel","convertStr","out","charcode","String","fromCharCode","DEFAULT_PROPS","size","level","bgColor","fgColor","includeMargin","generatePath","ops","start","cell","excavateModules","excavation","h","w","getImageSettings","cells","imageSettings","numCells","defaultSize","scale","excavate","floorX","floorY","ceil","SUPPORTS_PATH2D","Path2D","addPath","QRCodeCanvas","_React$PureComponent","_getPrototypeOf2","imgLoaded","_image","complete","handleImageLoad","update","nextProps","_this$props$imageSett","_nextProps$imageSetti","src","_this$props","qrcode","_canvas","canvas","ctx","getContext","calculatedImageSettings","pixelRatio","devicePixelRatio","fillStyle","fillRect","fill","rdx","cdx","drawImage","_this2","_this$props2","otherProps","canvasStyle","img","imgSrc","onLoad","Fragment","_ref2","PureComponent","QRCodeSVG","_React$PureComponent2","_this$props3","image","xlinkHref","fgPath","shapeRendering","renderAs","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","name","caller","callee","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","componentName","propFullName","secret","getShim","ReactPropTypes","symbol","any","arrayOf","elementType","instanceOf","objectOf","shape","exact","checkPropTypes","PropTypes","ReCAPTCHA","_React$Component","handleExpired","bind","handleErrored","handleChange","handleRecaptchaRef","_proto","getValue","grecaptcha","_widgetId","getResponse","getWidgetId","execute","_executeRequested","executeAsync","Promise","resolve","reject","executionResolve","executionReject","reset","onExpired","onErrored","onChange","explicitRender","sitekey","theme","tabindex","stoken","hl","badge","captcha","appendChild","componentDidMount","componentDidUpdate","componentWillUnmount","delayOfCaptchaIframeRemoving","temporaryNode","firstChild","removeChild","elem","childProps","SCRIPT_MAP","idCount","callbackName","getScriptURL","recaptchaOptions","useRecaptchaNet","globalName","WrappedComponent","wrappedComponentName","AsyncScriptLoader","context","__scriptURL","asyncScriptLoaderGetScriptLoaderID","__scriptLoaderID","setupScriptURL","asyncScriptLoaderHandleLoad","asyncScriptOnLoad","asyncScriptLoaderTriggerOnScriptLoaded","mapEntry","loaded","obsKey","observers","_this3","scriptURL","_options","scriptId","entry","errored","script","attribute","async","attributes","callObserverFuncAndRemoveObserver","observersMap","onload","observer","onerror","removeOnUnmount","allScripts","getElementsByTagName","parentNode","forwardedRef","ForwardedComponent","forwardRef","for","f","g","l","m","q","t","v","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","bigint"],"mappings":"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","file":"chunk-629.ce116beac3ef169d31ae.js","sourcesContent":["'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","export var addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nexport var stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nexport var hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nexport var stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nexport var stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nexport var parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nexport var createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};","var _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\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport { parsePath } from './PathUtils';\n\nexport var createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n};\n\nexport var locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n};","import warning from 'warning';\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n warning(prompt == null, 'A history supports only one prompt at a time');\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message');\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(fn) {\n var isActive = true;\n\n var listener = function listener() {\n if (isActive) fn.apply(undefined, arguments);\n };\n\n listeners.push(listener);\n\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexport default createTransitionManager;","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexport var addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nexport var removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nexport var getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nexport var supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nexport var supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nexport var supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};\n\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\nexport var isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\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\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation } from './LocationUtils';\nimport { addLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';\nimport createTransitionManager from './createTransitionManager';\nimport { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsHistory, supportsPopStateOnHashChange, isExtraneousPopstateEvent } from './DOMUtils';\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant(canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = stripBasename(path, basename);\n\n return createLocation(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + createPath(location);\n };\n\n var push = function push(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n addEventListener(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) addEventListener(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n removeEventListener(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) removeEventListener(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createBrowserHistory;","var _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\nimport warning from 'warning';\nimport invariant from 'invariant';\nimport { createLocation, locationsAreEqual } from './LocationUtils';\nimport { addLeadingSlash, stripLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';\nimport createTransitionManager from './createTransitionManager';\nimport { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsGoWithoutReloadUsingHash } from './DOMUtils';\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n invariant(canUseDOM, 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = stripBasename(path, basename);\n\n return createLocation(path);\n };\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n };\n\n var push = function push(path, state) {\n warning(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n warning(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n addEventListener(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n removeEventListener(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createHashHistory;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\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\nimport warning from 'warning';\nimport { createPath } from './PathUtils';\nimport { createLocation } from './LocationUtils';\nimport createTransitionManager from './createTransitionManager';\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = createTransitionManager();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = createPath;\n\n var push = function push(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexport default createMemoryHistory;","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\nmodule.exports = composeArgs;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nmodule.exports = composeArgsRight;\n","/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\nmodule.exports = countHolders;\n","var createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\nmodule.exports = createBind;\n","var baseCreate = require('./_baseCreate'),\n isObject = require('./isObject');\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n}\n\nmodule.exports = createCtor;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n createHybrid = require('./_createHybrid'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createCurry;\n","var LodashWrapper = require('./_LodashWrapper'),\n flatRest = require('./_flatRest'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n isArray = require('./isArray'),\n isLaziable = require('./_isLaziable');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\nmodule.exports = createFlow;\n","var composeArgs = require('./_composeArgs'),\n composeArgsRight = require('./_composeArgsRight'),\n countHolders = require('./_countHolders'),\n createCtor = require('./_createCtor'),\n createRecurry = require('./_createRecurry'),\n getHolder = require('./_getHolder'),\n reorder = require('./_reorder'),\n replaceHolders = require('./_replaceHolders'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\nmodule.exports = createHybrid;\n","var apply = require('./_apply'),\n createCtor = require('./_createCtor'),\n root = require('./_root');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\nmodule.exports = createPartial;\n","var isLaziable = require('./_isLaziable'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nmodule.exports = createRecurry;\n","var baseSetData = require('./_baseSetData'),\n createBind = require('./_createBind'),\n createCurry = require('./_createCurry'),\n createHybrid = require('./_createHybrid'),\n createPartial = require('./_createPartial'),\n getData = require('./_getData'),\n mergeData = require('./_mergeData'),\n setData = require('./_setData'),\n setWrapToString = require('./_setWrapToString'),\n toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n}\n\nmodule.exports = createWrap;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","/**\n * This method returns an empty string.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {string} Returns the empty string.\n * @example\n *\n * _.times(2, _.stubString);\n * // => ['', '']\n */\nfunction stubString() {\n return '';\n}\n\nmodule.exports = stubString;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var copyArray = require('./_copyArray'),\n isIndex = require('./_isIndex');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\nmodule.exports = reorder;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var createWrap = require('./_createWrap');\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nmodule.exports = curry;\n","var createFlow = require('./_createFlow');\n\n/**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flow = createFlow();\n\nmodule.exports = flow;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nmodule.exports = negate;\n","var baseIteratee = require('./_baseIteratee'),\n negate = require('./negate'),\n pickBy = require('./pickBy');\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return pickBy(object, negate(baseIteratee(predicate)));\n}\n\nmodule.exports = omitBy;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\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 _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\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\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar BurgerIcon = (function (_Component) {\n _inherits(BurgerIcon, _Component);\n\n function BurgerIcon(props) {\n _classCallCheck(this, BurgerIcon);\n\n _get(Object.getPrototypeOf(BurgerIcon.prototype), 'constructor', this).call(this, props);\n this.state = {\n hover: false\n };\n }\n\n _createClass(BurgerIcon, [{\n key: 'getLineStyle',\n value: function getLineStyle(index) {\n return _extends({\n position: 'absolute',\n height: '20%',\n left: 0,\n right: 0,\n top: 20 * (index * 2) + '%',\n opacity: this.state.hover ? 0.6 : 1\n }, this.state.hover && this.props.styles.bmBurgerBarsHover);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon = undefined;\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-icon ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({ width: '100%', height: '100%' }, this.props.styles.bmIcon)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement(\n 'span',\n null,\n [0, 1, 2].map(function (bar) {\n return _react2['default'].createElement('span', {\n key: bar,\n className: ('bm-burger-bars ' + _this.props.barClassName + ' ' + (_this.state.hover ? 'bm-burger-bars-hover' : '')).trim(),\n style: _extends({}, _this.getLineStyle(bar), _this.props.styles.bmBurgerBars)\n });\n })\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n {\n className: ('bm-burger-button ' + this.props.className).trim(),\n style: _extends({ zIndex: 1000 }, this.props.styles.bmBurgerButton)\n },\n _react2['default'].createElement(\n 'button',\n {\n id: 'react-burger-menu-btn',\n onClick: this.props.onClick,\n onMouseOver: function () {\n _this.setState({ hover: true });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({ isMouseIn: true });\n }\n },\n onMouseOut: function () {\n _this.setState({ hover: false });\n if (_this.props.onIconHoverChange) {\n _this.props.onIconHoverChange({ isMouseIn: false });\n }\n },\n style: buttonStyle\n },\n 'Open Menu'\n ),\n icon\n );\n }\n }]);\n\n return BurgerIcon;\n})(_react.Component);\n\nexports['default'] = BurgerIcon;\n\nBurgerIcon.propTypes = {\n barClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n styles: _propTypes2['default'].object\n};\n\nBurgerIcon.defaultProps = {\n barClassName: '',\n className: '',\n styles: {}\n};\nmodule.exports = exports['default'];","'use strict';\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 _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\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\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar CrossIcon = (function (_Component) {\n _inherits(CrossIcon, _Component);\n\n function CrossIcon() {\n _classCallCheck(this, CrossIcon);\n\n _get(Object.getPrototypeOf(CrossIcon.prototype), 'constructor', this).apply(this, arguments);\n }\n\n _createClass(CrossIcon, [{\n key: 'getCrossStyle',\n value: function getCrossStyle(type) {\n return {\n position: 'absolute',\n width: 3,\n height: 14,\n transform: type === 'before' ? 'rotate(45deg)' : 'rotate(-45deg)'\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon;\n var buttonWrapperStyle = {\n position: 'absolute',\n width: 24,\n height: 24,\n right: 8,\n top: 8\n };\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n zIndex: 1,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-cross ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({ width: '100%', height: '100%' }, this.props.styles.bmCross)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement(\n 'span',\n { style: { position: 'absolute', top: '6px', right: '14px' } },\n ['before', 'after'].map(function (type, i) {\n return _react2['default'].createElement('span', {\n key: i,\n className: ('bm-cross ' + _this.props.crossClassName).trim(),\n style: _extends({}, _this.getCrossStyle(type), _this.props.styles.bmCross)\n });\n })\n );\n }\n\n return _react2['default'].createElement(\n 'div',\n {\n className: ('bm-cross-button ' + this.props.className).trim(),\n style: _extends({}, buttonWrapperStyle, this.props.styles.bmCrossButton)\n },\n _react2['default'].createElement(\n 'button',\n {\n id: 'react-burger-cross-btn',\n onClick: this.props.onClick,\n style: buttonStyle,\n tabIndex: this.props.isOpen ? 0 : -1\n },\n 'Close Menu'\n ),\n icon\n );\n }\n }]);\n\n return CrossIcon;\n})(_react.Component);\n\nexports['default'] = CrossIcon;\n\nCrossIcon.propTypes = {\n crossClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n isOpen: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object\n};\n\nCrossIcon.defaultProps = {\n crossClassName: '',\n className: '',\n styles: {},\n isOpen: false\n};\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar styles = {\n overlay: function overlay(isOpen) {\n return {\n position: 'fixed',\n zIndex: 1000,\n width: '100%',\n height: '100%',\n background: 'rgba(0, 0, 0, 0.3)',\n opacity: isOpen ? 1 : 0,\n MozTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n MsTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n OTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transition: isOpen ? 'opacity 0.3s' : 'opacity 0.3s, transform 0s 0.3s'\n };\n },\n\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n zIndex: 1100,\n width: width,\n height: '100%',\n MozTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.5s'\n };\n },\n\n menu: function menu() {\n return {\n height: '100%',\n boxSizing: 'border-box',\n overflow: 'auto'\n };\n },\n\n itemList: function itemList() {\n return {\n height: '100%'\n };\n },\n\n item: function item() {\n return {\n display: 'block'\n };\n }\n};\n\nexports['default'] = styles;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.focusOnFirstMenuItem = focusOnFirstMenuItem;\nexports.focusOnLastMenuItem = focusOnLastMenuItem;\nexports.focusOnCrossButton = focusOnCrossButton;\nexports.focusOnMenuButton = focusOnMenuButton;\nexports.focusOnMenuItem = focusOnMenuItem;\nexports.focusOnNextMenuItem = focusOnNextMenuItem;\nexports.focusOnPreviousMenuItem = focusOnPreviousMenuItem;\n\nfunction focusOnFirstMenuItem() {\n var firstItem = Array.from(document.getElementsByClassName('bm-item')).shift();\n if (firstItem) {\n firstItem.focus();\n }\n}\n\nfunction focusOnLastMenuItem() {\n var lastItem = Array.from(document.getElementsByClassName('bm-item')).pop();\n if (lastItem) {\n lastItem.focus();\n }\n}\n\nfunction focusOnCrossButton() {\n var crossButton = document.getElementById('react-burger-cross-btn');\n if (crossButton) {\n crossButton.focus();\n }\n}\n\nfunction focusOnMenuButton() {\n var menuButton = document.getElementById('react-burger-menu-btn');\n if (menuButton) {\n menuButton.focus();\n }\n}\n\nfunction focusOnMenuItem(siblingType) {\n if (document.activeElement.className.includes('bm-item')) {\n var sibling = document.activeElement[siblingType];\n if (sibling) {\n sibling.focus();\n } else {\n focusOnCrossButton();\n }\n } else {\n if (siblingType === 'previousElementSibling') {\n focusOnLastMenuItem();\n } else {\n focusOnFirstMenuItem();\n }\n }\n}\n\nfunction focusOnNextMenuItem() {\n focusOnMenuItem('nextElementSibling');\n}\n\nfunction focusOnPreviousMenuItem() {\n focusOnMenuItem('previousElementSibling');\n}","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\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\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _helpersBaseStyles = require('./helpers/baseStyles');\n\nvar _helpersBaseStyles2 = _interopRequireDefault(_helpersBaseStyles);\n\nvar _helpersDom = require('./helpers/dom');\n\nvar _componentsBurgerIcon = require('./components/BurgerIcon');\n\nvar _componentsBurgerIcon2 = _interopRequireDefault(_componentsBurgerIcon);\n\nvar _componentsCrossIcon = require('./components/CrossIcon');\n\nvar _componentsCrossIcon2 = _interopRequireDefault(_componentsCrossIcon);\n\nexports['default'] = function (styles) {\n if (!styles) {\n throw new Error('No styles supplied');\n }\n\n var ARROW_DOWN = 'ArrowDown';\n var ARROW_UP = 'ArrowUp';\n var ESCAPE = 'Escape';\n var SPACE = ' ';\n var HOME = 'Home';\n var END = 'End';\n\n function usePrevious(value) {\n var ref = _react2['default'].useRef(value);\n _react2['default'].useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n }\n\n var Menu = function Menu(props) {\n var _React$useState = _react2['default'].useState(false);\n\n var _React$useState2 = _slicedToArray(_React$useState, 2);\n\n var isOpen = _React$useState2[0];\n var setIsOpen = _React$useState2[1];\n\n var timeoutId = _react2['default'].useRef();\n var toggleOptions = _react2['default'].useRef({});\n var prevIsOpenProp = usePrevious(props.isOpen);\n\n _react2['default'].useEffect(function () {\n if (props.isOpen) {\n toggleMenu({ isOpen: true, noStateChange: true });\n }\n\n return function cleanup() {\n applyWrapperStyles(false);\n clearCurrentTimeout();\n };\n }, []);\n\n _react2['default'].useEffect(function () {\n var wasToggled = typeof props.isOpen !== 'undefined' && props.isOpen !== isOpen && props.isOpen !== prevIsOpenProp;\n\n if (wasToggled) {\n toggleMenu();\n // Toggling changes SVG animation requirements, so defer these until next update\n return;\n }\n\n if (styles.svg) {\n (function () {\n var morphShape = document.getElementById('bm-morph-shape');\n var path = styles.svg.lib(morphShape).select('path');\n\n if (isOpen) {\n // Animate SVG path\n styles.svg.animate(path);\n } else {\n // Reset path (timeout ensures animation happens off screen)\n setTimeout(function () {\n path.attr('d', styles.svg.pathInitial);\n }, 300);\n }\n })();\n }\n });\n\n _react2['default'].useEffect(function () {\n var _toggleOptions$current = toggleOptions.current;\n var noStateChange = _toggleOptions$current.noStateChange;\n var focusOnLastItem = _toggleOptions$current.focusOnLastItem;\n\n if (!noStateChange) {\n props.onStateChange({ isOpen: isOpen });\n }\n\n if (!props.disableAutoFocus) {\n // For accessibility reasons, ensures that when we toggle open,\n // we focus the first or last menu item according to given parameter\n if (isOpen) {\n focusOnLastItem ? (0, _helpersDom.focusOnLastMenuItem)() : (0, _helpersDom.focusOnFirstMenuItem)();\n } else {\n if (document.activeElement) {\n document.activeElement.blur();\n } else {\n document.body.blur(); // Needed for IE\n }\n }\n }\n\n // Timeout ensures wrappers are cleared after animation finishes\n clearCurrentTimeout();\n timeoutId.current = setTimeout(function () {\n timeoutId.current = null;\n if (!isOpen) {\n applyWrapperStyles(false);\n }\n }, 500);\n\n // Bind keydown handlers (or custom function if supplied)\n var defaultOnKeyDown = isOpen ? onKeyDownOpen : onKeyDownClosed;\n var onKeyDown = props.customOnKeyDown || defaultOnKeyDown;\n window.addEventListener('keydown', onKeyDown);\n\n return function cleanup() {\n window.removeEventListener('keydown', onKeyDown);\n };\n }, [isOpen]);\n\n function toggleMenu() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n toggleOptions.current = options;\n\n applyWrapperStyles();\n\n // Ensures wrapper styles are applied before the menu is toggled\n setTimeout(function () {\n setIsOpen(function (open) {\n return typeof options.isOpen !== 'undefined' ? options.isOpen : !open;\n });\n });\n }\n\n function open() {\n if (typeof props.onOpen === 'function') {\n props.onOpen();\n } else {\n toggleMenu();\n }\n }\n\n function close() {\n if (typeof props.onClose === 'function') {\n props.onClose();\n } else {\n toggleMenu();\n }\n }\n\n function getStyle(style, index) {\n var width = props.width;\n var right = props.right;\n\n var formattedWidth = typeof width !== 'string' ? width + 'px' : width;\n return style(isOpen, formattedWidth, right, index);\n }\n\n // Builds styles incrementally for a given element\n function getStyles(el, index, inline) {\n var propName = 'bm' + el.replace(el.charAt(0), el.charAt(0).toUpperCase());\n\n // Set base styles\n var output = _helpersBaseStyles2['default'][el] ? getStyle(_helpersBaseStyles2['default'][el]) : {};\n\n // Add animation-specific styles\n if (styles[el]) {\n output = _extends({}, output, getStyle(styles[el], index + 1));\n }\n\n // Add custom styles\n if (props.styles[propName]) {\n output = _extends({}, output, props.styles[propName]);\n }\n\n // Add element inline styles\n if (inline) {\n output = _extends({}, output, inline);\n }\n\n // Remove transition if required\n // (useful if rendering open initially)\n if (props.noTransition) {\n delete output.transition;\n }\n\n return output;\n }\n\n // Sets or unsets styles on DOM elements outside the menu component\n // This is necessary for correct page interaction with some of the menus\n // Throws and returns if the required external elements don't exist,\n // which means any external page animations won't be applied\n function handleExternalWrapper(id, wrapperStyles, set) {\n var wrapper = document.getElementById(id);\n\n if (!wrapper) {\n console.error(\"Element with ID '\" + id + \"' not found\");\n return;\n }\n\n var builtStyles = getStyle(wrapperStyles);\n\n for (var prop in builtStyles) {\n if (builtStyles.hasOwnProperty(prop)) {\n wrapper.style[prop] = set ? builtStyles[prop] : '';\n }\n }\n\n // Prevent any horizontal scroll\n // Only set overflow-x as an inline style if htmlClassName or\n // bodyClassName is not passed in. Otherwise, it is up to the caller to\n // decide if they want to set the overflow style in CSS using the custom\n // class names\n var applyOverflow = function applyOverflow(el) {\n return el.style['overflow-x'] = set ? 'hidden' : '';\n };\n if (!props.htmlClassName) {\n applyOverflow(document.querySelector('html'));\n }\n if (!props.bodyClassName) {\n applyOverflow(document.querySelector('body'));\n }\n }\n\n // Applies component-specific styles to external wrapper elements\n function applyWrapperStyles() {\n var set = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n var applyClass = function applyClass(el, className) {\n return el.classList[set ? 'add' : 'remove'](className);\n };\n\n if (props.htmlClassName) {\n applyClass(document.querySelector('html'), props.htmlClassName);\n }\n if (props.bodyClassName) {\n applyClass(document.querySelector('body'), props.bodyClassName);\n }\n\n if (styles.pageWrap && props.pageWrapId) {\n handleExternalWrapper(props.pageWrapId, styles.pageWrap, set);\n }\n\n if (styles.outerContainer && props.outerContainerId) {\n handleExternalWrapper(props.outerContainerId, styles.outerContainer, set);\n }\n\n var menuWrap = document.querySelector('.bm-menu-wrap');\n if (menuWrap) {\n if (set) {\n menuWrap.removeAttribute('hidden');\n } else {\n menuWrap.setAttribute('hidden', true);\n }\n }\n }\n\n // Avoids potentially attempting to update an unmounted component\n function clearCurrentTimeout() {\n if (timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }\n\n function onKeyDownOpen(e) {\n e = e || window.event;\n switch (e.key) {\n case ESCAPE:\n // Close on ESC, unless disabled\n if (!props.disableCloseOnEsc) {\n close();\n (0, _helpersDom.focusOnMenuButton)();\n }\n break;\n case ARROW_DOWN:\n (0, _helpersDom.focusOnNextMenuItem)();\n break;\n case ARROW_UP:\n (0, _helpersDom.focusOnPreviousMenuItem)();\n break;\n case HOME:\n (0, _helpersDom.focusOnFirstMenuItem)();\n break;\n case END:\n (0, _helpersDom.focusOnLastMenuItem)();\n break;\n }\n }\n\n function onKeyDownClosed(e) {\n e = e || window.event;\n // Key downs came from menu button\n if (e.target === document.getElementById('react-burger-menu-btn')) {\n switch (e.key) {\n case ARROW_DOWN:\n case SPACE:\n // If down arrow, space or enter, open menu and focus on first menuitem\n toggleMenu();\n break;\n case ARROW_UP:\n // If arrow up, open menu and focus on last menuitem\n toggleMenu({ focusOnLastItem: true });\n break;\n }\n }\n }\n\n function handleOverlayClick() {\n if (props.disableOverlayClick === true || typeof props.disableOverlayClick === 'function' && props.disableOverlayClick()) {\n return;\n } else {\n close();\n }\n }\n\n return _react2['default'].createElement(\n 'div',\n null,\n !props.noOverlay && _react2['default'].createElement('div', {\n className: ('bm-overlay ' + props.overlayClassName).trim(),\n onClick: handleOverlayClick,\n style: getStyles('overlay')\n }),\n props.customBurgerIcon !== false && _react2['default'].createElement(\n 'div',\n { style: getStyles('burgerIcon') },\n _react2['default'].createElement(_componentsBurgerIcon2['default'], {\n onClick: open,\n styles: props.styles,\n customIcon: props.customBurgerIcon,\n className: props.burgerButtonClassName,\n barClassName: props.burgerBarClassName,\n onIconStateChange: props.onIconStateChange\n })\n ),\n _react2['default'].createElement(\n 'div',\n {\n id: props.id,\n className: ('bm-menu-wrap ' + props.className).trim(),\n style: getStyles('menuWrap'),\n 'aria-hidden': !isOpen\n },\n styles.svg && _react2['default'].createElement(\n 'div',\n {\n id: 'bm-morph-shape',\n className: ('bm-morph-shape ' + props.morphShapeClassName).trim(),\n style: getStyles('morphShape')\n },\n _react2['default'].createElement(\n 'svg',\n {\n width: '100%',\n height: '100%',\n viewBox: '0 0 100 800',\n preserveAspectRatio: 'none'\n },\n _react2['default'].createElement('path', { d: styles.svg.pathInitial })\n )\n ),\n _react2['default'].createElement(\n 'div',\n {\n className: ('bm-menu ' + props.menuClassName).trim(),\n style: getStyles('menu')\n },\n _react2['default'].createElement(props.itemListElement, {\n className: ('bm-item-list ' + props.itemListClassName).trim(),\n style: getStyles('itemList')\n }, _react2['default'].Children.map(props.children, function (item, index) {\n if (item) {\n var classList = ['bm-item', props.itemClassName, item.props.className].filter(function (className) {\n return !!className;\n }).join(' ');\n var extraProps = {\n key: index,\n className: classList,\n style: getStyles('item', index, item.props.style),\n tabIndex: isOpen ? 0 : -1\n };\n return _react2['default'].cloneElement(item, extraProps);\n }\n }))\n ),\n props.customCrossIcon !== false && _react2['default'].createElement(\n 'div',\n { style: getStyles('closeButton') },\n _react2['default'].createElement(_componentsCrossIcon2['default'], {\n onClick: close,\n styles: props.styles,\n customIcon: props.customCrossIcon,\n className: props.crossButtonClassName,\n crossClassName: props.crossClassName,\n isOpen: isOpen\n })\n )\n )\n );\n };\n\n Menu.propTypes = {\n bodyClassName: _propTypes2['default'].string,\n burgerBarClassName: _propTypes2['default'].string,\n burgerButtonClassName: _propTypes2['default'].string,\n className: _propTypes2['default'].string,\n crossButtonClassName: _propTypes2['default'].string,\n crossClassName: _propTypes2['default'].string,\n customBurgerIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customCrossIcon: _propTypes2['default'].oneOfType([_propTypes2['default'].element, _propTypes2['default'].oneOf([false])]),\n customOnKeyDown: _propTypes2['default'].func,\n disableAutoFocus: _propTypes2['default'].bool,\n disableCloseOnEsc: _propTypes2['default'].bool,\n disableOverlayClick: _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].func]),\n htmlClassName: _propTypes2['default'].string,\n id: _propTypes2['default'].string,\n isOpen: _propTypes2['default'].bool,\n itemClassName: _propTypes2['default'].string,\n itemListClassName: _propTypes2['default'].string,\n itemListElement: _propTypes2['default'].oneOf(['div', 'nav']),\n menuClassName: _propTypes2['default'].string,\n morphShapeClassName: _propTypes2['default'].string,\n noOverlay: _propTypes2['default'].bool,\n noTransition: _propTypes2['default'].bool,\n onClose: _propTypes2['default'].func,\n onIconHoverChange: _propTypes2['default'].func,\n onOpen: _propTypes2['default'].func,\n onStateChange: _propTypes2['default'].func,\n outerContainerId: styles && styles.outerContainer ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n overlayClassName: _propTypes2['default'].string,\n pageWrapId: styles && styles.pageWrap ? _propTypes2['default'].string.isRequired : _propTypes2['default'].string,\n right: _propTypes2['default'].bool,\n styles: _propTypes2['default'].object,\n width: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].string])\n };\n\n Menu.defaultProps = {\n bodyClassName: '',\n burgerBarClassName: '',\n burgerButtonClassName: '',\n className: '',\n crossButtonClassName: '',\n crossClassName: '',\n disableAutoFocus: false,\n disableCloseOnEsc: false,\n htmlClassName: '',\n id: '',\n itemClassName: '',\n itemListClassName: '',\n menuClassName: '',\n morphShapeClassName: '',\n noOverlay: false,\n noTransition: false,\n onStateChange: function onStateChange() {},\n outerContainerId: '',\n overlayClassName: '',\n pageWrapId: '',\n styles: {},\n width: 300,\n onIconHoverChange: function onIconHoverChange() {},\n itemListElement: 'nav'\n };\n\n return Menu;\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {};\n\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = require('react');\n\nvar PropTypes = require('prop-types'); // qr.js doesn't handle error level of zero (M) so we need to do it right,\n// thus the deep require.\n\n\nvar QRCodeImpl = require('qr.js/lib/QRCode');\n\nvar ErrorCorrectLevel = require('qr.js/lib/ErrorCorrectLevel'); // TODO: pull this off of the QRCode class type so it matches.\n\n\n// Convert from UTF-16, forcing the use of byte-mode encoding in our QR Code.\n// This allows us to encode Hanji, Kanji, emoji, etc. Ideally we'd do more\n// detection and not resort to byte-mode if possible, but we're trading off\n// a smaller library for a smaller amount of data we can potentially encode.\n// Based on http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\nfunction convertStr(str) {\n var out = '';\n\n for (var i = 0; i < str.length; i++) {\n var charcode = str.charCodeAt(i);\n\n if (charcode < 0x0080) {\n out += String.fromCharCode(charcode);\n } else if (charcode < 0x0800) {\n out += String.fromCharCode(0xc0 | charcode >> 6);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n out += String.fromCharCode(0xe0 | charcode >> 12);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else {\n // This is a surrogate pair, so we'll reconsitute the pieces and work\n // from that\n i++;\n charcode = 0x10000 + ((charcode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n out += String.fromCharCode(0xf0 | charcode >> 18);\n out += String.fromCharCode(0x80 | charcode >> 12 & 0x3f);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n }\n }\n\n return out;\n}\n\nvar DEFAULT_PROPS = {\n size: 128,\n level: 'L',\n bgColor: '#FFFFFF',\n fgColor: '#000000',\n includeMargin: false\n};\nvar PROP_TYPES = process.env.NODE_ENV !== 'production' ? {\n value: PropTypes.string.isRequired,\n size: PropTypes.number,\n level: PropTypes.oneOf(['L', 'M', 'Q', 'H']),\n bgColor: PropTypes.string,\n fgColor: PropTypes.string,\n includeMargin: PropTypes.bool,\n imageSettings: PropTypes.shape({\n src: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n excavate: PropTypes.bool,\n x: PropTypes.number,\n y: PropTypes.number\n })\n} : {};\nvar MARGIN_SIZE = 4; // This is *very* rough estimate of max amount of QRCode allowed to be covered.\n// It is \"wrong\" in a lot of ways (area is a terrible way to estimate, it\n// really should be number of modules covered), but if for some reason we don't\n// get an explicit height or width, I'd rather default to something than throw.\n\nvar DEFAULT_IMG_SCALE = 0.1;\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // We could just do this in generatePath, except that we want to support\n// non-Path2D canvas, so we need to keep it an explicit step.\n\n\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n\n return false;\n });\n });\n}\n\nfunction getImageSettings(props, cells) {\n var imageSettings = props.imageSettings,\n size = props.size,\n includeMargin = props.includeMargin;\n\n if (imageSettings == null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n var scale = numCells / size;\n var w = (imageSettings.width || defaultSize) * scale;\n var h = (imageSettings.height || defaultSize) * scale;\n var x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n var y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n var excavation = null;\n\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = {\n x: floorX,\n y: floorY,\n w: ceilW,\n h: ceilH\n };\n }\n\n return {\n x: x,\n y: y,\n h: h,\n w: w,\n excavation: excavation\n };\n} // For canvas we're going to switch our drawing mode based on whether or not\n// the environment supports Path2D. We only need the constructor to be\n// supported, but Edge doesn't actually support the path (string) type\n// argument. Luckily it also doesn't support the addPath() method. We can\n// treat that as the same thing.\n\n\nvar SUPPORTS_PATH2D = function () {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n\n return true;\n}();\n\nvar QRCodeCanvas =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(QRCodeCanvas, _React$PureComponent);\n\n function QRCodeCanvas() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, QRCodeCanvas);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(QRCodeCanvas)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"_canvas\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_image\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n imgLoaded: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleImageLoad\", function () {\n _this.setState({\n imgLoaded: true\n });\n });\n\n return _this;\n }\n\n _createClass(QRCodeCanvas, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this._image && this._image.complete) {\n this.handleImageLoad();\n }\n\n this.update();\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this$props$imageSett, _nextProps$imageSetti;\n\n var currentSrc = (_this$props$imageSett = this.props.imageSettings) === null || _this$props$imageSett === void 0 ? void 0 : _this$props$imageSett.src;\n var nextSrc = (_nextProps$imageSetti = nextProps.imageSettings) === null || _nextProps$imageSetti === void 0 ? void 0 : _nextProps$imageSetti.src;\n\n if (currentSrc !== nextSrc) {\n this.setState({\n imgLoaded: false\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: \"update\",\n value: function update() {\n var _this$props = this.props,\n value = _this$props.value,\n size = _this$props.size,\n level = _this$props.level,\n bgColor = _this$props.bgColor,\n fgColor = _this$props.fgColor,\n includeMargin = _this$props.includeMargin,\n imageSettings = _this$props.imageSettings; // We'll use type===-1 to force QRCode to automatically pick the best type\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n\n if (this._canvas != null) {\n var canvas = this._canvas;\n var ctx = canvas.getContext('2d');\n\n if (!ctx) {\n return;\n }\n\n var cells = qrcode.modules;\n\n if (cells === null) {\n return;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n } // We're going to scale this so that the number of drawable units\n // matches the number of cells. This avoids rounding issues, but does\n // result in some potentially unwanted single pixel issues between\n // blocks, only in environments that don't support Path2D.\n\n\n var pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n var scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale); // Draw solid background, only paint dark modules.\n\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n\n if (SUPPORTS_PATH2D) {\n // $FlowFixMe: Path2D c'tor doesn't support args yet.\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n\n if (this.state.imgLoaded && this._image && calculatedImageSettings != null) {\n ctx.drawImage(this._image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n value = _this$props2.value,\n size = _this$props2.size,\n level = _this$props2.level,\n bgColor = _this$props2.bgColor,\n fgColor = _this$props2.fgColor,\n style = _this$props2.style,\n includeMargin = _this$props2.includeMargin,\n imageSettings = _this$props2.imageSettings,\n otherProps = _objectWithoutProperties(_this$props2, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"style\", \"includeMargin\", \"imageSettings\"]);\n\n var canvasStyle = _objectSpread({\n height: size,\n width: size\n }, style);\n\n var img = null;\n var imgSrc = imageSettings && imageSettings.src;\n\n if (imageSettings != null && imgSrc != null) {\n img = React.createElement(\"img\", {\n src: imgSrc,\n style: {\n display: 'none'\n },\n onLoad: this.handleImageLoad,\n ref: function ref(_ref) {\n return _this2._image = _ref;\n }\n });\n }\n\n return React.createElement(React.Fragment, null, React.createElement(\"canvas\", _extends({\n style: canvasStyle,\n height: size,\n width: size,\n ref: function ref(_ref2) {\n return _this2._canvas = _ref2;\n }\n }, otherProps)), img);\n }\n }]);\n\n return QRCodeCanvas;\n}(React.PureComponent);\n\n_defineProperty(QRCodeCanvas, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeCanvas.propTypes = PROP_TYPES;\n}\n\nvar QRCodeSVG =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(QRCodeSVG, _React$PureComponent2);\n\n function QRCodeSVG() {\n _classCallCheck(this, QRCodeSVG);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(QRCodeSVG).apply(this, arguments));\n }\n\n _createClass(QRCodeSVG, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n value = _this$props3.value,\n size = _this$props3.size,\n level = _this$props3.level,\n bgColor = _this$props3.bgColor,\n fgColor = _this$props3.fgColor,\n includeMargin = _this$props3.includeMargin,\n imageSettings = _this$props3.imageSettings,\n otherProps = _objectWithoutProperties(_this$props3, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"includeMargin\", \"imageSettings\"]); // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n var cells = qrcode.modules;\n\n if (cells === null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n var image = null;\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n\n image = React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n } // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n\n var fgPath = generatePath(cells, margin);\n return React.createElement(\"svg\", _extends({\n shapeRendering: \"crispEdges\",\n height: size,\n width: size,\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n }, otherProps), React.createElement(\"path\", {\n fill: bgColor,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }), React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath\n }), image);\n }\n }]);\n\n return QRCodeSVG;\n}(React.PureComponent);\n\n_defineProperty(QRCodeSVG, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeSVG.propTypes = PROP_TYPES;\n}\n\nvar QRCode = function QRCode(props) {\n var renderAs = props.renderAs,\n otherProps = _objectWithoutProperties(props, [\"renderAs\"]);\n\n var Component = renderAs === 'svg' ? QRCodeSVG : QRCodeCanvas;\n return React.createElement(Component, otherProps);\n};\n\nQRCode.defaultProps = _objectSpread({\n renderAs: 'canvas'\n}, DEFAULT_PROPS);\nmodule.exports = QRCode;","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","function _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\nvar ReCAPTCHA =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReCAPTCHA, _React$Component);\n\n function ReCAPTCHA() {\n var _this;\n\n _this = _React$Component.call(this) || this;\n _this.handleExpired = _this.handleExpired.bind(_assertThisInitialized(_this));\n _this.handleErrored = _this.handleErrored.bind(_assertThisInitialized(_this));\n _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));\n _this.handleRecaptchaRef = _this.handleRecaptchaRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = ReCAPTCHA.prototype;\n\n _proto.getValue = function getValue() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this.props.grecaptcha.getResponse(this._widgetId);\n }\n\n return null;\n };\n\n _proto.getWidgetId = function getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n\n return null;\n };\n\n _proto.execute = function execute() {\n var grecaptcha = this.props.grecaptcha;\n\n if (grecaptcha && this._widgetId !== undefined) {\n return grecaptcha.execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n };\n\n _proto.executeAsync = function executeAsync() {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2.executionResolve = resolve;\n _this2.executionReject = reject;\n\n _this2.execute();\n });\n };\n\n _proto.reset = function reset() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n this.props.grecaptcha.reset(this._widgetId);\n }\n };\n\n _proto.handleExpired = function handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n };\n\n _proto.handleErrored = function handleErrored() {\n if (this.props.onErrored) {\n this.props.onErrored();\n }\n\n if (this.executionReject) {\n this.executionReject();\n delete this.executionResolve;\n delete this.executionReject;\n }\n };\n\n _proto.handleChange = function handleChange(token) {\n if (this.props.onChange) {\n this.props.onChange(token);\n }\n\n if (this.executionResolve) {\n this.executionResolve(token);\n delete this.executionReject;\n delete this.executionResolve;\n }\n };\n\n _proto.explicitRender = function explicitRender() {\n if (this.props.grecaptcha && this.props.grecaptcha.render && this._widgetId === undefined) {\n var wrapper = document.createElement(\"div\");\n this._widgetId = this.props.grecaptcha.render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge\n });\n this.captcha.appendChild(wrapper);\n }\n\n if (this._executeRequested && this.props.grecaptcha && this._widgetId !== undefined) {\n this._executeRequested = false;\n this.execute();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.explicitRender();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.explicitRender();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._widgetId !== undefined) {\n this.delayOfCaptchaIframeRemoving();\n this.reset();\n }\n };\n\n _proto.delayOfCaptchaIframeRemoving = function delayOfCaptchaIframeRemoving() {\n var temporaryNode = document.createElement(\"div\");\n document.body.appendChild(temporaryNode);\n temporaryNode.style.display = \"none\"; // move of the recaptcha to a temporary node\n\n while (this.captcha.firstChild) {\n temporaryNode.appendChild(this.captcha.firstChild);\n } // delete the temporary node after reset will be done\n\n\n setTimeout(function () {\n document.body.removeChild(temporaryNode);\n }, 5000);\n };\n\n _proto.handleRecaptchaRef = function handleRecaptchaRef(elem) {\n this.captcha = elem;\n };\n\n _proto.render = function render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n\n /* eslint-disable no-unused-vars */\n var _this$props = this.props,\n sitekey = _this$props.sitekey,\n onChange = _this$props.onChange,\n theme = _this$props.theme,\n type = _this$props.type,\n tabindex = _this$props.tabindex,\n onExpired = _this$props.onExpired,\n onErrored = _this$props.onErrored,\n size = _this$props.size,\n stoken = _this$props.stoken,\n grecaptcha = _this$props.grecaptcha,\n badge = _this$props.badge,\n hl = _this$props.hl,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"sitekey\", \"onChange\", \"theme\", \"type\", \"tabindex\", \"onExpired\", \"onErrored\", \"size\", \"stoken\", \"grecaptcha\", \"badge\", \"hl\"]);\n /* eslint-enable no-unused-vars */\n\n\n return React.createElement(\"div\", _extends({}, childProps, {\n ref: this.handleRecaptchaRef\n }));\n };\n\n return ReCAPTCHA;\n}(React.Component);\n\nexport { ReCAPTCHA as default };\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"])\n};\nReCAPTCHA.defaultProps = {\n onChange: function onChange() {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\"\n};","function _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Component, createElement, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nvar SCRIPT_MAP = {}; // A counter used to generate a unique id for each component that uses the function\n\nvar idCount = 0;\nexport default function makeAsyncScript(getScriptURL, options) {\n options = options || {};\n return function wrapWithAsyncScript(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n\n var AsyncScriptLoader =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(AsyncScriptLoader, _Component);\n\n function AsyncScriptLoader(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.state = {};\n _this.__scriptURL = \"\";\n return _this;\n }\n\n var _proto = AsyncScriptLoader.prototype;\n\n _proto.asyncScriptLoaderGetScriptLoaderID = function asyncScriptLoaderGetScriptLoaderID() {\n if (!this.__scriptLoaderID) {\n this.__scriptLoaderID = \"async-script-loader-\" + idCount++;\n }\n\n return this.__scriptLoaderID;\n };\n\n _proto.setupScriptURL = function setupScriptURL() {\n this.__scriptURL = typeof getScriptURL === \"function\" ? getScriptURL() : getScriptURL;\n return this.__scriptURL;\n };\n\n _proto.asyncScriptLoaderHandleLoad = function asyncScriptLoaderHandleLoad(state) {\n var _this2 = this;\n\n // use reacts setState callback to fire props.asyncScriptOnLoad with new state/entry\n this.setState(state, function () {\n return _this2.props.asyncScriptOnLoad && _this2.props.asyncScriptOnLoad(_this2.state);\n });\n };\n\n _proto.asyncScriptLoaderTriggerOnScriptLoaded = function asyncScriptLoaderTriggerOnScriptLoaded() {\n var mapEntry = SCRIPT_MAP[this.__scriptURL];\n\n if (!mapEntry || !mapEntry.loaded) {\n throw new Error(\"Script is not loaded.\");\n }\n\n for (var obsKey in mapEntry.observers) {\n mapEntry.observers[obsKey](mapEntry);\n }\n\n delete window[options.callbackName];\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this3 = this;\n\n var scriptURL = this.setupScriptURL();\n var key = this.asyncScriptLoaderGetScriptLoaderID();\n var _options = options,\n globalName = _options.globalName,\n callbackName = _options.callbackName,\n scriptId = _options.scriptId; // check if global object already attached to window\n\n if (globalName && typeof window[globalName] !== \"undefined\") {\n SCRIPT_MAP[scriptURL] = {\n loaded: true,\n observers: {}\n };\n } // check if script loading already\n\n\n if (SCRIPT_MAP[scriptURL]) {\n var entry = SCRIPT_MAP[scriptURL]; // if loaded or errored then \"finish\"\n\n if (entry && (entry.loaded || entry.errored)) {\n this.asyncScriptLoaderHandleLoad(entry);\n return;\n } // if still loading then callback to observer queue\n\n\n entry.observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n return;\n }\n /*\n * hasn't started loading\n * start the \"magic\"\n * setup script to load and observers\n */\n\n\n var observers = {};\n\n observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n SCRIPT_MAP[scriptURL] = {\n loaded: false,\n observers: observers\n };\n var script = document.createElement(\"script\");\n script.src = scriptURL;\n script.async = true;\n\n for (var attribute in options.attributes) {\n script.setAttribute(attribute, options.attributes[attribute]);\n }\n\n if (scriptId) {\n script.id = scriptId;\n }\n\n var callObserverFuncAndRemoveObserver = function callObserverFuncAndRemoveObserver(func) {\n if (SCRIPT_MAP[scriptURL]) {\n var mapEntry = SCRIPT_MAP[scriptURL];\n var observersMap = mapEntry.observers;\n\n for (var obsKey in observersMap) {\n if (func(observersMap[obsKey])) {\n delete observersMap[obsKey];\n }\n }\n }\n };\n\n if (callbackName && typeof window !== \"undefined\") {\n window[callbackName] = function () {\n return _this3.asyncScriptLoaderTriggerOnScriptLoaded();\n };\n }\n\n script.onload = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.loaded = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n if (callbackName) {\n return false;\n }\n\n observer(mapEntry);\n return true;\n });\n }\n };\n\n script.onerror = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.errored = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n observer(mapEntry);\n return true;\n });\n }\n };\n\n document.body.appendChild(script);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Remove tag script\n var scriptURL = this.__scriptURL;\n\n if (options.removeOnUnmount === true) {\n var allScripts = document.getElementsByTagName(\"script\");\n\n for (var i = 0; i < allScripts.length; i += 1) {\n if (allScripts[i].src.indexOf(scriptURL) > -1) {\n if (allScripts[i].parentNode) {\n allScripts[i].parentNode.removeChild(allScripts[i]);\n }\n }\n }\n } // Clean the observer entry\n\n\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n delete mapEntry.observers[this.asyncScriptLoaderGetScriptLoaderID()];\n\n if (options.removeOnUnmount === true) {\n delete SCRIPT_MAP[scriptURL];\n }\n }\n };\n\n _proto.render = function render() {\n var globalName = options.globalName; // remove asyncScriptOnLoad from childProps\n\n var _this$props = this.props,\n asyncScriptOnLoad = _this$props.asyncScriptOnLoad,\n forwardedRef = _this$props.forwardedRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"asyncScriptOnLoad\", \"forwardedRef\"]); // eslint-disable-line no-unused-vars\n\n\n if (globalName && typeof window !== \"undefined\") {\n childProps[globalName] = typeof window[globalName] !== \"undefined\" ? window[globalName] : undefined;\n }\n\n childProps.ref = forwardedRef;\n return createElement(WrappedComponent, childProps);\n };\n\n return AsyncScriptLoader;\n }(Component); // Note the second param \"ref\" provided by React.forwardRef.\n // We can pass it along to AsyncScriptLoader as a regular prop, e.g. \"forwardedRef\"\n // And it can then be attached to the Component.\n\n\n var ForwardedComponent = forwardRef(function (props, ref) {\n return createElement(AsyncScriptLoader, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n ForwardedComponent.displayName = \"AsyncScriptLoader(\" + wrappedComponentName + \")\";\n ForwardedComponent.propTypes = {\n asyncScriptOnLoad: PropTypes.func\n };\n return hoistStatics(ForwardedComponent, WrappedComponent);\n };\n}","import ReCAPTCHA from \"./recaptcha\";\nimport makeAsyncScriptLoader from \"react-async-script\";\nvar callbackName = \"onloadcallback\";\nvar globalName = \"grecaptcha\";\n\nfunction getOptions() {\n return typeof window !== \"undefined\" && window.recaptchaOptions || {};\n}\n\nfunction getURL() {\n var dynamicOptions = getOptions();\n var hostname = dynamicOptions.useRecaptchaNet ? \"recaptcha.net\" : \"www.google.com\";\n return \"https://\" + hostname + \"/recaptcha/api.js?onload=\" + callbackName + \"&render=explicit\";\n}\n\nexport default makeAsyncScriptLoader(getURL, {\n callbackName: callbackName,\n globalName: globalName\n})(ReCAPTCHA);","import RecaptchaWrapper from \"./recaptcha-wrapper\";\nimport ReCAPTCHA from \"./recaptcha\";\nexport default RecaptchaWrapper;\nexport { ReCAPTCHA };","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n"],"sourceRoot":""}
|